水曜日, 9月 17, 2014

新種マルウェアを発見。名づけて「Linux/GoARM.Bot」にしました。

私達は今日新種マルウェアを発見しました。名づけて「Linux/GoARM.Bot」にしました。

本マルウェアはELF/ARM系のマルウェアですが、ARMルーター商品感染専用のマルウェアである。
マルウェアサンプルをVirusTotalにアップロードしましたので、リンクは下記となります↓
81c9fcf4f8c8d08c9ad13b5973a039d2e21d73e5e424d94507fb035a47448834
27d4a7989b9af86e9ebddb25cbfc9dfcf6800141f476d6a76041a3d8fb437115
c665453c6d8dd3723b4f7505e61ee6d02e5100b7de547127e1f5d593b06a894c

それぞれの本サンプルは中国ネットワークにあるHFSウェブサーバで提供したそうです。画像(クリックで拡大)↓


Go言語の確認は例えば下記のGoソースコード↓

%3d: t=%3d start
%3d: t=%3d bytes [%d]
%3d: t=%3d end err %v
%3d: t=%3d fix32 %d
%3d: t=%3d fix64 %d
%3d: t=%3d varint %d
%3d: fetching op err %v
%3d: t=%3d fix32 err %v
%3d: t=%3d fix64 err %v
%3d: t=%3d start err %v
%3d: t=%3d unknown wire=%d
%3d: t=%3d varint err %v
%3d: t=%3d end
%3d: start-end not balanced %d

DoS攻撃機能で使われたhttpヘッターのテンプレート↓

%s %s HTTP/1.1
User-Agent: %s
; Domain=%s
; Path=%s
; Expires=%s
; Max-Age=%d
Host: %s 

《バイナリーの状況》

ELF Header:
Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           ARM
  Version:                           0x1
  Entry point address:               0x3d398
  Start of program headers:          52 (bytes into file)
  Start of section headers:          244 (bytes into file)
  Flags:                             0x5000002, has entry point, Version5 EABI
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         6
  Size of section headers:           40 (bytes)
  Number of section headers:         11
  Section header string table index: 6
もしEntry Pointが0xc00に設定するとHexはこんな感じ↓
0000   7F 45 4C 46 01 01 01 00 00 00 00 00 00 00 00 00    .ELF............
0010   02 00 28 00 01 00 00 00 98 D3 03 00 34 00 00 00    ..(.........4...
0020   F4 00 00 00 02 00 00 05 34 00 20 00 06 00 28 00    ........4. ...(.
0030   0B 00 06 00 06 00 00 00 34 00 00 00 34 00 01 00    ........4...4...
0040   34 00 01 00 C0 00 00 00 C0 00 00 00 05 00 00 00    4...............
0050   00 10 00 00 01 00 00 00 00 00 00 00 00 00 01 00    ................
0060   00 00 01 00 60 35 1B 00 60 35 1B 00 05 00 00 00    ....`5..`5......
0070   00 10 00 00 01 00 00 00 00 40 1B 00 00 40 1C 00    .........@...@..
0080   00 40 1C 00 71 7E 16 00 71 7E 16 00 04 00 00 00    .@..q~..q~......
0090   00 10 00 00 01 00 00 00 00 C0 31 00 00 C0 32 00    ..........1...2.
00A0   00 C0 32 00 60 90 01 00 44 B4 02 00 06 00 00 00    ..2.`...D.......
00B0   00 10 00 00 51 E5 74 64 00 00 00 00 00 00 00 00    ....Q.td........
00C0   00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00    ................
00D0   04 00 00 00 80 15 04 65 00 00 00 00 00 00 00 00    .......e........
00E0   00 00 00 00 00 00 00 00 00 00 00 00 00 2A 00 00    .............*..
ARM decompilerで正しいEntry point(0x3d398)を設定したら:(クリックで拡大)↓

Go言語runtime証拠がここら辺でも見えます↓

Recompilingノート↓


最近ルーターを狙ったマルウェアが多い。特にSOHOルーターには脆弱性がある可能性が高いので、セキュリッティ設定をしっかり確認した上でアップデートと最新ファームウェアに更新して下さい。

この「Linux/GoARM.Bot」は世界で初めてGo言語で作られたマルウェアですね、大発見してしまいました(^-^v


次、ARM archルーターのマルウェア分析調査もやりました、レポート(英文)はこちら↓

0 件のコメント:

コメントを投稿