Multigrainは、 RAMスクレイピング技術を使用して銀行カード情報を盗むことを専門とする
PoS端末向けの悪意のあるプログラムです (特定のプロセスからRAMに直接アクセスしてカード情報を取得します)。 これは非常に人気のある方法になりました 国際法は、この情報をディスクに保存することを(一時的であっても)禁止しています。
Multigrainのもう1つの機能は、DNSルックアップを使用して外部と通信することです(したがって、盗まれた情報を送信できます)。 この記事では、マルウェア自体とその通信の実行方法を分析します。
今年の4月、FireEyeはこのマルウェアの分析を
公開しましたが 、Multigrainの亜種を発見したのは初めてのようです。 この記事では、2015年11月にPandaLabsアンチウイルスラボで検出されたサンプル(MD5:A0973ADAF99975C1EB12CC1E333D302F)に関連する分析について説明しました。それ以来、この悪意のあるプログラムの新しい亜種または更新を検出できました。 基本的に、彼らは同じように働いた。
マルチグレインの詳細:テクニカル分析
RAMスクレイピングの特性を示すこのコードはPoSマルウェアの典型であるため、Multigrainの分析を開始しました。 以下に示す手順00405A10でこれを明確に確認できます。

この手順では、実行中のプロセスのメモリでRAMスクレイピングを実行するプロセスからの典型的な呼び出しを見つけます。
•プロセスのリストへのポインターを取得する
CreateToolhelp32Snapshot 。
•
Process32FirstWおよびProcess32NextW 。前のAPIを呼び出した後、プロセスのリストのスナップショットを取得します。
•
OpenProcessは、後で
VirtualQueryExを使用してメモリページのリストを取得するために使用されます。
•最後に、
ReadProcessMemoryを使用して、前のページからコンテンツを読み取ることができます。
バッファが受信されるとすぐに、各ページのコンテンツを使用して、マルウェアは対応する「スクレイピング」を実行します。 これを行うには、彼は(同じ手順で)2番目の疑似コードを使用します。

可能性のあるTRACKS1 / 2シーケンスが、分析されたメモリのバッファにあるバンクカードの磁気ストリップのコードに関連付けられている場合、sub_406100およびsub_405D10関数が呼び出されます。 これで、マルウェアは後でデータを盗むことができるようにデータを準備する準備ができました。
このPoSマルウェアは、「spcwin.exe」および「brain.exe」と呼ばれる2つのプロセスのみに関心があります。 それらのどれも見つからない場合、「スクレイピング」は実行されません。

データフィルタリング
次の擬似コードに示すように、プロシージャ00402C40からのDNS呼び出し(UDP、ポート53)中に抽出が実行されます。

どうやら、情報漏えいはプログラムからの3つの異なるポイント(2つの手順)で実行されます。

