W32/Kryptik.AX!tr - FTP情報を盗む、巧みなトロイの木馬

数日前、興味深いEメールを受け取りました。

Kryptik_1

典型的なフィッシングメールでした。いつもなら、当ラボのシグネチャ自動プロセッサに入れて、次の不正コードへと移るところです。しかし、このメールに興味をそそられました。数時間のうちに、これと似た他のサンプルがいくつか送られてきました。1、2時間ほど時間に余裕がありましたので、よく見てみることにしたのです。

このマルウェアはUPXで圧縮されていました。解凍してみると、エミュレーションを防止するための独自メカニズムが入っていました。

Kryptik_2

これはかなり興味深いと思いました。このようによく構成され、見事に書かれたマルウェアは、最近あまり見かけません。初期の頃のハッキングチームやグループの時代は終わり、今やサイバークリミナルたちは、収益の可能性を最大限に高めるためにできる限り迅速に、多くのマルウェアを送り出すことに必死です。今日の大半のマルウェアには、初期の頃のマルウェアにあった、ある種の"一流さ"がありません。

このマルウェアは、最近のコーディングスタイルとは一線を画しています。つまりよく構成されており、実にうまく書かれているのです。呼び出し転送さえ巧みです! 下の例をご覧ください。

Kryptik_3

安易にCALL[ADDRESS]を使うのではなく、PUSH/RETNのコンビネーションが使われています。

さらに、

Kryptik_4

このマルウェアのコードのほとんどは、感染したホストのFTPサーバの詳細を集めるという目的のためにつくられているようです。このマルウェアはそれだけにこだわっているのです!

このマルウェアは下記を含む、多くの人気FTPプログラムを監視しています。

  • Far FTP
  • GhislerのWindows CommanderとTotal Commander
  • WS_FTP
  • GlobalSCAPE CuteFTP
  • FlashFXP

このマルウェアは非常に入念な方法でFTP情報を取得します。.iniあるいは.datファイルのパスを得るために、Windowsレジストリのクエリを行います。また、レジストリのサブキーを介して、特定のFTPクライアントアプリケーションに関する実際のホスト、ユーザ名、パスワードのクエリも行います。また、可能な限りShSpecialFolderをチェックし、一般的なFTPクライアントディレクトリの存在を確認し、その後手動で.iniと.datファイルの両方を検索します。

例をいくつか挙げてみましょう。

CuteFTPの場合、Windowsレジストリのクエリを行います。

Kryptik_5

また、レジストリのクエリだけでなく、下記のように特定のフォルダをパースします。

%CurrentUser%\Application Data\
%All Users%\Application Data\
%CurrentUser%\Local Settings\Application Data\
%Program Files% 

CuteFTPの.datファイル(sm.dat - サイトマネージャ データファイル)を検索することで、このマルウェアはCuteFTP Pro、CuteFTP、CuteFTP Liteすべてを網羅することができます。また、QCHistory のレジストリエントリのクエリを行うことで、CuteFTPのQCToolbarのバージョン6、7、8(Homeエディション、Professionalエディションともに)すべてを網羅しています。

GhislerのWindows CommanderとTotal Commanderの場合:

Kryptik_6

このマルウェアは、どちらのバージョンの場合もwcx_ftp.iniファイルの入っているftpIniNameとInstallDirのクエリを行い、レジストリを慎重に検索します。

また、Far FTPの情報を求めてレジストリをチェックし、UserName、Password、Hostnameのサブキーを回収します。

Kryptik_7

WS_FTPの場合、下記のフォルダを検索して.iniファイルを探します。

%CurrentUser%\Application Data\Sites\
%All Users%\Application Data\Sites\
%CurrentUser%\Local Settings\Application Data\Sites\

Kryptik_8

このマルウェアは上記のディレクトリを検索する際、ShGetFolderPath APIが被害者のホストと互換性がないかどうかも確認します。互換性がない場合、関連レジストリエントリのクエリも行います。このように細部に注意を払うあたりは、非常にすばらしいと言えます。

Kryptik_9

For FlashFXPの場合、HKCU\Software\FlashFXPとHKLM\Software\FlashFXPのレジストリセクションを調べ、それからパス、InstallerDataPath、Install Path、Data Folderを探し、sites.dat、quick.dat、 history.datの場所を検索します。

Kryptik_10

また、すべてを見つけ出せるよう、ShSpecialFoldersを使って同じファイルの検索を行います。

