サーベイ それは悠久の流れ

This blog is for my knowledge

writeup:Anatomy_malware_seccan_WS_2018

感想

「新たな知識を得れた」というより「知識を得れることができる知識を大量に得れた」です! ずっと受けてみたかった講義を東京∧交通費支給でよかったです><

下の方には当日までの事前課題のメモです

勉強会当日

当日は大手町で迷ったくらい

内容

  • 軽く自己紹介タイム

  • 事前課題の復習と良かった点

  • 最近の有名なインシデント

  • 基礎知識のスライドたくさん

  • unpackingや暗号方式のスライド

  • idb渡されて解析

  • COM interface

  • idbのBOT Commandの解析

  • 最後にまとめのコメント

流れはこんな感じでした

スライドの内容に関しては、二次配布等は禁止っぽいので↓に適当にメモしたものを載せておきます

当日適当にメモ

Botnetを落とすことで世界のためになるね

malware analysis セキュリティを意識 解析する本人

検体を渡す理由

効率的な解析方法

コメント 日本語MSゴシック

シンボリック実行

デジタル署名に基づいて信頼できると判断

PEファイルの最後にデジタル署名

PEファイルは後ろになんでも付与できる

DLL

DLLは関数の集まり

DLLがloaded,unloadedされたときに動作

IDAのピンクが連続している時はDLLの関数に飛ぶ

VM

仮想メモリ

User space

Kernel space 2GBずつ割り当てられているように見えるが帯のように一体

PE in VM

headerをパースして少し余裕をもたせて展開

IDAはVM上に展開されたような状態でPEをパース

IDAの?は余裕もたせたものの情報が無い時

Process and Thread

CPUでいくつかの

呼び出し規約

Wikipedia 見る

win APIとかだとcallしたあとに次の動作に移るが、callは残る

リバースエンジニアリングバイブルに書いてあるような

__stdcall

__fastcall

__cdecl

スタックで渡しかレジスタかの違い

malware unpack

https://www.jpcert.or.jp/present/2014/20140424ssmjp.pdf

reference

https://software.intel.com/en-us/articles/intel-sdm

winAPI

winAPI

MSDN lib

offline can use MSDN doc

ググる

API

文字列

エンコード文字列

main function

IDA free とかはmain Function を探す

Ctrl Eでexport

startからMain Function

six sense

演習

time is money

Talk with IDA

「IDAと話せない奴はクズだ!!」

ELIRKS解析

COM interface

オブジェクト指向っぽい書き方ができる

winAPI

CoInitializeEx

CoCreateInstance

最後

AIや機械学習で 静的解析の死後

勉強会に行くまで

久しぶりにサイボウズLive開いたらいっぱいメール届いてて適当に開いたらセキュキャンの全国大会のマルウェア講義するの?行く!となりました。でよく見たら東京まで交通費支給でプラスαあるとのことで応募資料作成しました。

応募資料(公開できる範囲で)

名称

EternalRomance,TROJ_ETERNALROM.A,CVE-2017-0145 SHA-256 b99c3cc1acbb085c9a895a8c3510f6daaf31f0d2d9ccb8477c7fb7119376f57b

EternalRomanceの解析出来たらいいのにニャ~

https://hackmd.io/6mDawJL6TtexxNo13zYtIw

被害

EternalRomance単体での感染や被害は確認できなかったため、BadRabbitの被害とします。 ランサムウェアであるWannaCryやBadRabbitにも使用され被害は甚大ですが特にネットで有名だったのが、アイカ工業のカタログを閲覧したPCからの感染、コンテンツの改竄です。改竄によりランサムウェアの拡散に悪用されたそうです。 WannaCryやBadRabbitの被害は調べたところ、サイトにより違いました。また、EternalRomanceはpetyaにコードが似ているや別のマルウェアであるなどの解析レポートによって意見の相違が多く見受けられました。

選んだ理由

最初は、初めて自分の中で綺麗にRootが取れたexploitのEternalblue-Doublepulsar-Metasploitを調べようとしたのですが、MetasploitでEternalblueとDoublepulsarを読み込んでいたrubyだけでした。 EternalBlueとDoublepulsarを解析できる技術がなかったです EXPLOITDATABASEで2018-02-05にpublishされたmetasploitのSMB Remote code Executionがあったことと、 EternalRomanceはWannaCryやBadRabbitにも使われているのにサイトでどのような動作が行われるのかあまり書いておらず気になっていたのでこのマルウェアにしました。

事前課題

セキュリティ・キャンプ全国大会2015でのマルウエア分析講義(2015-09-10)

https://www.jpcert.or.jp/magazine/acreport-seccamp.html

これのmalware_sample3.idbを見てコメントとか

あとはURLのPDFみて「なるほどな~」って言います

事前課題なんですが提出期限まで別の検体を間違って見ていて、課題のidbは2時間くらいしか見ていませんでした。最初からみていってcallで飛んでいるところを見ていくとOSのタイプやdelete(typoしてる...)みたいなコードがあったのでFunctionをNでrenameした感じです。

IDAも最近は全く触っておらずショートカットもググりながらのレベルでした。あと、IDA freeの7.0が使えなくて5.0を使うことになったのがfontや見た目の面で辛かったですね

f:id:melancholy_security:20180325174413p:plain