LoginSignup
0
0

More than 1 year has passed since last update.

Practical Malware Analysis Lab1 writeup

Last updated at Posted at 2021-04-29

リソース

無料PDF:Practical Malware Analysis
Lab(上記PDF付属のマルウェア検体):ここからDLしたものを実行
解析環境:Win10のEdgeテスト用のVMにFlareVMいれたものをVirtualBox上で動かしてる。(YoutubeのMalwareAnalysisBootcampの環境)

Lab 1-1

Q1: VirusTotalでの解析

image.png
トロイの木馬っぽい。

Q2: コンパイルがいつされたか?

コンパイルされた情報はインシデントレスポンスに使えたり、日時が同じなら同じマルウェアっぽいみたいな考察に使える。
この情報はPEヘッダのIMAGE_FILE_HEADERから読み取り可能(偽装されてる可能性もあるが)。
image.png
2010/12/19っぽい。

Q3: packerや難読化の有無

stringやimport/export情報が明らかに少ないならされてる可能性大。とりあえずPEiDが自動検出してくれるので、使う。
image.png
Visual C++ 6.0 なのでおそらくされてない。
続いてImport/Export情報を確認。
image.png
エクスポート無しでインポート6個... 少ないと思ったが解説見ると小さいプログラムってことらしい。
ちなみにこのimport/exportは.rdataにあり、PEviewでも見れるがpestudioのほうが圧倒的に見やすい。
また、文字列情報も一応確認してみる(実行ファイルを右クリックしてstringsを選択)。
image.png
まぁ難読化はされてないっぽい。

Q4: Importからのマルウェアの動作の推測

.exeの方

まず関数のライブラリだけみると、kernel32.dllとmsvcrt.dllしか使ってない。

  • kernel32.dll:メモリ/ファイル/ハードウェアなどの操作をする基本的なやつ
  • msvcrt.dll:どの実行ファイルでも使われてるらしいので無視

次に関数を見てみると、どうやらファイル操作関連が多く、教材取り上げられていた FindFirstFile/FindNextFile もあることから、このマルウェアはファイルを探索したり作成したりできるっぽい。
image.png

.dllの方

image.png
こっちはどうやらネットワーク関連のimportが多い。あとCreateProccessもある。
stringも見てみると、
image.png
どうやらIPっぽいのが書いてあり、ここと通信してるのかなと思ったり。

Q5: host-baseシグネチャとなる特徴的な情報の探索

他に感染したPCを特定するために、host-baseシグネチャとなるものはないかを探す問題かな。
シグネチャ作るならstring情報とか使えそうだしみてみると、kerne 1 32.dll という文字列がある。
image.png
これとか特徴的だしシグネチャとして有用っぽい

Q6: network-baseシグネチャとなる特徴的な情報の探索

先程stringsで見つけた127.26.152.13のIPアドレスがシグネチャとして使えそう。

Q7: このマルウェアの種類の推測

CreateProcess+SleepのコンビはよくBackdoorとして使われるらしく、stringsとしてexecとsleepがあったらバックドアっぽいと睨むらしいのでみてみる。
image.png
あったので、たぶんバックドア作る系、VT結果からみてやはりトロイの木馬っぽい。


Lab 1-2

Q1: VirusTotalでの解析

image.png
いつもTrojanな気が...

Q2: パッカー/難読化の有無

PEiDではNothingFoundだったが、pestudioでみたらUPXとか書いてあるからUPXっぽい。
image.png
import/exportも少ないので確実にPackedされてる。UPXなので、以下のコマンドでアンパックする。
image.png

Q3: Importからのマルウェアの機能の解析

kernel32.dll/msvcrt.dllはいつも入ってるとして、特徴的なのは以下。

  • wininet.dll:InternetOpenやInternetOpenURLによりインターネット接続してる
  • advapi32.dll:ServiceManagerやレジストリを扱うライブラリで、今回CreateServiceなどがある

string情報を見てURLやサービス名が無いか探すとあった。
image.png
他にも "Malservice" のような文字列があった。

Q4: host-base/network-baseシグネチャとして使えそうな情報の探索

Q3でみたようにhostでは "Malservice" 、networkならURLがシグネチャとして使えそう。


Lab 1-3

Q1: VirusTotalでの解析

image.png
相変わらずのTrojanとSpywareという結果もある。(Flareなら右クリックしてVirusTotalもできる)

Q2: パッカー/難読化の有無

明らかにimport数が少ないのと、PEiDによると、
image.png
FSGでパッキングされてるが、アンパックの手段が無い。アンパックできないなら次もう進めん。


Lab 1-4

Q1: VirusTotal解析結果

image.png
Trojanだがいつもより検知数が少ない。

Q2: パッカー/難読化の有無

PEiDだと Visual C++ 6.0 なのでパッキング無し!

Q3: タイムスタンプの確認

pestudioの file header 確認すると 2019/8/30 で、この教材の古さからしたら未来すぎるので改ざんされてるのかもしれない。

Q4: Importからのマルウェアの機能の解析

image.png
ライブラリに関しては kernel32.dll/advapi32.dll/msvcrt.dll しか無い。
関数名を見るとPrivilegeとあるので権限周りでなにかすることがわかる。また、組み合わせると以下の流れだと考えられる。

  1. LordResourceなどでresourceセクションから何らかのデータを読み込む
  2. CreateFile/MoveFileなどでファイルに書き込む
  3. WinExecで実行する

また、GetWindowsDirectoryがあることからSystemディレクトリに書き込むではと推測できる。

Q5: host/network-basedシグネチャに使えそうな情報

image.png
このURLだとかwupdmgr.exeなどのパスなど使えそう。

Q6: Resourceの解析

Resourceから何らかのデータを取ってきているのでResourceHackerで見てみる。
image.png
どうやら実行ファイルがResourceセクションがあるようなので、Action > Save Resource to a BIN file してみて、再びpestudioで開いてみる。
image.png
特徴的なのはURLDownloadToFileAでWinExecもあることから、ダウンローダであると推測できる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0