Agent Teslaと呼ばれるマルウェアに感染させる攻撃方法の分析レポートがMcAfeeより公開されていました。
そのなかで、Agent Teslaはステガノグラフィと呼ばれる、画像の中にマルウェアを埋め込む手法が使われているとのことで、画像ファイルを見てみました。
まず画像ファイルを開くと、以下のように一見普通の画像が表示されます。
次に、jpegdumpと呼ばれるツールを使って中身を見てみます。
中身を見ると、セグメント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