木曜日, 5月 09, 2013

#OCJP-106:国内ウェブサイト・ハッキング(Defaced)事件(124.87.134.192 & 61.199.232.51)報告

下記のサイトに
www3.office-sp.co.jp → 124.87.134.192
www.beans-company.ne.jp → 61.199.232.51

ハッカー攻撃にやられてしまいましたので、下記のURLがDEFACEDされてしまいます↓
hxxp://www3.office-sp.co.jp/index.html
hxxp://www.beans-company.ne.jp/jihad.htm

両方のサイトやサーバは日本国内ですので↓


真面目な企業ドメイン↓
a. [Domain Name]                OFFICE-SP.CO.JP
g. [Organization]               Office Support Co.,LTD
l. [Organization Type]          corporation
m. [Administrative Contact]     SK13948JP
n. [Technical Contact]          KW475JP
p. [Name Server]                fjkdns01.alpha-prm.jp
p. [Name Server]                fjkdns02.alpha-prm.jp
p. [Name Server]                fjkdns03.alpha-prm.jp
s. [Signing Key]
[State]                         Connected (2013/07/31)
[Registered Date]               2003/07/25
[Connected Date]                2003/10/06
[Last Update]                   2012/08/01 01:37:21 (JST)

a. [Domain Name]                BEANS-COMPANY.NE.JP
d. [Network Service Name]       Beans Company
l. [Organization Type]          Network Service
m. [Administrative Contact]     HE168JP
n. [Technical Contact]          HE168JP
p. [Name Server]                ns.beans-company.ne.jp
p. [Name Server]                ns-tk023.ocn.ad.jp
s. [Signing Key]
[State]                         Connected (2013/10/31)
[Registered Date]               1999/10/12
[Connected Date]                1999/11/01
[Last Update]                   2012/11/01 01:15:31 (JST)

ハッキングされたサイトの証拠:

ダウンロード証拠↓
--2013-05-09 13:43:04--  hxxp://www3.office-sp.co.jp/index.html
Resolving www3.office-sp.co.jp... seconds 0.00, 124.87.134.192
Caching www3.office-sp.co.jp => 124.87.134.192
Connecting to www3.office-sp.co.jp|124.87.134.192|:80... seconds 0.00, connected.
  :
GET /index.html HTTP/1.0
Host: www3.office-sp.co.jp
HTTP request sent, awaiting response...
  :
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Connection: keep-alive
Date: Thu, 09 May 2013 05:12:39 GMT
Content-Type: text/html
Accept-Ranges: bytes
Last-Modified: Mon, 06 May 2013 18:35:15 GMT
ETag: "14a9b873884ace1:14e9"
Content-Length: 2404
  :
200 OK
Length: 2404 (2.3K) [text/html]
Saving to: `index.html'
2013-05-09 13:43:05 (39.6 MB/s) - `index.html' saved [2404/2404]

--2013-05-09 13:43:48--  hxxp://www.beans-company.ne.jp/jihad.htm
Resolving www.beans-company.ne.jp... seconds 0.00, 61.199.232.51
Caching www.beans-company.ne.jp => 61.199.232.51
Connecting to www.beans-company.ne.jp|61.199.232.51|:80... seconds 0.00, connected.
  :
GET /jihad.htm HTTP/1.0
Host: www.beans-company.ne.jp
HTTP request sent, awaiting response...
  :
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Connection: keep-alive
Date: Thu, 09 May 2013 04:44:29 GMT
Content-Type: text/html
Accept-Ranges: bytes
Last-Modified: Tue, 07 May 2013 10:23:42 GMT
ETag: "763b89f2c4bce1:908"
Content-Length: 11346
  :
200 OK
Length: 11346 (11K) [text/html]
Saving to: `jihad.htm'
2013-05-09 13:43:49 (19.9 KB/s) - `jihad.htm' saved [11346/11346]

スナップショット情報:
www3.office-sp.co.jp → 124.87.134.192
画像↓

コード↓


www.beans-company.ne.jp → 61.199.232.51
画像↓

コード↓



恐らく#OpUSAのハッキング事件の関係でやられてしまったそうです、未だ他のやられたサイトもあるかと思われます(私は今新幹線乗った途中でたまたま見つかっただけですね)
原因はMicrosoft-IIS/5.0ウェブサーバの脆弱性でハッキングされたそうです、結構古いIISなので、早めにサーバのセキュリティチェックをきちんと作成したほうがいいですね。

月曜日, 4月 22, 2013

#OCJP-105:「pollen.tokyo-kafun.jp 」/「一般財団法人 気象業務支援センター」のウェブサイト脆弱性がロシアのハッカーフォラムに発見!

今回はたまたま発見した情報です。最近日本国内のウェブサイトのハッキングが多くて自分と仲間達は色んなアンダーグラウンドのサイトを調査しました。
そして、あるアンダーグラウンドのフォラムに下記の情報を発見しました...

ロシア語ですが、その下にあるコードを見たら「pollen.tokyo-kafun.jp 」/一般財団法人 気象業務支援センターのサイトにある「Privilege Execution Command」の脆弱性ですね。
...いまだにその脆弱性が未だ残っています。

何回も言いました様に、日本国内のウェブサイト脆弱性が狙われていると、これで証明と証拠となります。
早めに脆弱性を直してください、またあなたのサイトにも同じ脆弱性があるかどうかをご確認ください。

サイトに書いた文書を英語へ翻訳したら下記のようになります...
「I donno who's site it is, but it has such copyright:
Copyright 2008 Tokyo Metropolitan Government All rights reserved.」

念のためにサイトの連絡先は:
[登録者名]                      一般財団法人 気象業務支援センター
[Registrant]                    Japan Meteorological Business Support Center
[Name Server]                   dns1.wakwak.com
[Name Server]                   dns2.wakwak.com
[Signing Key]                   

[登録年月日]                    2007/10/09
[有効期限]                      2013/10/31
[状態]                          Active
[最終更新]                      2012/11/01 01:05:00 (JST)

Contact Information: [公開連絡窓口]
[名前]                          一般財団法人 気象業務支援センター
[Name]                          Japan Meteorological Business Support Center
[Email]                         shizuko_k@jmbsc.or.jp
[Web Page]                       
[郵便番号]                      101-0054
[住所]                          東京都千代田区神田錦町3-17
[Postal Address]                3-17, Kanda-nishikicho, Chiyoda-ku, Tokyo, 101-0054, Japan
[電話番号]                      03-5281-0440
[FAX番号]                       03-5281-0443
念の為に、さくっとツイッターには直ぐに報告しました↓(早い対応が欲しいね、root権限迄に取られてしまう可能性が高いから…)

#OCJP-104:「dp26022227.lolipop.jp」/「210.172.144.245」にZEUSバンキングトロイを発見!

下記のウェブサイトに「Zeus」/Zbotバンキングトロイを発見しました。

ホームページの見た目は下記のように企業のサイトですね。



そして下記のウRLをアクセスしたらマルウェアがダウンロードされてしまいます。



ダウンロード証拠(ログ)は下記となりますが...

--2013-04-22 18:28:48--  hxxp://dp26022227.lolipop.jp/6ycg8n.exe
Resolving dp26022227.lolipop.jp... 210.172.144(.)245
Caching dp26022227.lolipop.jp => 210.172.144(.)245
Connecting to dp26022227.lolipop.jp|210.172.144(.)245|:80... connected.
  :
GET /6ycg8n.exe HTTP/1.1
Host: dp26022227.lolipop.jp
HTTP request sent, awaiting response... 
  :
HTTP/1.1 200 OK
Date: Mon, 22 Apr 2013 09:28:29 GMT
Server: Apache
Last-Modified: Mon, 15 Apr 2013 22:41:00 GMT
ETag: "868074c-4b000-f2677700"
Accept-Ranges: bytes
Content-Length: 307200
Content-Type: application/octet-stream
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
  :
200 OK
Length: 307200 (300K) [application/octet-stream]
Saving to: ‘6ycg8n.exe’
2013-04-22 18:28:50 (725 KB/s) - ‘6ycg8n.exe’ saved [307200/307200]

ファイルのスナップショットの証拠(下記)


ファイル自体に暗号されたPEファイルです、詳細情報は下記のようになります...
Sections:
.text 0x1000 0xe00 3584
.rdata 0x2000 0x870 2560
.data 0x3000 0x2000 512
.rsrc 0x5000 0x4904f 299520

Entry Point at 0x59e
Virtual Address is 0x40119e
Compile time: 2013-01-23 18:06:23

ExifTool:
MIMEType                 : application/octet-stream
Subsystem                : Windows GUI
MachineType              : Intel 386 or later, and compatibles
TimeStamp                : 2013:01:23 19:06:23+01:00
FileType                 : Win32 EXE
PEType                   : PE32
CodeSize                 : 3584
LinkerVersion            : 2 25
FileAccessDate           : 2013:04:21 03:40:23+01:00
Warning                  : Invalid Version Info block
EntryPoint               : 0x119e
InitializedDataSize      : 302592
SubsystemVersion         : 5 1
ImageVersion             : 0 0
OSVersion                : 5 1
FileCreateDate           : 2013:04:21 03:40:23+01:00
UninitializedDataSize    : 0

00004D 5A 90 00 03 00 00 00 04 00 00 00 FF FF 00 00 MZ..............
0010B8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 ........@.......
002000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
003000 00 00 00 00 00 00 00 01 00 00 00 80 00 00 00 ................
0040BB 11 00 0E 1F B4 09 CD 21 B8 01 4C CD 21 90 90 ........!..L.!..
005054 68 69 73 20 70 72 6F 67 72 61 6D 20 6D 75 73 This program mus
006074 20 62 65 20 72 75 6E 20 75 6E 64 65 72 20 57 t be run under W
007069 6E 33 32 0A 0D 24 37 00 00 00 00 00 00 00 00 in32..$7........
008050 45 00 00 4C 01 04 00 9F 26 00 51 00 00 00 00 PE..L....&.Q....
  [...]