%CurrentUser%\Application Data\FlashFXP\3
%All Users%\Application Data\FlashFXP\3
%CurrentUser%\Local Settings\Application Data\FlashFXP\3
%CurrentUser%\Application Data\FlashFXP\4
%All Users%\Application Data\FlashFXP\4
%CurrentUser%\Local Settings\Application Data\FlashFXP\4

Kryptik_11

このマルウェアの作成者は一般的なFTPクライアント、emailクライアント、ファイルブラウザ、ファイルマネージャプログラムの多くを網羅するという、すばらしい仕事をしています。感染したホストはおそらく、これらのプログラムのうち最低1つを使用していると思われます。

このマルウェアが検索を行うプログラムは以下の通りです。

  • FileZilla
  • FTP Navigator FTP Commander
  • BulletProof FTP
  • SmartFTP
  • TurboFTP
  • Sota FFFTP
  • Coffe Cup Software
  • FTPWare COREFTP
  • FTP Explorer
  • Frigate3 Ftp
  • VanDyke SecureFX
  • UltraFXP
  • FTPRush
  • Cryer WebSitePublisher
  • BitKinex
  • ExpanDrive
  • NCH Software ClassicFTP
  • NCH Software Fling
  • FTPClient SoftX.org
  • GPSoftware Directory Opus
  • CoffeCup Software SharedSettings
  • LeapFTP
  • Martin Prikryl WinSCP
  • 32BitFtp
  • NetDrive
  • South River Technologies WebDrive
  • FTPCON
  • Opera Software Wand.dat
  • AceBIT
  • Rhino Soft FTPVoyager
  • Mozilla FireFox Profiles
  • Mozilla FireFox FireFtpSites
  • Mozilla SeaMonkey
  • Mozilla Flock Browser
  • Mozilla Profiles
  • LeechFTP
  • SiteInfo.QFP
  • WinFTP
  • FTPSurfer
  • FTPGetter
  • Estsoft ALFTP
  • Adobe Common SiteServers
  • DeluxeFTP
  • Google Chrome
  • Chromium
  • ChromePlus
  • Bromium
  • Nichrome
  • Comodo
  • RockMelt
  • K-Meleon
  • Epic
  • Staff-FTP
  • FTP Visicom Media
  • GlobalDownloader
  • FreshFTP
  • BlazeFtp
  • FTP++
  • GoFTP
  • 3D-FTP
  • EasyFTP
  • NetSarang
  • RDP (Remote Desktop Protocol)
  • FTPNow
  • Robo-FTP 3.7
  • LinasFTP
  • Cyberduck
  • Simon Tatham PuTTY
  • NppFTP
  • CoffeeCup FTP Profiles
  • FTPShell
  • MAS Soft FTPInfo
  • NexusFile
  • FastStone Browser
  • MapleStudio ChromePlus
  • Nico Mak Computing WinZip FTP
  • Yandex
  • My FTP
  • Application with ID 74FF1730-B1F2-4D88-926B-1568FAE61DB7
  • INSoftware NovaFTP
  • Microsoft Windows Live Mail
  • Microsoft Windows Mail
  • RimArts Mail
  • Poco Systems Mail
  • IncrediMail
  • RIT Bat Mail
  • Microsoft Internet Account Manager
  • Mozilla Thunder Bird
  • FastTrack

もう1つ注目すべきことは、このマルウェアが上記に挙げたFTPプログラムを呼び出す方法です。このマルウェアは所定アドレスのテーブルを使用し、例えばCall FEEEFEEEなどを使ってフォールトを引き起こして、それぞれのアドレスを呼び出すのです。

Kryptik_13

そしてその後、構造化例外処理(SEH)へのアドレスを参照します。

Kryptik_12

もちろん、このマルウェアはアップデートして新たなバージョンをダウンロードする能力なしには不完全のままです!アップデートをダウンロードするために接続を試みるURLをいくつか挙げてみました。

hxxp://redacted/ponyb/gate.php
hxxp://redacted:8080/ponyb/gate.php
hxxp://redacted/ponyb/gate.php
hxxp://redacted/ponyb/gate.php
hxxp://redacted/ziM4.exe
hxxp://redacted/HSj.exe
hxxp://redacted/h1bXVj.exe
hxxp://redacted/zuxG8.exe
hxxp://redacted/VE9N79S.exe

おそらく、上記のURLの1つが盗み出した認証情報やその他の情報の送信を行っている可能性が高いでしょう。

そして、レジストリエントリも昔ながらの形式になっています。

HKCU\Software\WinRAR 
HKCU\Software\Microsoft\Windows\CurrentVersion\Run 
{Some ID} \"\"%CurrentUser%\[RandomFolderName]\[RandomName].exe\"\" 

