Japan Security Analyst Conference (JSAC) 2021
Tokyo, January 28, 2021
https://jsac.jpcert.or.jp/archive/2021/pdf/JSAC2021_201_haruyama_jp.pdf
(Japanese slides)
https://www.youtube.com/watch?v=kOE9F2_NRgs
Cobalt Strikeは、標的型攻撃をシミュレーションするための商用ソフトウェアであり、レッドチームの業務で用いられている一方、攻撃者にそれを悪用されるケースが近年増えてきている。IoCとして重要となるマルウェアのC2サーバのアドレスは、通常検体の解析によって得ることができるが、Cobalt Strikeの検体(Beacon)はファイルレスにメモリ上のみで実行されることが多く、その取得自体が難しい。また、検体を取得・解析するのは、既にある程度の侵害を受けた後であり、攻撃者に対して後手に回っている感は否めない。
本プレゼンテーションでは、稼働中のCobalt Strikeのチームサーバを、インターネット上から直接発見する手法について発表する。本手法は、Cobalt Strikeが用いるHTTP/HTTPS/DNS/ExternalC2といった複数のプロトコルをエミュレーションし、チームサーバの発見のみに止まらず、そこからのBeaconの取得およびコンフィグのパースを実施する。その結果、本手法は従来手法に比べ、HTTP/HTTPSのプロトコルに限定されない、誤検知がない、単なるIPアドレス以上の脅威情報の収集が可能等の利点を持つ。なお、本手法では、認証のようなセキュリティ機構の回避は一切行っていない。
本プレゼンテーションでは、まず最初にCobalt Strikeがサポートする各プロトコルの詳細を解説する。その上で、本手法に至るアプローチおよび実装のポイントを示す。その後、収集したチームサーバのIPアドレスをコンフィグの情報に基づいてグルーピングする方法を紹介し、Cobalt Strikeが用いられていた公開事例において、同じ攻撃者が使っていたと推測される非公開のIoC情報を明らかにする。また、約1年間の観測で得られた、サーバの設定の傾向等についても触れる。
正規のレッドチームと攻撃者の区別がつかないため、本手法によって得た脅威情報を全て共有することは難しいが、本リサーチの過程で得られた知見は、標的型攻撃と戦うアナリスト、および進行中の(時には準備中の)脅威を検出するためのExternal Detectionの可能性を模索するリサーチャーにとって、有益な内容になると確信している。
Cobalt Strike is a commercial software for simulating APT attacks, and it is intended for red team operations. However, the software is increasingly leveraged by attackers recently. While the address of malware’s C2 server, which is important as a part of IoC, can be obtained through general sample analysis, it is difficult to obtain a sample of Cobalt Strike (Beacon) because it is often executed only on memory, without creating a file on storage. Furthermore, samples are usually obtained and analyzed after the target is compromised, and thus attackers leave the analysts one step behind.
This presentation introduces the method to find an operating Cobalt Strike team server directly on the Internet. This method emulates multiple protocols which Cobalt Strike uses such as HTTP, HTTPS, DNS, and ExternalC2. In addition to finding team servers, this method obtains Beacon and parses the configuration file. In this way, analysts can cover more protocols, not only HTTP and HTTPS, avoid false positives, and obtain more detailed threat information than just IP addresses. The method does not avoid any security feature such as authentication.
This presentation first gives the detailed explanation of each protocol which Cobalt Strike supports. Secondly, the presenter describes how he reached this approach and also shows the points to consider when implementing the said method. After that, the way to categorize obtained team server IP addresses based on configuration information is introduced. Finally, the presenter demonstrates this method by detecting non-public IoC information possibly used in a publicly disclosed attack case in the past, and the trend of server configuration gained through a-year-long observation is also presented.
It is difficult to share all the threat information obtained through this method because it cannot distinguish legitimate red teams from attackers. However, the insights gained through this research will be meaningful to analysts who fight against APT attacks and researchers who seek the possibility of external detection of ongoing and/or potential threats.