このマルウェアを実行されたら下記のマルウェアファイルが出て、保存されます。。。
%AppData%\Lilagi(random, regex: [A-Z]{1}[a-z]{5})\veiby.exe (random, format regex: [a-z]{5}¥.exe )
%Temp%\tmp7cf80627.bat (random, format regex: tmp[a-z|0-9]{8}¥.bat )
%AppData%\Microsoft\Address Book\(USER).wab

下記のマルウェアプロセスが立ち上がって...
C:\Documents and Settings\[PC-USER]\Application Data\Lilagi\veiby.exe""
C:\WINDOWS\system32\cmd.exe" /c "C:\DOCUME~1\[PC-USER]\LOCALS~1\Temp\tmp7cf80627.bat"" 

そしてもっとのマルウェアファイルとBATファイルが削除されました。
当時下記のWindowsのレジストリに変更が行い...
HKEY_CURRENT_USER\Software\Microsoft\Epnese\27h77jd0 / VALUE: TZK2ftIpZeQhBJelF7vDdg== 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\LDAP Server ID / VALUE: 0 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Bigfoot\LDAP Server ID/VALUE: 1 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\VeriSign\LDAP Server ID/VALUE: 2 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\WhoWhere\LDAP Server ID/VALUE: 3 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Server ID/VALUE: 4 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\PreConfigVer/ VALUE: 4 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\PreConfigVerNTDS/VALUE: 1 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\Account Name/ VALUE: Active Directory 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\LDAP Server/VALUE: NULL 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\LDAP Search Return/VALUE: 100 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\LDAP Timeout/VALUE: 60 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\LDAP Authentication/VALUE: 2 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\LDAP Simple Search/VALUE: 0 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\LDAP Bind DN/VALUE: 0 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\LDAP Port/VALUE: 196 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\LDAP Resolve Flag/VALUE: 1 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\LDAP Secure Connection/VALUE: 0 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\LDAP User Name/VALUE: NULL 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Active Directory GC\LDAP Search Base/VALUE: NULL 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Bigfoot\Account Name/VALUE: Bigfoot Internet Directory Service 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Bigfoot\LDAP Server/VALUE: ldap.bigfoot.com 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Bigfoot\LDAP URL/VALUE: http://www.bigfoot.com 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Bigfoot\LDAP Search Return/VALUE: 100 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Bigfoot\LDAP Timeout/VALUE: 60 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Bigfoot\LDAP Authentication/VALUE: 0 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Bigfoot\LDAP Simple Search/VALUE: 1 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\Bigfoot\LDAP Logo/VALUE: %ProgramFiles%\Common Files\Services\bigfoot.bmp 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\VeriSign\Account Name/VALUE: VeriSign Internet Directory Service 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\VeriSign\LDAP Server/VALUE: directory.verisign.com 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\VeriSign\LDAP URL/VALUE: http://www.verisign.com 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\VeriSign\LDAP Search Return/VALUE: 100 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\VeriSign\LDAP Timeout/VALUE: 60 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\VeriSign\LDAP Authentication/VALUE: 0 
 HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager\Accounts\VeriSign\LDAP Search Base
  [...] 
 HKEY_CURRENT_USER\Software\Microsoft\WAB\WAB4\Wab File Name\(null) /VALUE: C:\Documents and Settings\\Application Data\Microsoft\Address Book\.wab 
 HKEY_CURRENT_USER\Software\Microsoft\WAB\WAB4\OlkContactRefresh/VALUE: 0 
 HKEY_CURRENT_USER\Software\Microsoft\WAB\WAB4\OlkFolderRefresh/VALUE: 0 
 HKEY_CURRENT_USER\Identities\{B0BB3B42-3666-47AA-8D85-B94B99DB4C9B}\Identity Ordinal/VALUE: 1 
 HKEY_CURRENT_USER\Identities\Identity Ordinal/VALUE: 2 
 HKEY_CURRENT_USER\Software\Microsoft\Epnese\230fjh3e/VALUE:  1

最後にネットワーク動きを発見、下記のようにレコードされました...
195.169.125.228:29902
78.139.187.6:14384
190.21.87.83:15196
186.134.148.36:12460
75.6.222.103:11577
79.186.121.2:29666 

ウイルストータルに確認しましたら、下記の情報となります...
URL: https://www.virustotal.com/en/file/ebb5522800279af67e2d209c26b6c97a4c15ea6e384c5f02a51e5c1a2b92a590/analysis/
SHA256: ebb5522800279af67e2d209c26b6c97a4c15ea6e384c5f02a51e5c1a2b92a590
SHA1:fdc202a332c52a55b4a9939bd8e8c2d0b7c1f40e
MD5: 1b55d07cb1ef519409d449ceb883999f
File size: 300.0 KB ( 307200 bytes )
File name: e68e83363dfcd5e48240116a502f0845f1f5a6c6
File type: Win32 EXE
Tags:peexe
Detection ratio: 34 / 46
Analysis date:2013-04-21 02:31:37 UTC ( 1 day, 8 hours ago )

MicroWorld-eScan: Trojan.GenericKDZ.14448
nProtect  : Trojan.GenericKDZ.14448
McAfee : PWS-FASY!1B55D07CB1EF
Malwarebytes : Malware.Packer.EGX7
K7AntiVirus  : Trojan
K7GW: Trojan
Symantec  : Packed.Generic.402
Norman : Hlux.WH
ESET-NOD32: a variant of Win32/Kryptik.AYWT
TrendMicro-HouseCall  : TROJ_SPNR.14DG13
Avast  : Win32:Kryptik-LKV [Trj]
Kaspersky : Trojan-Spy.Win32.Zbot.kkce
BitDefender  : Trojan.GenericKDZ.14448
Sophos : Mal/Zbot-KR
Comodo : TrojWare.Win32.Kryptik.AYFK
F-Secure  : Trojan.GenericKDZ.14448
DrWeb  : Trojan.Packed.2928
VIPRE  : Trojan.Win32.Winwebsec.mdc (v)
AntiVir: TR/Spy.ZBot.EB.325
TrendMicro: TROJ_SPNR.14DG13
McAfee-GW-Edition  : Heuristic.LooksLike.Win32.Suspicious.B
Emsisoft  : Trojan-Spy.Win32.Zbot (A)
Kingsoft  : Win32.Troj.Zbot.KK.(kcloud)
Microsoft : PWS:Win32/Zbot.gen!AM
SUPERAntiSpyware: Trojan.Agent/Gen-Fynloski
GData  : Trojan.GenericKDZ.14448
Commtouch : W32/Trojan.SQKB-8856
AhnLab-V3 : Trojan/Win32.Foreign
VBA32  : OScope.Malware-Cryptor.Hlux.6413
PCTools: HeurEngine.MaliciousPacker
Ikarus : Trojan-PWS.Win32.Zbot
Fortinet  : W32/Kryptik.X!tr
AVG : Crypt_s.AZD
Panda  : Generic Malware

やはりZeusですね、はやめにお手続きした方がいいと思います、下記はサイトの連絡先とネットワーク情報となります...
・サイトに書いた連絡先:
 チーフマリッジカウンセラー
 後藤理恵

・ドメイン:
[Domain Name]                   LOLIPOP.JP
[Registrant]                    paperboy&co.
[Name Server]                   sv.madame.jp
[Name Server]                   dns2.lolipop.jp
[Signing Key]                   
[Created on]                    2001/09/21
[Expires on]                    2013/09/30
[Status]                        Active
[Last Updated]                  2012/10/01 01:05:01 (JST)
Contact Information:
[Name]                          paperboy&co.
[Email]                         jp@muumuu-domain.com
[Web Page]                       
[Postal code]                   150-8512
[Postal Address]                26-1 Sakuragaokacho
                                Shibuya-ku, Tokyo
                                1508512,JAPAN
[Phone]                         03-5456-2622
[Phone]                         +81-3-5456-2622
[Fax]                           +81-3-5456-2633

・ネットワーク:
inetnum:        210.172.128.0 - 210.172.191.255
netname:        interQ-CIDR-BLK-JP
descr:          GMO Internet, Inc.
remarks:        Email address for spam or abuse complaints : abuse@gmo.jp
country:        JP
admin-c:        JP00014973
tech-c:         JP00014973

火曜日, 4月 16, 2013

#OCJP-103:「fruru.jp / 59.106.171.45」にExploit Kit+銀行トロイ感染仕組みを発見しました!

下記の「あやしい」サイトに↓
fruru.jp

トップページの見た目では何も無かったが↓


下記のURLにJava(JAR)感染ファイルを発見しました↓
hxxp://fruru.jp/wp-includes/js/crop/atualizacao/Java.jar

ダウンロードの証拠↓
--2013-04-16 22:43:49--  hxxp://fruru.jp/wp-includes/js/crop/atualizacao/Java.jar
Resolving fruru.jp... seconds 0.00, 59.106.171.45
Caching fruru.jp => 59.106.171.45
Connecting to fruru.jp|59.106.171.45|:80... seconds 0.00, connected.
  :
GET /wp-includes/js/crop/atualizacao/Java.jar HTTP/1.0
Host: fruru.jp
HTTP request sent, awaiting response...
  :
HTTP/1.1 200 OK
Date: Tue, 16 Apr 2013 13:43:39 GMT
Server: Apache/1.3.42 (Unix) mod_ssl/2.8.31 OpenSSL/0.9.8e
Last-Modified: Fri, 12 Apr 2013 16:12:28 GMT
ETag: "6986-5168326c"
Accept-Ranges: bytes
Content-Length: 27014
Keep-Alive: timeout=5, max=20
Connection: Keep-Alive
Content-Type: text/plain
  :
200 OK
Length: 27014 (26K) [text/plain]
Saving to: `Java.jar'
2013-04-16 22:43:49 (426 KB/s) - `Java.jar' saved [27014/27014]

