Agent Teslaの感染に利用されるステガノグラフィの分析

Agent Teslaと呼ばれるマルウェアに感染させる攻撃方法の分析レポートがMcAfeeより公開されていました。

www.mcafee.com

そのなかで、Agent Teslaはステガノグラフィと呼ばれる、画像の中にマルウェアを埋め込む手法が使われているとのことで、画像ファイルを見てみました。

まず画像ファイルを開くと、以下のように一見普通の画像が表示されます。

次に、jpegdumpと呼ばれるツールを使って中身を見てみます。

github.com

中身を見ると、セグメント1のところにStart Of Image (SOI) 、セグメント12のところに対となるEnd Of Image (EOI)が確認でき、JPEGイメージが埋め込まれていることがわかります。次に注目するところとして、End Of Image (EOI)の後のセグメント13で約3MB(3,322,570 byte)の巨大なデータが存在していることがわかります。そのため、対象部分に不正なコードが埋め込まれている可能性が高いと思われるため、抽出して見てみます。

$ python jpegdump.py 21c5d3ef06d8cff43816a10a37ba1804a764b7b31fe1eb3b82c144515297875f.jpg -s 13 | head
0005596E: 3C 3C 42 41 53 45 36 34  5F 53 54 41 52 54 3E 3E  <<BASE64_START>>
0005597E: 54 56 71 51 41 41 4D 41  41 41 41 45 41 41 41 41  TVqQAAMAAAAEAAAA
0005598E: 2F 2F 38 41 41 4C 67 41  41 41 41 41 41 41 41 41  //8AALgAAAAAAAAA
0005599E: 51 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  QAAAAAAAAAAAAAAA
000559AE: 41 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
000559BE: 41 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
000559CE: 67 41 41 41 41 41 34 66  75 67 34 41 74 41 6E 4E  gAAAAA4fug4AtAnN
000559DE: 49 62 67 42 54 4D 30 68  56 47 68 70 63 79 42 77  IbgBTM0hVGhpcyBw
000559EE: 63 6D 39 6E 63 6D 46 74  49 47 4E 68 62 6D 35 76  cm9ncmFtIGNhbm5v
000559FE: 64 43 42 69 5A 53 42 79  64 57 34 67 61 57 34 67  dCBiZSBydW4gaW4g

$ python jpegdump.py 21c5d3ef06d8cff43816a10a37ba1804a764b7b31fe1eb3b82c144515297875f.jpg -s 13 | tail
00380B9E: 41 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
00380BAE: 41 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
00380BBE: 41 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
00380BCE: 41 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
00380BDE: 41 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
00380BEE: 41 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
00380BFE: 41 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
00380C0E: 41 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
00380C1E: 41 41 41 41 41 41 41 41  41 41 41 3D 3C 3C 42 41  AAAAAAAAAAA=<<BA
00380C2E: 53 45 36 34 5F 45 4E 44  3E 3E                    SE64_END>>

中身を見ると、McAfeeの分析レポートにあった通り、マーカーとして<<BASE64_START>>と<<BASE64_END>>を用いて、BASE64文字列が埋め込まれていることが確認できます。

後は対象の文字列部分をBASE64でデコードすることで、埋め込まれているDLLファイルを確認できます。

https://www.virustotal.com/gui/file/b2d667caa6f3deec506e27a5f40971cb344b6edcfe6182002f1e91ce9167327f

ステガノグラフィを用いた不正なJPEGファイルを分析する際には、jpegdumpと呼ばれるツールが便利かもしれません。