最初の手順(アドレス00401DA0)では、「インストール」サブドメインが盗まれた情報に使用されます。 2番目の手順(アドレス00402580)は、このために「log。」サブドメインを使用します。
これらの抽出手順では、「base32」を使用して情報をエンコードする関数へのさまざまな参照を見つけます。 これは、銀行カードから情報を盗むために、最初に「base32」を使用して暗号化され、次にDNSクエリが次の形式で実行されるためです:install。<base32_CCs> .domain
ネットワーク情報
どうやら、サンプルのドメイン:
dojfgj.comWhois情報:
ドメイン名:DOJFGJ.COM
レジストリドメインID:1979271903_DOMAIN_COM-VRSN
レジストラWHOISサーバー:whois.enom.com
レジストラURL:
www.enom.com更新日:2015-11-13T07:16:58.00Z
作成日:2015-11-13T15:16:00.00Z
レジストラ登録の有効期限:2016-11-13T15:16:00.00Z
レジストラ:ENOM、INC。
レジストラIANA ID:48
再販業者:NAMECHEAP.COM
ドメインステータス:ok
www.icann.org/epp#okレジストリ登録者ID:
登録者名:WHOISGUARD PROTECTED
登録団体:WHOISGUARD、INC。
登録者通り:PO BOX 0823-03411
登録都市:パナマ
登録州/県:パナマ
登録者の郵便番号:00000
登録国:PA
登録者の電話番号:+507.8365503
登録者の内線番号:
登録者のファックス:+51.17057182
登録者ファックス内線:
登録者のメール:CC7F8D40E4FA4188AE5EA89A35925E6B.PROTECT@WHOISGUARD.COM
レジストリ管理者ID:
管理者名:WHOISGUARD PROTECTED
管理組織:WHOISGUARD、INC。
管理者通り:PO BOX 0823-03411
管理都市:パナマ
管理州/県:PANAMA
管理郵便番号:00000
管理国:pa
管理者電話:+507.8365503
管理電話の内線番号:
管理ファックス:+51.17057182
管理ファックス内線:
管理者のメール:CC7F8D40E4FA4188AE5EA89A35925E6B.PROTECT@WHOISGUARD.COM
レジストリ技術ID:
技術名:WHOISGUARD PROTECTED
技術組織:WHOISGUARD、INC。
Tech Street:PO BOX 0823-03411
テックシティ:パナマ
技術州/県:パナマ
技術郵便番号:00000
技術国:PA
技術電話:+507.8365503
Tech Phone Ext:
技術ファックス:+51.17057182
Tech Fax Ext:
技術メール:CC7F8D40E4FA4188AE5EA89A35925E6B.PROTECT@WHOISGUARD.COM
ネームサーバー:NS1.DOJFGJ.COM
ネームサーバー:NS2.DOJFGJ.COM
このドメインを調べると、内部IPアドレス「192.168.0.3」につながることがわかります。 ドメインは2つのDNSサーバーに関連付けられています。 現在のアドレスを取得するには、「whois」を実行する必要があります。
$ whois ns2.dojfgj.com
サーバー名:NS1.DOJFGJ.COM
IPアドレス:104.156.246.159
このIPアドレスのtracerouteコマンドは、その起源を示しています。$ traceroute 104.156.246.159
104.156.246.159(104.156.246.159)へのtraceroute、最大30ホップ、60バイトパケット
1 104.131.0.253(104.131.0.253)0.423 ms 104.131.0.254(104.131.0.254)0.404 ms 0.437 ms
2 162.243.188.229(162.243.188.229)0.422 ms 0.394 ms 162.243.188.241(162.243.188.241)0.293 ms
3 xe-0-9-0-17.r08.nycmny01.us.bb.gin.ntt.net(129.250.204.113)3.503 ms 4.078 ms 4.102 ms
4 ae-2.r25.nycmny01.us.bb.gin.ntt.net(129.250.3.97)1.160 ms ae-3.r25.nycmny01.us.bb.gin.ntt.net(129.250.6.208)1.226 ms 1.171ミリ秒
5 ae-9.r22.asbnva02.us.bb.gin.ntt.net(129.250.2.149)6.985 ms 6.926 ms 7.013 ms
6 ae-0.r23.asbnva02.us.bb.gin.ntt.net(129.250.3.85)6.952 ms 7.091 ms 7.057 ms
7 ae-1.r20.miamfl02.us.bb.gin.ntt.net(129.250.2.87)42.672 ms 33.314 ms 33.257 ms
8 ae-1.r05.miamfl02.us.bb.gin.ntt.net(129.250.2.185)35.530 ms 35.327 ms 38.280 ms
9 xe-0-6-0-0.r05.miamfl02.us.ce.gin.ntt.net(129.250.207.174)32.063 ms 31.912 ms 31.755 ms
10 * * *
11 104.156.246.159.vultr.com(104.156.246.159)33.398 ms 31.757 ms 32.283 ms
ご覧のとおり、これはマイアミのインターネットプロバイダーに対応しており、IPアドレスの範囲を管理しています。NetRange:104.156.244.0-104.156.247.255
CIDR:104.156.244.0/22
NetName:NET-104-156-244-0-22
NetHandle:NET-104-156-244-0-1
親:CHOOPA(NET-104-156-224-0-1)
NetType:再割り当て
OriginAS:
組織:Vultr Holdings、LLC(VHL-57)
生存性
システム(Windows PoS)で「存続可能」な状態を維持するため、分析されたマルウェアは自動的にサービスとして自身をインストールし、次のスクリーンショット(手順00406C20)に示すように「Windows Module Extension」という名前を選択します。

ハッカーは、自分をサービスとして登録している間に例外を実行できます。「ipinfo.io」を使用して現在のリージョンをチェックし、答えに応じて、システムをサービスとして登録するかどうかを設定できます。 これは、たとえば、ハッカーが特定の国のPoSシステムへの攻撃を避けたい場合に特に便利です。
悪意のあるプログラムは、「インストール」からパラメータとして「i」を受け入れます。その場合、「スクレイピング」プロセスを設定し、盗んだ情報を送信します。

このパラメーターが指定されていない場合(「i」)、「spcwin.exe」または「brain.exe」プロセスが実行されていない場合、サービスはインストールされず、これに加えて、悪意のあるプログラムは自動的に破壊されます。 両方のプロセスはPoSソフトウェアに関連しています。