このjavaの中にCVE-2006-6969の「java.util.Random」の「low entropy」脆弱性のコードがあり、証拠↓


脆弱性を起こす為のvarがbooleanに設定されて↓


それで下記のexploitコードを実行されて↓


下記のコードでファイル保存のコードを発見↓


と、エンコードされたダウンロードURL↓


短くにすると、デコードと検証したら下記のマルウェアのダウンロードURLを発見↓
hxxp://fruru.jp/wp-includes/js/crop/atualizacao/atualizacao.exe

ダウンロードすると、出来ちゃいました…、証拠↓
--2013-04-16 22:45:15--  hxxp://fruru.jp/wp-includes/js/crop/atualizacao/atualizacao.exe
Resolving fruru.jp... seconds 0.00, 59.106.171.45
Caching fruru.jp => 59.106.171.45
Connecting to fruru.jp|59.106.171.45|:80... seconds 0.00, connected.
  :
GET /wp-includes/js/crop/atualizacao/atualizacao.exe HTTP/1.0
Host: fruru.jp
HTTP request sent, awaiting response...
  :
HTTP/1.1 200 OK
Date: Tue, 16 Apr 2013 13:45:05 GMT
Server: Apache/1.3.42 (Unix) mod_ssl/2.8.31 OpenSSL/0.9.8e
Last-Modified: Fri, 12 Apr 2013 16:13:19 GMT
ETag: "1a7ad8-5168329f"
Accept-Ranges: bytes
Content-Length: 1735384
Keep-Alive: timeout=5, max=20
Connection: Keep-Alive
Content-Type: application/x-msdownload
  :
200 OK
Registered socket 1896 for persistent reuse.
Length: 1735384 (1.7M) [application/x-msdownload]
Saving to: `atualizacao.exe'
2013-04-16 22:45:16 (1.07 MB/s) - `atualizacao.exe' saved [1735384/1735384]

ファイルの証拠についてはスナップショット↓


ウイルストータルのスキャン結果↓

(1)「java.jar」はexploit感染ファイルで、VTのURL→(クリック)
SHA1: c0bb8214a51d0b58081b8a3e030624476de63f9a
MD5: 057a0462ecd88f28c6f1b22422764a1a
File size: 26.4 KB ( 27014 bytes )
File name: Java.jar
File type: JAR
Tags: jar
Detection ratio: 5 / 46
Analysis date: 2013-04-16 14:15:21 UTC ( 9 minutes ago )
マルウェア名前↓
TrendMicro-HouseCall     : TROJ_GEN.F47V0720
Ikarus                   : Trojan-Downloader.Java.Toniper
Symantec                 : Trojan.Maljava
Microsoft                : TrojanDownloader:Java/Toniper
PCTools                  : Trojan.Maljava

(2)「atualizacao.exe」は銀行トロイですので、VTのURL→(クリック)
SHA1: 1c7860bcc37a38e69e8a7c5af4abc697bbf37444
MD5: e4887fb51e1de6a948dc900be3d78deb
File size: 1.7 MB ( 1735384 bytes )
File name: atualizacao.exe
File type: Win32 EXE
Tags: peexe
Detection ratio: 29 / 46
Analysis date: 2013-04-16 14:15:48 UTC ( 10 minutes ago )
マルウェア名前↓
MicroWorld-eScan         : DeepScan:Generic.Banker.Delf.BA87D233
McAfee                   : Artemis!E4887FB51E1D
K7AntiVirus              : Riskware
K7GW                     : Trojan
F-Prot                   : W32/Banload.AK.gen!Eldorado
Norman                   : Banload.CMZG
ESET-NOD32               : a variant of Win32/Spy.Banker.XRJ
TrendMicro-HouseCall     : Possible_Virus
Avast                    : Win32:Banker-JXB [Trj]
Kaspersky                : Trojan-Dropper.Win32.Dapato.cctq
BitDefender              : DeepScan:Generic.Banker.Delf.BA87D233
Emsisoft                 : DeepScan:Generic.Banker.Delf.BA87D233 (B)
Comodo                   : Heur.Suspicious
F-Secure                 : DeepScan:Generic.Banker.Delf.BA87D233
DrWeb                    : Trojan.DownLoader8.8042
AntiVir                  : TR/Spy.Banker.Gen
TrendMicro               : Possible_Virus
McAfee-GW-Edition        : Artemis!E4887FB51E1D
Sophos                   : Mal/Generic-S
Kingsoft                 : Win32.Troj.Undef.(kcloud)
Microsoft                : TrojanDownloader:Win32/Banload.ALA
ViRobot                  : JS.A.Iframe.1735384
GData                    : DeepScan:Generic.Banker.Delf.BA87D233
Commtouch                : W32/Banload.AK.gen!Eldorado
VBA32                    : TrojanDropper.Dapato
Ikarus                   : Virus.Trojan.Banker.Win32.Banker
Fortinet                 : W32/Dapato.CCTQ!tr
AVG                      : Dropper.Generic8.SUQ
Panda                    : Trj/CI.A
↑本件のサーバには早めに片付いた方がいいと思います

ドメイン登録情報↓
[Domain Name]                   FRURU.JP

[登録者名]                      株式会社 二条丸八
[Registrant]                    nijomaruhati

[Name Server]                   ns1.dns.ne.jp
[Name Server]                   ns2.dns.ne.jp
[Signing Key]                   

[登録年月日]                    2010/10/13
[有効期限]                      2013/10/31
[状態]                          Active
[最終更新]                      2012/12/04 09:48:45 (JST)

Contact Information: [公開連絡窓口]
[名前]                          さくらインターネットドメイン登録
[Name]                          SAKURA Internet Domain Registration
[Email]                         jprs-staff@sakura.ad.jp

IPネットワークの情報↓
inetnum:        59.106.171.0 - 59.106.171.255
netname:        SAKURA-NET
descr:          SAKURA Internet Inc.
country:        JP
admin-c:        KT749JP
tech-c:         KW419JP

感染原因可能性について、

Wordpressログインパネルのbrute 
WordPressの脆弱性がある 
管理者のウェブパネルログイン情報が漏れた

水曜日, 4月 03, 2013

#OCJP-102-2:マルウェア転送コードを発見!サイト一覧(8件)

#OCJP-102の続き、上から古い順、
8件をツイートしました、RedKit EKの感染は3件↓

木曜日, 3月 28, 2013

#OCJP-102:本日、日本国内のウェブサイトに9件のマルウェア転送コードを発見、その中の6件は「RedKit Exploit Kit」の感染コードでした。

緊急!本日9件の国内のウェブサイトにマルウェア転送コードを発見しました。
あまり時間が無かったので、ツイッターにて報告させていただきました。
その中に6件RedKit Exploit Kitの転送URLを発見しました。
RedKit Exploit Kitのコードが入っているウェブサイトにはマルウェア転送コードを削除だけでは対応が足りないのでサーバrootにあるファイル↓
php.ini、
default.php、
.htaccess、
.user.ini
↑までに、御確認下さい。お願いします。

情報は以下のツイートのスナップショット画像となりますので、説明証拠と画像が入っています↓

水曜日, 3月 27, 2013

#OCJP-101: 日本マテリアル社のウェブサイト「material.co.jp」にマルウェア感染コードを発見しました!

失礼な言い方かもしれないので、日本マテリアル社のウェブサイトで下記のURLに↓

↑マルウェア感染コードを発見しました。

ダウンロード証拠↓
--2013-03-27 16:37:16--  hxxp://www.material.co.jp/purchase/index.html
Resolving www.material.co.jp... seconds 0.00, 115.146.1.33
Caching www.material.co.jp => 115.146.1.33
Connecting to www.material.co.jp|115.146.1.33|:80... seconds 0.00, connected.
:
GET /purchase/index.html HTTP/1.0
Host: www.material.co.jp
HTTP request sent, awaiting response...
:
HTTP/1.1 200 OK
Date: Wed, 27 Mar 2013 07:37:04 GMT
Server: Apache
Last-Modified: Sun, 24 Mar 2013 13:04:23 GMT
ETag: "566851e-2f00-514ef9d7"
Accept-Ranges: bytes
Content-Length: 12032
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/html
200 OK
Length: 12032 (12K) [text/html]
Saving to: `index.html'
2013-03-27 16:37:16 (986 KB/s) - `index.html' saved [12032/12032]

マルウェア転送コードのスナップショット写真↓


【重要】
ブラウザでアクセスしたらIFRAMEでユーザがマルウェア感染サイトに転送してしまいます。
古いJavaバーションが入ったPC「AND」Javaの設定が有効でしたらマルウェアに感染される可能性が高いです。

転送先のURLのファイルを調査をすると↓
Resolving harvestglobal.com... seconds 0.00, 216.97.232.67
Caching harvestglobal.com => 216.97.232.67
Connecting to harvestglobal.com|216.97.232.67|:80... seconds 0.00, connected.
:
GET /counter.php HTTP/1.0
Referer: http://www.material.co.jp/purchase/index.html
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Host: harvestglobal.com
Connection: keep-alive
Keep-Alive: 300
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP request sent, awaiting response...
:
HTTP/1.1 200 OK
Date: Wed, 27 Mar 2013 07:38:56 GMT
Server: Apache/1.3.42 (Unix) Sun-ONE-ASP/4.0.2 Resin/2.1.13 mod_fastcgi/2.4.6 mod_log_bytes/1.2 mod_bwlimited/1.4 mod_au
th_passthrough/1.8 FrontPage/5.0.2.2635 mod_ssl/2.8.31 OpenSSL/0.9.8e-fips-rhel5
X-Powered-By: PHP/4.4.9
Connection: close
Content-Type: text/html
200 OK
Length: unspecified [text/html]
Saving to: `counter.php'
2013-03-27 16:39:09 (38.8 MB/s) - `counter.php' saved [2364]

中身は暗号されたマルウェア感染コード↓


クラックすると下記のIFRAME転送コードを発見↓


