anticuckoo
Cuckoo Sandboxを検出およびクラッシュさせるツール。Cuckoo Sandbox Official および Accuvant's Cuckoo version でテスト済み。
寄付をご検討ください: https://github.com/sponsors/therealdreg
AnticuckooはFireEyeなどの他のサンドボックスを検出することもできます (-c2):

Reddit / netsecでのanticuckooに関する議論
機能
- 検出:
- Cuckooフックの検出(あらゆる種類のCuckooフック)
- 自身のメモリ内の不審なデータ(APIを使用せず、ページ単位のスキャン)
- クラッシュ(引数を指定して実行)(サンドボックス外ではこれらの引数はプログラムをクラッシュさせません):
- -c1: フックされたAPIのRET N命令をより大きな値に変更する。次にそのAPIが呼び出されると、スタックに多くの引数がプッシュされる。フックされたAPIがCuckooのHookHandlerから呼び出された場合、実際のAPI引数のみをプッシュするため、変更されたRET N命令がHookHandlerのスタックを破壊し、プログラムがクラッシュする。
- -c2: Cuckoomonがプロセス内でスレッドを実行する。ツールが新しいスレッドを検出した時にクラッシュ!
- -c3: 古いスタック領域でフックハンドラのアクティビティを検出した時にクラッシュ。
オーバーキル手法は便利な場合があります。例えば、オーバーキル手法を使用すると、検出/クラッシュと「一種のSleep」(Cuckoomonは長いSleep呼び出しをバイパスする)の2つの機能を同時に得られます。
Crash POCはデモンストレーションに過ぎません。実際のマルウェアは、このコードを使用してCuckooをクラッシュさせずに検出することもできます。例えば、例外やespなどをチェックするだけで、その後は役に立たないコードを実行します。
TODOリスト
Cuckoo検出
Release/anticuckoo.exeをCuckoo Sandboxに提出して解析します。スクリーンショット(コンソール出力)を確認してください。サマリーの「Accesed Files」も確認できます:

サマリー内のAccesed Files(djangoウェブ):

Cuckooクラッシュ
提出オプションでクラッシュ引数を指定します。例: -c1(djangoウェブ経由):

スクリーンショット/RDP接続/whatson接続 でクラッシュを確認してください。例: RDP経由での -c1:

TODO
- Pythonプロセスとagent.pyの検出 - 70%完了
- 既知の場所(例えば、ネイティブAPIは常に同じシグネチャを持つなど)での正しいバイトの確認によるフック検出の改善
- CuckooのTLSエントリ検出
新しいアイデアやPRは歓迎します。
参照文献
- Evasive Malware Understanding Deceptive and Self-Defending Threats by Kyle Cucci https://nostarch.com/evasive-malware
- Stealthy, Hypervisor-based Malware Analysis - Tamas K Lengyel: https://www.slideshare.net/tklengyel/stealthy-hypervisorbased-malware-analysis
- Brad Spengler (grsecurity) のコメント: https://github.com/brad-sp/community-modified/commit/29587d691242a9ba890877f623fdf2447fe4336f
- Reddit / netsecでのanticuckooに関する議論: https://www.reddit.com/r/netsec/comments/3atvmb/anticuckoo_a_tool_to_detect_and_crash_cuckoo/
- Multiple Instance Learning for Malware Classification - Jan Stiborek, Tomáš Pevný, Martin Rehák: https://arxiv.org/pdf/1705.02268.pdf
- To Catch a Ratter: Monitoring the Behavior of Amateur DarkComet RAT Operators in the Wild - Brown Farinholt, Mohammad Rezaeirad, Paul Pearce, Hitesh Dharmdasani, Haikuo Yin, Stevens Le Blondk, Damon McCoy, Kirill Levchenko: http://damonmccoy.com/papers/rat-sp17.pdf
- Hack&Beers Cadiz Análisis de Malware Cuckoo Sandbox - Mario Alberto Parra Alonso: https://www.slideshare.net/MarioAlbertoParraAlo/hackbeers-cadiz-anlisis-de-malware-cuckoo-sandbox
- Defense in Depth: Detonation Technologies: http://blog.inquest.net/blog/2018/03/12/defense-in-depth-detonation-technologies/
- Dynamic Reconfiguration of Intrusion Detection Systems - Jan Stiborek: https://dspace.cvut.cz/bitstream/handle/10467/73562/Disertace_Stiborek_2017.pdf
- New Dynamic Bypass Technique Working in Certain Environments Only: https://asec.ahnlab.com/en/16540/