また、このマルウェアは以下の長い語彙リストを使い、辞書攻撃を仕掛けます。API LoadUserProfileAが用いられています。

  • 123456
  • password
  • phpbb
  • qwerty
  • 12345
  • jesus
  • 12345678
  • abc123
  • letmein
  • password1
  • hello
  • monkey
  • dragon
  • trustno1
  • 111111
  • iloveyou
  • 1234567
  • shadow
  • 123456789
  • christ
  • sunshine
  • master
  • computer
  • princess
  • tigger
  • football
  • angel
  • jesus1
  • 123123
  • whatever
  • freedom
  • killer
  • soccer
  • superman
  • michael
  • cheese
  • internet
  • joshua
  • fuckyou
  • blessed
  • baseball
  • starwars
  • 000000
  • purple
  • jordan
  • faith
  • summer
  • ashley
  • buster
  • heaven
  • pepper
  • 7777777
  • hunter
  • lovely
  • andrew
  • thomas
  • angels
  • charlie
  • daniel
  • jennifer
  • single
  • hannah
  • qazwsx
  • happy
  • matrix
  • aaaaaa
  • 654321
  • amanda
  • nothing
  • ginger
  • mother
  • snoopy
  • jessica
  • welcome
  • pokemon
  • iloveyou1
  • 11111
  • mustang
  • helpme
  • justin
  • jasmine
  • orange
  • testing
  • apple
  • michelle
  • peace
  • secret
  • grace
  • william
  • iloveyou2
  • nicole
  • 666666
  • muffin
  • gateway
  • fuckyou1
  • asshole
  • hahaha
  • blessing
  • blahblah
  • myspace1
  • matthew
  • canada
  • silver
  • robert
  • forever
  • asdfgh
  • rachel
  • rainbow
  • guitar
  • peanut
  • batman
  • cookie
  • bailey
  • soccer1
  • mickey
  • biteme
  • hello1
  • eminem
  • dakota
  • samantha
  • compaq
  • diamond
  • taylor
  • forum
  • john316
  • richard
  • blink182
  • peaches
  • flower
  • scooter
  • banana
  • james
  • asdfasdf
  • victory
  • london
  • 123qwe
  • 123321
  • startrek
  • george
  • winner
  • maggie
  • trinity
  • online
  • 123abc
  • chicken
  • junior
  • chris
  • passw0rd
  • austin
  • sparky
  • admin
  • merlin
  • google
  • friends
  • shalom
  • nintendo
  • looking
  • harley
  • smokey
  • joseph
  • lucky
  • digital
  • thunder
  • spirit
  • bandit
  • enter
  • anthony
  • corvette
  • hockey
  • power
  • benjamin
  • iloveyou!
  • 1q2w3e
  • viper
  • genesis
  • knight
  • qwerty1
  • creative
  • foobar
  • adidas
  • rotimi
  • slayer
  • wisdom
  • praise
  • zxcvbnm
  • samuel
  • dallas
  • green
  • testtest
  • maverick
  • onelove
  • david
  • mylove
  • church
  • friend
  • destiny
  • microsoft
  • 222222
  • bubbles
  • 11111111
  • cocacola
  • jordan23
  • ilovegod
  • football1
  • loving
  • nathan
  • emmanuel
  • scooby
  • fuckoff
  • sammy
  • maxwell
  • jason
  • 1q2w3e4r
  • red123
  • blabla
  • prince
  • qwert
  • chelsea
  • 55555
  • angel1
  • hardcore
  • dexter
  • saved
  • 112233
  • hallo
  • jasper
  • danielle
  • kitten
  • cassie
  • stella
  • prayer
  • hotdog
  • windows
  • mustdie
  • gates
  • billgates
  • ghbdtn
  • gfhjkm
  • 1234567890

今回の記事では、このマルウェアがどのようにFTP情報を盗み取るかということに焦点を当ててきましたが、それこそ、このマルウェアが設計された目的だと思います。時間をかけ、これほどきれいにマルウェアコードを書きあげられる人は滅多にいません。念入りに考え抜かれ、慎重にコーディングされています。最近はマルウェア作成時に、質や細部に注意を払う人はほとんどいません。このマルウェアに対し、私は喜んでW32/Kryptik.AX!trの栄誉を授けましょう。

-Zandro

Zandro IliganはFortiGuardラボのシニアアンチウイルスアナリストです。

追加コンテンツ提供:Richard Henderson *