そのサイトを調査しましたら「マルウェア感染/Exploit Kit」のサイトですね↓

↑見た目では(また)「SWEET ORANGE EXPLOIT KIT」ですね。

ページのファイル中身はExploit Kitの感染JavaScriptコードを発見しました。
先ずはダウンロード証拠↓
--2013-03-27 16:43:38--  hxxp://jinfret.info/bug/captchas/portfolio.php?release=79
Resolving jinfret.info... seconds 0.00, 5.199.171.214
Caching jinfret.info => 5.199.171.214
Connecting to jinfret.info|5.199.171.214|:80... seconds 0.00, connected.
:
GET /bug/captchas/portfolio.php?release=79 HTTP/1.0
Referer: http://harvestglobal.com/counter.php
Host: jinfret.info
HTTP request sent, awaiting response...
:
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 27 Mar 2013 00:43:28 GMT GMT
Content-Type: text/html
Connection: keep-alive
Expires: Thu, 01 Jan 1970 00:00:01 GMT
Content-Length: 2788
200 OK
Registered socket 1896 for persistent reuse.
Length: 2788 (2.7K) [text/html]
Saving to: `portfolio.php'
2013-03-27 16:43:39 (69.5 MB/s) - `portfolio.php' saved [2788/2788]

中身の感染コード↓

↑2つJavaのjarファイルがあり、両方はJava Exploit感染ファイルです↓

ファイル情報↓
2013/03/27  16:46  38,156 xIwuomem.jar  58707ebd4ab2f3913c34b1f1b8510da8 
2013/03/27  16:48  14,736 yiMsEg.jar    22927a84d1610fb7bdabace8d9c47ec2 

Java有効されたブラウザの感染再現調査↓


古いJavaバーションによる別々のjarのダウンロードを行う(PCAPレコード証拠)↓


そしてマルウェア感染仕組みが始まる↓


xIwuomem.jarはCVE-012-1723 Java Exploit


yiMsEg.jarはCVE-013-0422 Java Exploit


証拠として、すべて感染ファイルセット↓


【Exploit Kitのネットワーク情報】


【アンチウイルスの検知率はどんな感じ?】
はっきり、低いです、証拠↓

「xIwuomem.jar」のVTスキャンURL→【クリック】
MD5:            58707ebd4ab2f3913c34b1f1b8510da8
File size:  37.3 KB ( 38156 bytes )
File name:  xIwuomem.jar
File type:  ZIP
DetectionRatio: 3 / 46

【マルウェア名】
TrendMicro-HouseCall     : TROJ_GEN.F47V0326
TrendMicro               : EXPL_CVE20121723
Kaspersky                : UDS:DangerousObject.Multi.Generic
「xIwuomem.jar」のVTスキャンURL→【クリック】
MD5:            22927a84d1610fb7bdabace8d9c47ec2
File size:      14.4 KB ( 14736 bytes )
File name:      yiMsEg.jar
File type:      JAR
DetectionRatio: 3 / 43

【マルウェア名】
ESET-NOD32               : a variant of Java/Exploit.Agent.NNM
Kaspersky                : UDS:DangerousObject.Multi.Generic
Comodo                   : UnclassifiedMalware

【感染原因】
脆弱性、FTP/SSH管理アカウント情報の盛れ

--
【ご注意】
本件のポストに書いた情報は(c)0day.jpのマルウェア研究調査の物となります。調査内容の無断転載禁止です。使いたい方は@unixfreaxjpにご連絡下さい。

月曜日, 3月 25, 2013

#OCJP-100: 旧慶風高等学校のホーム「www.eonet.ne.jp / 218.251.89.6」ページにSweetOrangeEKのマルウェア感染コードを発見しました。

下記の日本国内ホスト/IP(旧慶風高等学校のホームページ)↓
www.eonet.ne.jp / 218.251.89.6
下記のURLにSweet Orange Exploit Kitマルウェア感染URLを発見しました↓
hxxp://www.eonet.ne.jp/%7Ekeifu

上記のURLをダウンロードしたら↓(下記はDLのログ)
--2013-03-25 12:58:27--  hxxp://www.eonet.ne.jp/%7Ekeifu
Resolving www.eonet.ne.jp... seconds 0.00, 218.251.89.6
Caching www.eonet.ne.jp => 218.251.89.6
Connecting to www.eonet.ne.jp|218.251.89.6|:80... seconds 0.00, connected.
GET /%7Ekeifu hxxp/1.0
Referer: なんでも
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Host: www.eonet.ne.jp
Connection: keep-alive
Keep-Alive: 300
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
hxxp request sent, awaiting response...
  :
hxxp/1.1 301 Moved Permanently
Date: Mon, 25 Mar 2013 03:58:19 GMT
Server: Apache
Location: hxxp://www.eonet.ne.jp/~keifu/
Content-Length: 238
Keep-Alive: timeout=1, max=200
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1
  :
301 Moved Permanently
Registered socket 1896 for persistent reuse.
Location: hxxp://www.eonet.ne.jp/~keifu/ [following]
Skipping 238 bytes of body: [<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="hxxp://www.eonet.ne.jp/~keifu/">here</a>.</p>
</body></html>
] done.
--2013-03-25 12:58:27--  hxxp://www.eonet.ne.jp/~keifu/
Reusing existing connection to www.eonet.ne.jp:80.
Reusing fd 1896.
  :
GET /~keifu/ hxxp/1.0
Referer: なんでも
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Host: www.eonet.ne.jp
Connection: keep-alive
Keep-Alive: 300
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
hxxp request sent, awaiting response...
  :
hxxp/1.1 200 OK
Date: Mon, 25 Mar 2013 03:58:19 GMT
Server: Apache
Last-Modified: Sun, 24 Mar 2013 20:14:40 GMT
ETag: "13543c-2bf-4d8b156910c00"
Accept-Ranges: bytes
Content-Length: 703
Keep-Alive: timeout=1, max=199
Connection: Keep-Alive
Content-Type: text/html
  :
200 OK
Length: 703 [text/html]
Saving to: `index.html'
2013-03-25 12:58:27 (20.5 MB/s) - `index.html' saved [703/703]

下記の画像ように、index.htmlファイルの下にIFRAMEマルウェア転送コードが書いてあります↓


このページをアクセスしたらそのURLに転送されます、PCAPデータの証拠↓


そして転送先のページにまたマルウェア転送コードを発見しました↓

そのページダウンロード証拠↓
--2013-03-25 12:52:57--  hxxp://www.soumbeauty.fr/counter.php
Resolving www.soumbeauty.fr... seconds 0.00, 82.165.21.182
Caching www.soumbeauty.fr => 82.165.21.182
Connecting to www.soumbeauty.fr|82.165.21.182|:80... seconds 0.00, connected.
GET /counter.php HTTP/1.0
Referer: hxxp://www.eonet.ne.jp/%7Ekeifu
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Host: www.soumbeauty.fr
Connection: keep-alive
Keep-Alive: 300
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP request sent, awaiting response...
  :
HTTP/1.1 200 OK
Date: Mon, 25 Mar 2013 03:52:49 GMT
Server: Apache
X-Powered-By: PHP/5.4.12
Connection: close
Content-Type: text/html
200 OK
Length: unspecified [text/html]
Saving to: `counter.php'
2013-03-25 12:52:58 (34.8 MB/s) - `counter.php' saved [2423]
中身は下記のエンコディングされたコード↓

decodeしたら下記のjavascript IFRAMEマルウェア転送コードを見えます↓


【重要】
ブラウザでアクセスが来るとIFRAMEに書いたURLまた転送されてしまいますので、Sweet Orange Exploit Kitのマルウェア感染ページ(landing page)にアクセスしてしまいます。本件についてはIEやFirefox+古いJava有りブラウザでアクセスしたらjava exploitがダウンロードされてPCがマルウェアに感染される可能性が高いです。

そのSweet Orange Exploit Kitのページにあるコードはどんな物かを見てみましょう↓
ダウンロード証拠↓


中身はまたエンコーディングのコードがあり、decodeすると下記のコードを見えます↓



↑マークされた紫色がshellcodeで、翻訳すればexploitファイルダウンロードURLが見えます↓


【連絡先】

【ネットワーク登録・管理責任者】
a. [Domain Name]                EONET.NE.JP
d. [Network Service Name]       eonet
l. [Organization Type]          Network Service
m. [Administrative Contact]     HS17557JP
n. [Technical Contact]          HA3280JP

a. [JPNICハンドル]              HS17557JP
b. [氏名]                       清水 弘規
c. [Last, First]                Shimizu, Hironori
d. [電子メイル]                 dbinfo@k-opti.ad.jp
f. [組織名]                     株式会社ケイ・オプティコム
g. [Organization]               K-Opticom Corporation

a. [JPNICハンドル]              HA3280JP
b. [氏名]                       赤沢 秀樹
c. [Last, First]                Akazawa, Hideki
d. [電子メイル]                 dbinfo@k-opti.ad.jp
f. [組織名]                     株式会社ケイ・オプティコム
g. [Organization]               K-Opticom Corporation

↑旧高等学校のウェブサイトなので、管理責任者が良く分かりませんが、私がトラフィックを見た限りではブラウザアクセスしているユーザがありますので、早めにマルウェアコードを削除して下さい。
念の為FTPログイン情報も変更して、ウェブサーバ提供しているファイルをスキャンした方がいいと思います。

【SweetOrange Exploit Kit 感染サーバ情報】

水曜日, 3月 20, 2013

