UBoatRAT(解析)

はじめに

元ネタはこれ.

researchcenter.paloaltonetworks.com

今更だけどちょっと興味のある箇所があったので実際に解析してみた.

検体

・ドロッパー : f4c659238ffab95e87894d2c556f887774dce2431e8cb87f881df4e4d26253a3

・UBoatRAT : 460328fe57110fc01837d80c0519fb99ea4a35ea5b890785d1e88c91bea9ade5

ドロッパー

・UPXでパックされているためアンパックしてやると読めるようになる.

解析環境の検知として2種類の方法を取っている. 詳細はソースコード参照.

  • AntiVM(qemu, virtual, vmware)
  • ※VirutalBoxだと"vbox harddisk"となるので検知不可:(
  • ネットワークのドメイン
f:id:kmdnet:20180213143308p:plain

以下ソースコード

UboatRAT

必要なところだけ

アンチデバッグ機構がDropperと全く同じなので, ドメイン名を適当に埋めてやり, VirtualBox上で解析を行うと, とりあえず動くようになる.

  • ShellExecuteW(NULL,L"open",L"cmd.exe" ,L"/c c:\\programdata\\init.bat", NULL,SW_HIDE);
  • ShellExecuteW(NULL,L"open", L"(同一のパス&ファイル名).xlsx", NULL, NULL, SW_SHOW);

%programdata%\\init.bat

f:id:kmdnet:20180216221843p:plain

%programdata%\\init.batの中身

f:id:kmdnet:20180216221917p:plain

 

ちょっとした補足

uninstall?

"unst"という引数で以下の処理を行うように作られていた

f:id:kmdnet:20180216222656p:plain

デバッグ

デバッグする際にShellExecuteW, GetNetworkParamsあたりを見ておくと幸せになれるかも.

所感

cmd /c...