DarkLeech Apache Moduleマルウェアのリバースエンジニアリング調査 (#OCJP-098について)

本件の内容はDarkLeech Apache Moduleに感染された事件(#OCJP-098)の続き調査となります。
今回のメインは発見したRogue Apache Moduleマルウェアのリバースエンジニアリングの内容になります。
今後サーバ側からの対策が出来るように、マルウェアの形、動き方、とその他詳細な情報を洗い出したほうがいいと考えております。

《マルウェア発見調査》


数時間前日本国内にある感染されたサーバで調査を行いました。Apacheのaccess_logにあやしい項目を発見しました、grepの結果↓
# grep "q.php" *
access_log.processed.4:xxx.xxx.xxx.xxx - - [12/Mar/2013:19:16:39 +0900] "GET /c47eba283f292f2ee6e2047328b55d7e/q.php?kwi=onl&suzmos=uzrrqxk HTTP/1.1" 404 8884 "-" "Mozilla/4.0 (Windows XP 5.1) Java/1.6.0_07"
access_log.processed.4:xxx.xxx.xxx.xxx - - [12/Mar/2013:19:16:39 +0900] "GET /c47eba283f292f2ee6e2047328b55d7e/q.php?kwi=onl&suzmos=uzrrqxk HTTP/1.1" 404 8884 "-" "Mozilla/4.0 (Windows XP 5.1) Java/1.6.0_07"
access_log.processed.8:xxx.xxx.xxx.xxx - - [08/Mar/2013:19:31:05 +0900] "GET /c47eba283f292f2ee6e2047328b55d7e/q.php?owlhh=kwfyos&nubobo=jyaxej HTTP/1.1" 404 8804 "-" "Mozilla/4.0 (Windows XP 5.1) Java/1.6.0_07"
access_log.processed.8:xxx.xxx.xxx.xxx - - [08/Mar/2013:19:31:05 +0900] "GET /c47eba283f292f2ee6e2047328b55d7e/q.php?owlhh=kwfyos&nubobo=jyaxej HTTP/1.1" 404 8884 "-" "Mozilla/4.0 (Windows XP 5.1) Java/1.6.0_07"
access_log.processed.8:xxx.xxx.xxx.xxx - - [08/Mar/2013:19:31:16 +0900] "GET /c47eba283f292f2ee6e2047328b55d7e/q.php?owlhh=kwfyos&nubobo=jyaxej HTTP/1.1" 404 8804 "-" "Mozilla/4.0 (Windows XP 5.1) Java/1.6.0_07"
access_log.processed.8:xxx.xxx.xxx.xxx - - [08/Mar/2013:19:31:16 +0900] "GET /c47eba283f292f2ee6e2047328b55d7e/q.php?owlhh=kwfyos&nubobo=jyaxej HTTP/1.1" 404 8884 "-" "Mozilla/4.0 (Windows XP 5.1) Java/1.6.0_07"
↑このログの意味は2013年3月8日と12日にあるUA(User Agent)IEブラウザからアクセスが来て「xxx.xxx.xxx.xxx」にあるBlackhole Exploit Kit 2.xマルウェア感染サーバに転送されたが、URLが見つからず404の回答が出ました。
似たようなログが出たら間違いなくマルウェアに感染されたと思われます。

続いて、サーバの中に調査した上でRogue Apache Moduleのファイルが発見されました。
見つけた場所はやはりApacheのconfダイレクトリの周りで、confファイルの中にRogue Apache Moduleをロードするような項目を発見されました↓
$ cat ../etc/../mailman.conf| grep "mod_sec2"
LoadModule sec2_config_module modules/mod_sec2_config.so
(詳細なパスを隠しましたので、ご了承をお願いします)

Rogue Apache Moduleのパスの流れに行くと、下記のファイルを発見されました↓
$ ls -alF "./mod_sec2_config.so"
-rwxr--r--  1 xxx xxx  37296 Jun 26  2007 ./mod_sec2_config.so*
ハッシュ↓
$ md5 mod_sec2_config.so
MD5 (mod_sec2_config.so) = "81c1d493c7764f6692c30de8923c76ba"

【コメント】
これは本件の事件に感染されたDarkleechのRogue Apache Moduleマルウェアサンプルの一つです。
他の感染されたサーバにもバラバラのファイル名で書いてあると思いますが、上記と似たような検索をして下さい。
日付けはニセ日付けになり、ファイルが普通のコピー仕方ではなく、アーカイブファイルからextractしたっぽくてインストーラーがあるかもしれません。

【重要】
もう一つ重要な情報ですが、いくつかやられたサーバにはroot権限迄に取られてしまいましたので、ハッキングされた時期の/var/log/messagesのデータが消された状況が多いです。マルウェアモジュールが動くサーバは信用が出来ないと思っています。


モジュールファイルの名前可能性は↓
mod_sec2_config.so
mod_pool_log.so
mod_chart_proxy.so
mod_balance_alias.so
    :

↑この名前のフォーマットを使いconfのダイレクトリーにgrepをすれば出れますね。

検索のregexは↓
mod\_[a-z0-9]{3,}\_[a-z0-9]{3,}\.so

《バイナリ詳細情報調査》


ファイル自体はELFのi386ですね↓
file format elf32-i386
architecture: i386, flags 0x00000150:
HAS_SYMS, DYNAMIC, D_PAGED
start address 0x00003050
HEXで見ると↓
0000   7F 45 4C 46 01 01 01 00 00 00 00 00 00 00 00 00    .ELF............
0010   03 00 03 00 01 00 00 00 50 30 00 00 34 00 00 00    ........P0..4...
0020   A0 8D 00 00 00 00 00 00 34 00 20 00 05 00 28 00    ........4. ...(.
0030   1A 00 19 00 01 00 00 00 00 00 00 00 00 00 00 00    ................
0040   00 00 00 00 F0 77 00 00 F0 77 00 00 05 00 00 00    .....w...w......
0050   00 10 00 00 01 00 00 00 00 80 00 00 00 80 00 00    ................
0060   00 80 00 00 F0 0B 00 00 84 0D 00 00 06 00 00 00    ................
0070   00 10 00 00 02 00 00 00 18 80 00 00 18 80 00 00    ................
0080   18 80 00 00 D0 00 00 00 D0 00 00 00 06 00 00 00    ................
0090   04 00 00 00 50 E5 74 64 C0 70 00 00 C0 70 00 00    ....P.td.p...p..
00A0   C0 70 00 00 7C 01 00 00 7C 01 00 00 04 00 00 00    .p..|...|.......
00B0   04 00 00 00 51 E5 74 64 00 00 00 00 00 00 00 00    ....Q.td........
 :                                :                            :
バイナリーのヘッタ(Header)↓
LOAD off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**12
         filesz 0x000077f0 memsz 0x000077f0 flags r-x
    LOAD off    0x00008000 vaddr 0x00008000 paddr 0x00008000 align 2**12
         filesz 0x00000bf0 memsz 0x00000d84 flags rw-
 DYNAMIC off    0x00008018 vaddr 0x00008018 paddr 0x00008018 align 2**2
         filesz 0x000000d0 memsz 0x000000d0 flags rw-
EH_FRAME off    0x000070c0 vaddr 0x000070c0 paddr 0x000070c0 align 2**2
         filesz 0x0000017c memsz 0x0000017c flags r--
   STACK off    0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2
         filesz 0x00000000 memsz 0x00000000 flags rw-
ダイナミックセクション(Dynamic Section)
NEEDED      libm.so.6
  NEEDED      libc.so.6
  SONAME      mod_sec2_config.so
  INIT        0x29f8
  FINI        0x6f74
  HASH        0xd4
  STRTAB      0x16ec
  SYMTAB      0x7bc
  STRSZ       0x964
  SYMENT      0x10
  PLTGOT      0x82cc
  PLTRELSZ    0x318
  PLTREL      0x11
  JMPREL      0x26e0
  REL         0x22c8
  RELSZ       0x418
  RELENT      0x8
  VERNEED     0x2238
  VERNEEDNUM  0x2
  VERSYM      0x2050
  RELCOUNT    0x9
バーション・リファレンス(Version Reference)↓
required from libm.so.6:
    0x0d696910 0x00 08 GLIBC_2.0
  required from libc.so.6:
    0x09691f73 0x00 07 GLIBC_2.1.3
    0x0d696911 0x00 06 GLIBC_2.1
    0x0d696914 0x00 05 GLIBC_2.4
    0x09691974 0x00 04 GLIBC_2.3.4
    0x0d696913 0x00 03 GLIBC_2.3
    0x0d696910 0x00 02 GLIBC_2.0 
セクション詳細情報(Section Details)
Idx Name          Size      VMA       LMA       File off  Algn
  0 .hash         000006e8  000000d4  000000d4  000000d4  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  1 .dynsym       00000f30  000007bc  000007bc  000007bc  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  2 .dynstr       00000964  000016ec  000016ec  000016ec  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  3 .gnu.version  000001e6  00002050  00002050  00002050  2**1
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  4 .gnu.version_r 00000090  00002238  00002238  00002238  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  5 .rel.dyn      00000418  000022c8  000022c8  000022c8  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  6 .rel.plt      00000318  000026e0  000026e0  000026e0  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
  7 .init         00000017  000029f8  000029f8  000029f8  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  8 .plt          00000640  00002a10  00002a10  00002a10  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  9 .text         00003f24  00003050  00003050  00003050  2**4
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 10 .fini         0000001c  00006f74  00006f74  00006f74  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
 11 .rodata       0000011d  00006fa0  00006fa0  00006fa0  2**5
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 12 .eh_frame_hdr 0000017c  000070c0  000070c0  000070c0  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 13 .eh_frame     000005b4  0000723c  0000723c  0000723c  2**2
                  CONTENTS, ALLOC, LOAD, READONLY, DATA
 14 .ctors        00000008  00008000  00008000  00008000  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 15 .dtors        00000008  00008008  00008008  00008008  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 16 .jcr          00000004  00008010  00008010  00008010  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 17 .data.rel.ro  00000004  00008014  00008014  00008014  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 18 .dynamic      000000d0  00008018  00008018  00008018  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 19 .got          000001e4  000080e8  000080e8  000080e8  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 20 .got.plt      00000198  000082cc  000082cc  000082cc  2**2
                  CONTENTS, ALLOC, LOAD, DATA
 21 .data         00000770  00008480  00008480  00008480  2**5
                  CONTENTS, ALLOC, LOAD, DATA
 22 .bss          00000184  00008c00  00008c00  00008bf0  2**5
                  ALLOC
 23 .comment      000000e4  00000000  00000000  00008bf0  2**0
                  CONTENTS, READONLY

【コメント】

拾ったマルウェアモジュールのファイルはx32ビットのバイナリーですね。どんなサーバも動かすのは可能な物です…
マルウェアバイナリーの対応しているGLIBCのバーションは2.0~2.3.4です。
linuxライブラリ「libm.so.6 or libc.so.6 」が必要です。


《バイナリー分析調査》


importモジュール一覧(import module list)↓
[Imports]

67 imports
_Jv_RegisterClasses
__ctype_b_loc
__ctype_tolower_loc
__ctype_toupper_loc
__cxa_finalize
__fprintf_chk
__gmon_start__
__memcpy_chk
__snprintf_chk
__sprintf_chk
__stack_chk_fail
__strtol_internal
__xstat
ap_add_output_filter // apr_*  <==Apache development module!
ap_hook_insert_filter
ap_md5
ap_pass_brigade
ap_register_output_filter
ap_set_flag_slot
apr_brigade_cleanup   // apr_*  <==Apache Portable Runtime!
apr_brigade_create
apr_bucket_alloc
apr_bucket_eos_create
apr_bucket_free
apr_bucket_heap_create
apr_bucket_type_eos
apr_file_close
apr_file_open
apr_palloc
apr_table_add
apr_table_get
ceil             // マルウェアが使っているコマンドはここから…
close
connect
fclose
fgets
fopen
fread
gethostbyname
getpwnam
gettimeofday
gmtime
inet_ntoa
malloc
memcpy
memset
open
opendir
rand
read
readdir
recv
remove
send
snprintf
socket
srand
strchr
strcmp
strftime
strlen
strncpy
strspn
strstr
strtok
time
uname
symbols一覧(Symbol List)↓
[Symbols]

163 symbols
ARRAY_BAN_LOCAL_IP
ARRAY_BAN_PROC
ARRAY_BAN_USERAGENT
ARRAY_BLACKLIST_URI
ARRAY_SE_REFERER
ARRAY_SUDOERS
ARRAY_TAGS_FOR_INJECT
CC_HOST
CC_REQUEST_FORMAT
CC_URI
CLIENT_IP
C_ARRAY_BAN_LOCAL_IP
C_ARRAY_BAN_PROC
C_ARRAY_BAN_USERAGENT
C_ARRAY_BLACKLIST_URI
C_ARRAY_SE_REFERER
C_ARRAY_SUDOERS
C_ARRAY_TAGS_FOR_INJECT
C_CC_HOST
C_CC_REQUEST_FORMAT
C_CC_URI
C_KEY_COOKIE_NAME
C_LIST_PREF
C_MARKER_LEFT
C_MARKER_RIGHT
C_MODULE_VERSION
C_STRING_1
C_STRING_10
C_STRING_11
C_STRING_12
C_STRING_13
C_STRING_14
C_STRING_15
C_STRING_16
C_STRING_17
C_STRING_18
C_STRING_19
C_STRING_2
C_STRING_20
C_STRING_21
C_STRING_22
C_STRING_23
C_STRING_24
C_STRING_25
C_STRING_26
C_STRING_27
C_STRING_28
C_STRING_29
C_STRING_3
C_STRING_30
C_STRING_31
C_STRING_32
C_STRING_33
C_STRING_34
C_STRING_35
C_STRING_4
C_STRING_5
C_STRING_6
C_STRING_7
C_STRING_8
C_STRING_9
C_TMP_DIR
FILENAME_UPDATING
FILTER
GEN_FILENAME_INJECT
GEN_FILENAME_SESSION
GEN_FILENAME_WAITLIST
KEY_CLIENT
KEY_COOKIE_NAME
KEY_XOR
LIST_PREF
MARKER_LEFT
MARKER_RIGHT
MODULE_VERSION
SIZE_ARRAY_BAN_PROC
SIZE_ARRAY_BAN_USERAGENT
SIZE_ARRAY_BLACKLIST_URI
SIZE_ARRAY_SE_REFERER
SIZE_ARRAY_SUDOERS
SIZE_ARRAY_TAGS_FOR_INJECT
STRING_1     // この辺に転送先CnC/C2/CCマルウェアサーバの情報があります
STRING_10
STRING_11
STRING_12
STRING_13
STRING_14
STRING_15
STRING_16
STRING_17
STRING_18
STRING_19
STRING_2
STRING_20
STRING_21
STRING_22
STRING_23
STRING_24
STRING_25
STRING_26
STRING_27
STRING_28
STRING_29
STRING_3
STRING_30
STRING_31
STRING_32
STRING_33
STRING_34
STRING_35
STRING_4
STRING_5
STRING_6
STRING_7
STRING_8
STRING_9
TMP_DIR        // TEMP環境迄…
_ADD_TO_BLACKLIST //全て _CHECK*はマルウェアの機能
_ADD_TO_WAITLIST
_CHECK_BLACKLIST
_CHECK_BOT_USERAGENT
_CHECK_JS
_CHECK_LOCAL_IP
_CHECK_PROC
_CHECK_RAW_COOKIE
_CHECK_REFERER_IS_HOST
_CHECK_REFERER_IS_SEO
_CHECK_SITE_ADMIN
_CHECK_SITE_KERNEL
_CHECK_UTMP
_CHECK_WAITLIST
_GEN_FILENAME_BLACKLIST
_INJECT_DO
_INJECT_LOAD
_INJECT_SAVE
_INJECT_SKIP
_INJECT_UPDATE
_IS_SUDOER
_SESSION_DELETE
_SESSION_KEYGEN
_SESSION_LOAD
_SESSION_SAVE
_SET_COOKIE_KEY
__bss_start
_edata
_end
_fini
_init
base64decode
base64encode
explode
filesize
from_hex
ip2long
max
min
rtrim
sec2_config_module
stristr
to_hex
urlencode
xor_decrypt_string
xor_encrypt
xor_encrypt_string
.rodataのストリングス(etc strings)↓(開発環境が残っていますね…)
.rodata:00006FA3 0000000E C /var/run/utmp  // ログイン情報…取られます…
.rodata:00006FB1 00000006 C /dev/
.rodata:00006FB7 00000006 C %i\n%s
.rodata:00006FC1 00000012 C mod_sec2_config.c  // マルウェア開発のゴミだ…
.rodata:0000700F 0000000B C ?456789:;<=   // 暗号のトレース…
.rodata:00007028 00000005 C \a\b\t\n\v                                                       
.rodata:00007047 00000014 C  !\"#$%&'()*+,-./0123                                            
.rodata:00007060 00000041 C ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ 
.rodata:000070AC 00000011 C 0123456789abcdef 

【重要】

マルウェアに発見したの全てのSTRINGSは→【こちら】です。
マルウェアバイナリーの全てリバースしたASMは→【こちら】

《リバースエンジニアリング調査》

スタート(start point)は「___gmon_start__」のfunctionからです↓

___gmon_start__ proc near
jmp     ds:off_845C     ; PIC mode
___gmon_start__ endp
データは暗号されたそうです、下記のように↓
↑暗号されたパターンを見るとXORされたっぽいで、XOR関係コードを先ずは探す。

バイナリーのこの辺でXORのfunctionを発見↓

0x17C8   0x17C8   xor_decrypt_string
0x17ED   0x17ED   xor_encrypt_string
0x1800   0x1800   xor_encrypt
+、びみようにニセXORキー↓
0x1CB8   0x1CB8   KEY_XOR
ニセ物を無視、xorのfunctionをコードで探す。 で、stringとgeneric XOR暗号ロジックがあります。 genericなXORロジックは↓
xor_encrypt(A8, Ac, A10, A14)
/* unknown */ void  A8;
/* unknown */ void  Ac;
/* unknown */ void  A10;
/* unknown */ void  A14;
{
 /* unknown */ void  ebx;
 /* unknown */ void  esi;
 /* unknown */ void  Vfffffff4;

    edx = A10;
    L00003117();
    ebx = ebx + 0x4f3b;
    if(edx != 0 && A8 != 0) {
        Vfffffff4 = A14;
        *esp = *( *( *( *(ebx + -300)) + 0xc));
        *(ebp - 0x10) = L00002D90();
        if(A14 > 0) {
            ecx = 0;
            do {
                edx = ecx;
                eax = ecx;
                edx = edx >> 0x1f;
                Ac = Ac / Ac;
                eax = *(ecx + A10) & 0xff;
                al = al ^ *(Ac % Ac + A8);
                *(ecx + *(ebp - 0x10)) = al;
                ecx = ecx + 1;
            } while(ecx != A14);
        }
        return *(ebp - 0x10);
    }
    *(ebp - 0x10) = 0;
    eax = *(ebp - 0x10);
    esp = esp + 0xc; }
XORのstring暗号は↓
xor_encrypt_string(A8, Ac, A10, A14)
/* unknown */ void  A8;
/* unknown */ void  Ac;
/* unknown */ void  A10;
/* unknown */ void  A14;
{
 /* unknown */ void  V0;
 /* unknown */ void  V4;
 /* unknown */ void  ebx;
 /* unknown */ void  Vfffffffc;

    ebx = ebx + 0x4f7d;
    V4 = L00003117();
    V0 = A10;
    Vfffffffc = Ac;
    *esp = A8;
    return L00002C00(); }
さらにですね、XORリバースロジックも発見しました(^^ やはりマルウェアも実行の前にリバースが必要↓
xor_decrypt_string(A8, Ac, A10, A14)
/* unknown */ void  A8;
/* unknown */ void  Ac;
/* unknown */ void  A10;
/* unknown */ void  A14;
{
 /* unknown */ void  ebx;
 /* unknown */ void  esi;
 /* unknown */ void  Vfffffff4;

    L00003117();
    ebx = ebx + 0x5001;
    esp = esp - 0xc;
    Vfffffff4 = A14 + 1;
    *esp = *( *( *( *(ebx + -300)) + 0xc));
    *(ebp - 0x10) = L00002D90();
    if(A14 > 0) {
        ecx = 0;
        do {
            edx = 0;
            eax = 0;
            edx = 0 >> 0x1f;
            Ac = Ac / Ac;
            al = *A10 & 0xff ^ *(Ac % Ac + A8);
            *( *(ebp - 0x10)) = al;
        } while(1 != A14);
    }
    esi = *(ebp - 0x10);
    *(esi + A14) = 0;
    eax = esi;
    esp = esp + 0xc;
XORがあるという事はキーが何処かにあるはずですので、 私の手元にあるサンプルでは offset 0x84a0にキーを発見しましたが、 キーをそのままで使うと下記のロジックで動かせばデータの所だけにを回すと…↓
fd.seek(キー長さ) # 32
key = fd.read(12)
for s in tab:
    fd.seek(s['offset'])
    data = fd.read(s['size'])
    decrypted = ''.join(chr(ord(c)^ord(k)) for c,k in izip(data, cycle(key)))
    clear_text = decrypted.split('\x00')[0]
    print('%s: %s') % (s['name'], clear_text)
↑全て情報が出ました(^^ ばけてる字もありますが見えない字をカットしました、して綺麗にすると↓
C_MODULE_VERSION: "2012.12.14"
C_CC_HOST: "217.23.13.6"
C_CC_URI: "/Home/index.php"
C_CC_REQUEST_FORMAT: POST %s HTTP/1.1
Host: %s
Content-Type: "application/x-www-form-urlencoded"
Content-Length: 
    %i
    %s
C_MARKER_LEFT: {{{
C_MARKER_RIGHT: }}}
C_TMP_DIR: /
C_LIST_PREF: sess_
C_COOKIE_NAME: "PHP_SESSION_ID="
C_ARRAY_TAGS_FOR_INJECT: "
    </script>
    </style>
    </head>
    </title>
    </body>
    </html>
    </table>
    </h1>
    </i>
    </ul>"
C_ARRAY_BAN_USERAGENT:" 
    CHROME
    GOOGLEBOT
    SLURP
    YAHOO
    BING
    LINUX
    OPENBSD
      :(などなど…長い書いたあるので、結論の所に纏めました)
    CURL
    PHP
    INDY LIBRARY"
C_ARRAY_BLACKLIST_URI: 
    "ADMIN"
C_ARRAY_BAN_PROC: "
  f7277f6714e4b034216cf6558cc6327b
  28878074a3dd19c7361e8a6d3f04fc17
  d0415afe195478d4d8c9af205644"
C_ARRAY_SE_REFERRER: "
    GOOGLE.
    YAHOO.
    YANDEX.
    RAMBLER.
      :(などなど…長い書いたあるので、結論の所に纏めました)
    VERDEN."
C_ARRAY_SUDOERS: r
C_STRING_1: 
    %i
    %i
    %i
    %s
C_STRING_2: "text/html"
C_STRING_3: %
C_STRING_5: "document.write('%s');" // %sにはマルウェア転送コード
C_STRING_5: r
C_STRING_6: "User-Agent"
C_STRING_7: %s%.*s
C_STRING_8: "Referer"
C_STRING_9: "X-Forwarded-For"
C_STRING_10: "Client-IP"
C_STRING_11: "X-Real-IP"
C_STRING_12: "Cookie"
C_STRING_13: ;
C_STRING_14: %s/%s%s
C_STRING_15: "INJECT"
C_STRING_16: "javascript"
C_STRING_17: "text/js"
C_STRING_18: j
C_STRING_19: 
C_STRING_20: "id="
C_STRING_21: "%a %d-%b-%Y %H:%M:%S %Z"
C_STRING_22: "Set-Cookie"
C_STRING_23: "%s%i; expires=%s; path=/"
C_STRING_24: "Set-Cookie"
C_STRING_25: w
C_STRING_26: %
C_STRING_27: "Request-Hash"
C_STRING_28: c=1&version=%s&uname=%s
C_STRING_29: c=1&version=%s&uname=
C_STRING_30: "/proc/"
C_STRING_31: 0123456789
C_STRING_32: "/proc/%s/comm"
C_STRING_33: "/usr/lib/libbdl.so.0"
C_STRING_34: U
C_STRING_35: .js

↑上記のリバースした結果をファイルウォールやプロキシフィルターに入れるとブロックが出来るはずと思います。
もう一つサンプルが御座いますので、リバースしたら中身殆ど同じなんですが↓
$ python sec3.py ./mod_pool_log.so
C_MODULE_VERSION: 2012.12.14
C_CC_HOST: 217.23.13.65
C_CC_URI: /Home/index.php
C_CC_REQUEST_FORMAT: POST %s HTTP/1.1
Host: %s
Content-Type: application/x-www-form-urlencoded
Content-Length: %i
  :
などなど…

マルウェアのCNCは「217.23.13.65」オランダのサーバです↓

【マルウェア機能の分析調査】

上記「Symbols」に書いたマルウェア機能は下記の一覧かと思われます。

_ADD_TO_BLACKLIST
_ADD_TO_WAITLIST
_CHECK_BLACKLIST
_CHECK_BOT_USERAGENT
_CHECK_JS
_CHECK_LOCAL_IP
_CHECK_PROC
_CHECK_RAW_COOKIE
_CHECK_REFERER_IS_HOST
_CHECK_REFERER_IS_SEO
_CHECK_SITE_ADMIN
_CHECK_SITE_KERNEL
_CHECK_UTMP
_CHECK_WAITLIST
_GEN_FILENAME_BLACKLIST
_INJECT_DO
_INJECT_LOAD
_INJECT_SAVE
_INJECT_SKIP
_INJECT_UPDATE
_IS_SUDOER
_SESSION_DELETE
_SESSION_KEYGEN
_SESSION_LOAD
_SESSION_SAVE
_SET_COOKIE_KEY
この機能を分析するとマルウェアの動きが分かります。

マルウェア機能をバイナリーからASMへリバースし、Cで書きました。
アクセスは→【こちら】です。

調査結果は↓
(1)コールの流れ行くとシステムコールを結構使われます(例えばsudo, utmp, host, uname, /procの情報をロード、などなど)
(2)殆どApacheモジュールのC-APIが使われます。

↑本情報のご注意が必要です。という意味ではが【ACTIVE】な感染されたウェブサーバにはroot権限が取られてしまう可能性が非常に高いです…

《マルウェアの検知率調査、参考:ウイルストータル》

サンプル1 - URL: 【クリック】

SHA256: 94ef407cc485989464dcf390fcea6e82218bc89f75394e41a95e0bb31830786b
SHA1: cc594b4d924b0710db64bcca5012d22db8842f98
MD5: 81c1d493c7764f6692c30de8923c76ba
File size: 36.4 KB ( 37296 bytes )
File name: mod_sec2_config.so
File type: ELF
Tags: elf
Detection ratio: 4 / 45
Analysis date: 2013-03-20 02:42:20 UTC ( 5 minutes ago )
【ExifTool】
MIMEType.................: application/octet-stream
CPUByteOrder.............: Little endian
CPUArchitecture..........: 32 bit
FileType.................: ELF executable
ObjectFileType...........: Shared object file
CPUType..................: i386
【マルウェア名前】
GData                    : ELF:Apmod-B
Avast                    : ELF:Apmod-B [Trj]
Microsoft                : Backdoor:Linux/Apmod.gen!A
Kaspersky                : HEUR:Backdoor.Linux.Apmod.gen
サンプル2 - URL: 【クリック】
SHA256: ece16200fd54500a33d81f37a9f864148cbf8846514978413168ffacd46d28c3
SHA1: ef3741f3cc2c60cc4cd88e6293776e39d56cd78b
MD5: ae7c369b8bd49a04f87fab72d4d3431d
File size: 36.4 KB ( 37272 bytes )
File name: mod_pool_log.so
File type: ELF
Tags: elf
Detection ratio: 5 / 45
Analysis date: 2013-03-20 02:42:45 UTC ( 9 minutes ago )
【ExifTool】
MIMEType.................: application/octet-stream
CPUByteOrder.............: Little endian
CPUArchitecture..........: 32 bit
FileType.................: ELF executable
ObjectFileType...........: Shared object file
CPUType..................: i386
【マルウェア名前】
GData                    : ELF:Apmod-B
Avast                    : ELF:Apmod-B [Trj]
Microsoft                : Backdoor:Linux/Apmod.gen!A
Kaspersky                : HEUR:Backdoor.Linux.Apmod.gen
Ikarus                   : Backdoor.Linux.Apmod

《まとめて、結論》

これで今回のDarkleechのApacheマルウェアモジュールの動きが全て分かりました。

結論は下記となります↓

1. USER-AGENTでのブロック機能があります。
今回のサンプルではIEからのアクセスをブロックされずに、 下記のボット/ブラウザ/BOTからのアクセスがブロックされます↓

SAFARI
OPERA
FIREFOX
CHROME
GOOGLEBOT
SLURP
YAHOO
BING
LINUX
OPENBSD
MACINTOSH
MAC OS
IPHONE
SYMBIANOS
NOKIA
LINKDEX
FROG/1
USER-AGENT
BLACKBERRY
MOTOROLA
APPLE-PUB
AKREGATOR
SONYERICSSON
MACBOOK
XENU LINK
METAURI
REEDER
MOODLEBOT
SAMSUNG
SINDICE-FETCHER
EZOOMS
NIKOBOT
BINLAR
DARWIN
PLAYSTATION
OPERA MINI
NINTENDO
YANDEX
CRAWLER
JIKE
SPIDER
ROBOT
PAPERLIBOT
SNAPPREVIEWBOT
BUFFERBOT
MEDIAPARTNERS
HATENA
BLUEDRAGON
WORDPRESS
XIANGUO
WOOPINGBOT
CAFFEINATED
FEEDZIRRA
BITLYBOT
FOIIABOT
PROXIMIC
VBSEO
FOLLOWSITE
SOGOU
NHN
WGET
MSNBOT
YOUDAO
STACKRAMBLER
LWP::SIMPLE
QIHOOBOT
BRUTUS
HTTPCLIENT
NIELSEN
CURL
PHP
INDY LIBRARY
2. サーバのログインユーザブロック機能
マルウェアバイナリーのsymbolsに書いたcheck_UTMPを
IT-PROで書いたUTMPの情報(日本語)↓
UNIXにおいて,who, write, loginなどの
コマンドが必要とするユーザーおよびアカウント情報を保持したファイル。
/var/logディレクトリに置かれる。
多くのシステム・プログラムがその整合性に依存しており,
utmpファイルを書き込み可能にしてはいけない。
不特定のユーザーから書き込み可能なままにしておくと,
ログ・ファイルの偽装やシステム・ファイルの改ざんを受ける危険性がある。 
manページの英文では↓
The utmp file allows one to discover information 
about who is currently using the system. 
There may be more users currently using the system, 
because not all programs use utmp logging.
本マルウェアでは、ログインユーザのブラックリストを作る為にcheck_UTMPを使っていますね。 証拠↓
0x1997   0x1997   _CHECK_UTMP
0x6FA3   0x6FA3   /var/run/utmp
0x1997   0x1997   _CHECK_UTMP
0x6FA3   0x6FA3   /var/run/utmp
00006FA3 0000000E .rodata: C /var/run/utmp
3. HTTP REQUESTのREFERERをブロックする機能↓
GOOGLE.
YAHOO.
YANDEX.
RAMBLER.
MAIL.RU
BING.
SEARCH.
MSN.
ALLTHEWEB.
ASK.
LOOKSMART.
ALTAVISTA.
WEB.DE
FIREBALL.
LYCOS.
AOL.
ICQ.
NETZERO.
FRESH-WEATHER.
FREECAUSE.
MYSEARCH-FINDER.
NEXPLORE.
ATT.
REDROVIN.
TOSEEKA.
COMCAST.
INCREDIMAIL.
CHARTER.
VERIZON.
SUCHE.
VIRGILIO.
VERDEN.
↑ですが、私がGoogleで検索してから発見したので、恐らく本ブロック機能にはバグがありますね、よかった(^^
マルウェアについてのバグが山ほどありますので、サーバが感染してもマルウェアモジュールの軌道が出来ない/動かないとの状況も発見しました↓
execve("./mod_sec2_config.so", 
["./mod_sec2_config.so"], 
[/* 21 vars */]) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

4. Cookie使い方、感染の監視について
感染の監視条件で使っているみたいです↓

Set-Cookie: id=%ランダムハッシュ%
Set-Cookie: %a %d-%b-%Y %H:%M:%S %Z //フォーマット日付け
Set-Cookie: %s%i; expires=%s; path=/ 
5. マルウェアが使っているLinuxライブラリー
/usr/lib/libbdl.so.0
/usr/lib/libm.so.6
/usr/lib/libc.so.6
さらに、下記のパスのアクセスも必要
/proc
/proc/%s/comm
↑このライブラリーをSE LINUXでセットしたら本マルウェアが動けなくなります(検証済みです)。

6. HTMLインジェクト機能↓
感染されたApacheサーバのページに下記のマルウェア転送コードをインジェクトされます。

text/html
%
document.write('%s');
r
User-Agent
%s%.*s
Referer
X-Forwarded-For
Client-IP
X-Real-IP
Cookie
;
%s/%s%s
INJECT
javascript
text/js
7.a. 本マルウェアは下記のApacheモジュールを使っています↓
ap_add_output_filter
ap_hook_insert_filter
ap_md5
ap_pass_brigade
ap_register_output_filter
ap_set_flag_slot
7.b. そして下記のApacheモジュールのランタイムも使っています↓
apr_brigade_cleanup
apr_brigade_create
apr_bucket_alloc
apr_bucket_eos_create
apr_bucket_free
apr_bucket_heap_create
apr_bucket_type_eos
apr_file_close
apr_file_open
apr_palloc
apr_table_add
apr_table_get
8. 本マルウェアが使っているUNIX/Cコールコマンド一覧↓
ceil
close
connect
fclose
fgets
fopen
fread
gethostbyname
getpwnam
gettimeofday
gmtime
inet_ntoa
malloc
memcpy
memset
open
opendir
rand
read
readdir
recv
remove
send
snprintf
socket
srand
strchr
strcmp
strftime
strlen
strncpy
strspn
strstr
strtok
time
uname
9. マルウェアが使っている暗号機能の一覧
base64decode
base64encode
to_hex
urlencode
xor_decrypt_string
xor_encrypt
xor_encrypt_string

リバースエンジナイリング調査レポート以上です。

もしご質問が御座いましたらツイッターで@unixfreaxjpにご連絡下さい。

宜しくお願いします。

--
【ご注意】
本件のポストに書いた情報は(c)0day.jpのマルウェア研究調査の物となります。調査内容の無断転載禁止です。使いたい方は@unixfreaxjpにご連絡下さい。

火曜日, 3月 19, 2013

#OCJP-099: TDS:マルウェア転送仕組み、と、3件国内ウェブサイト感染事件の報告

最近国内のウェブサイトのトップページに変な転送コードが多いですね…
下記の3件はピックアップしたのリアルな調査した事件ですので、参考になるかと思います。

(1)サイト:home.384.jp/zcbeyduz/ (転送先はblackhole感染)

このサイトにアクセスしたら下記のウェブ画像が出ましたが↓


全てHTTPやり取りトラフィックを取ると変な動きを発見されます↓


別のIPにHTTPリクエストが飛びますね。httpのトラフィックを確認しましょう↓

↑最初のリクエストしたの回答の中にマルウェア転送コードがありますね。
明確にはindex.htmlの中にそのコードを発見しました。

decode(クラック)すると↓

↑なるほど、ハッカーがオリジナルindex.htmlを取って、書き換えてまたアップロードしました、と分かりました。転送先のURLを見たらBlackhole Exploit Kitのマルウェア感染サイトとなります。
本件の再現はブラウザ無しでも出来ますが、例えば↓
Resolving home.384.jp... seconds 0.00, 202.214.148.12
Caching home.384.jp => 202.214.148.12
Connecting to home.384.jp|202.214.148.12|:80... seconds 0.00, connected.
  :
GET /zcbeyduz/ HTTP/1.0
Referer: http://chelsea.jp
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Host: home.384.jp
Connection: keep-alive
Keep-Alive: 300
Accept-Language: en-us,en;q=0.5
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP request sent, awaiting response...
  :
HTTP/1.1 200 OK
Set-Cookie: BIGipServerhome_http_pool=403810496.20480.0000; expires=Mon, 18-Mar-2013 20:33:10 GMT; path=/
Date: Mon, 18 Mar 2013 19:33:10 GMT
Server: Apache/1.3.41 (Unix)
Last-Modified: Tue, 25 Dec 2012 00:59:08 GMT
ETag: "91d50a-117a-50d8fa5c"
Accept-Ranges: bytes
Content-Length: 4474
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
200 OK
  :
Stored cookie home.384.jp -1 (ANY) /   
   [expiry 2013-03-19 05:33:10] BIGipServerhome_http_pool 403810496.20480.0000
Length: 4,474 (4.4K) [text/html]
04:33:19 (133.29 KB/s) - `index.html' saved [4474/4474]

(2)サイト:www.dozouya.jp (転送先はredkit感染)

URLが二つがありますが(未だ他にはあると思います)
www.dozouya.jp/hensen/index.html
www.dozouya.jp/history/index.html

アクセスしたら下記のウェブ画像が出ましたが...↓


httpトラフィックの量が多いので、おかしい所は下記のように…

↑赤色の流れはトラフィック転送の順番ですが、紫色は送仕の原因ですね。
本件はTDS転送仕組みです。

《TDSとは?》

全国には「TDS」マルウェア転送方法がよく聞きましたが、現在マルウェアのウェブ感染のトップ感染仕組みです。「TDS」、英文では「Traffic Distribution System」との意味合いで日本語ですと「トラフィック流通システム」ですね、名前通りウェブトラフィックを流通する仕組みです。

基本的に悪く無い技術ですが、マルウェア感染の為に結構使われている仕組みなので、悪いイメージになってしまいます。
最近日本国内サイトに、マルウェア感染urlの飛ばす先にTDS仕組みも発見しました。
例えば、マルウェアの感染流れで行くと、TDSの立場的には転送マネージャーですね、こんな感じ↓
 転送URL → TDS → Exploit Kit → トロイ・ダウンローダー

このサイトにに書いたマルウェアコードがTDSの「trigger」になります↓

本件は感染はRedKit Exploit Kitの感染仕組みです。

(3)サイト/url:mobile.mom-n-pop.jp/index.html(転送先はロシアのサイト)

基本的に(1)と(2)に似ています。URLをアクセスしたら↓


少し時間が立ってから.RU(ロシア)のサイトへ自動転送…


index.htmlにはRedKit Exploit Kitの感染コードも発見しました。
下記の赤色トラフィックがマルウェア転送コードで紫色がTDS転送先のURLです。

↑本件もTDSですが、転送先のサイトは.RUサイトに設定されましたね…

皆さん、もし管理しているウェブサイトにマルウェア転送コードを発見したら、全てホームページのファイルをローカルに保存されたバックアップデータから取り戻した方がいいと思います。
後はウェブサーバの関係ファイルもmodule、php.ini、.htaccess、confファイルの中身をご確認して下さい。


--
【ご注意】
本件のポストに書いた情報は(c)0day.jpのマルウェア研究調査の物となります。調査内容の無断転載禁止です。使いたい方は@unixfreaxjpにご連絡下さい。