全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1760
推到 Plurk!
推到 Facebook!

對 RPC DCOM worm 的設想 病毒

 
conundrum
尊榮會員


發表:893
回覆:1272
積分:643
註冊:2004-01-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-18 17:02:33 IP:61.64.xxx.xxx 未訂閱
在此不是教入侵 是給不知者了解 如何自己測試才能防堵        此文已有一段時間了 所以應無再被駭的安全顧慮        http://www.rvibo.y365.com/rj/hac[62].HTM    《對 RPC DCOM worm 的設想》 序將病毒代碼列印成反彙編後的程式清單進行分析,看病毒分成哪些模組,使用了哪些系統調用,採用了 哪些技巧,如何將病毒感染文件的過程翻轉爲清除病毒、修復文件的過程,哪些代碼可被用做特徵碼以及 如何防禦這種病毒等等。分析人員的素質越高,分析過程就越快,理解也就越深;動態分析則是指利用Debug 等程式調試工具在記憶體帶毒的情況下,對病毒作動態跟蹤,觀察病毒的具體工作過程,以進一步在靜態 分析的基礎上理解病毒工作的原理。在病毒編碼比較簡單的情況下,動態分析不是必須的。但是,當病毒 採用了較多的技術手段時,就必須使用動、靜相結合的分析方法才能完成整個分析過程。   ??  ??綜上所述,利用原始備份和被檢測程式相比較的方法適合於不用專用軟體,可以發現異常情況的場合, 是一種簡單、基本的病毒檢測方法;掃描特徵串和識別特性字的方法更適用于廣大PC機用戶使用,方便而 又迅速;但對新出現的病毒會出現漏檢的情況,須要與分析和比較法結合使用。     ??  ??通過採取技術上和管理上的措施,電腦病毒是完全可以防範的。 發佈者: 艱苦  來源: BLUEDON 《對 RPC DCOM worm 的設想》 by tiger:  2003.8    名稱: 對 RPC DCOM 蠕蟲的設想作者: lion 主頁: http://www.cnhonker.com 日期: 2003/08/08 最近好象幾乎每 一個大的漏洞公佈出來,接著都會有一個針對這個漏洞的蠕蟲(worm) 流行,最近鬧得很凶的 RPC DCOM 漏洞估計也即將成爲 worm 的新傳播載體。 好象寫 worm 是一個熱門,很多人也覺得好奇,覺得 worm 是很深的一種技術,其實這個是很簡單的編程 遊戲而已。 我一直有個想法就是想寫一篇關於 worm 的技術分析(---爲了不教壞小孩子:),只是一直懶得提筆,本人對 蠕蟲的編寫已經失去了興趣,現在在新的 worm 風暴即將到來之前,我這裏很簡單分析一下蠕蟲的相關技 術,並對 RPC DCOM 蠕蟲進行一些設想。 大家當我是助“紂”爲虐也好,故意賣弄也好,我覺得還是要寫這篇文章,一年多沒寫過文章了,同時也 了卻了自己的一個心願。 你現在可以選擇不繼續往下看,但看完後不要對我吐口水。:) 一 什麽叫蠕蟲 首先從 spark 的 《Internet蠕蟲的定義和歷史》 文章中摘抄一段關於worm的解釋: 蠕蟲這個生物學名詞在1982年由Xerox PARC 的John F. Shoch等人最早 引入電腦領域[30],並給出了電腦蠕蟲的兩個最基本特徵:"可以從一台電腦移動到另一台電腦"和"可以自我 複製"。他們編寫蠕蟲的目的是做分散式計算的模型試驗,在他們的文章中,蠕蟲的破壞性和不易控制已經 初露端倪。1988年Morris蠕蟲爆發後,Eugene H. Spafford 爲了區分蠕蟲和病毒,給出了蠕蟲的技術角度的 定義,"電腦蠕蟲可以獨立運行,並能把自身的一個包含所有功能的版本傳播到另外的電腦上。"  (worm is a program that can run by itself and can propagate a fully working version of itself to other machines. )。  由於這裏不是向大家介紹蠕蟲的定義和歷史就不多說了,大家如果對這些感興趣,可以到這裏讀 spark 的 文章。http://www.nsfocus.net/index.php?act=magazine&do=view&mid=1851  二 蠕蟲的組成部分 一個蠕蟲的組成其實很簡單,由於我不是在這裏教你們寫蠕蟲,也由於時間限制,我 這裏只簡單的說一些。 我們可以把它看做一個工程,我們把這個工程分成 4 個模組: 1. 攻擊模組 首先得 需要有一個大量系統受影響的能被簡單利用的嚴重漏洞,以便能夠遠端控制機器。比如猜測薄弱口令啊, 遠端溢出啊等。  2. 感染模組 考慮怎麽讓對方被攻擊後,執行你想要實現的功能,完成對一個主機的感染。對遠端溢出來 說也就是完善shellcode了。 這中間得考慮一個感染傳播(繁殖)途徑的問題。  3. 傳播模組 比如,掃描一個網段有相關弱點的機器,存成一個文件,然後對這些IP進行攻擊,或者隨機 生成IP然後對這些IP進行攻擊等。  簡單的說就是掃描薄弱的機器。  4. 功能模組  功能模組其實是一個可要可不要的模組,但如果你想對方感染蠕蟲後還在對方加上後門 /DDoS等其他功能時,就必須得要有這個啦。  其實,一個蠕蟲成功的關鍵是一個攻擊模組和感染模組。:)  三 常見的蠕蟲的傳播(繁殖)途經 具體就不深入了, 只簡單列舉一下: 1. email 2. ftp 3. http 4. netbios 5. tftp   6. rcp 7. 其他 四 RPC DCOM 漏洞介紹 RPC DCOM 漏洞是最近出的一個Windows系統的嚴重漏洞,也 是有史以來最嚴重影響最廣泛的Windows漏洞。  Remote Procedure Call (RPC)是運用於Windows作業系統上的一種協定。 RPC提供相互處理通信機制,允許運行該程式的電腦在一個遠端系統上執行代碼。RPC協定本身源於OSF  (Open Software Foundation) RPC協定,後來又另外增加了一些Microsoft專用擴展功能。 RPC中處理TCP/IP資訊交換的模組由於錯誤的處理畸形資訊,遠端攻擊者可利用此缺陷以本地系統許可權 在系統上執行任意指令。 該缺陷影響使用RPC的DCOM介面,此介面處理由用戶端機器發送給伺服器的DCOM物件啟動請求(如UNC路徑)。 攻擊者成功利用此缺陷可以以本地系統許可權執行任意指令。 攻擊者可以在系統上執行任意操作,如安裝程式、查看或更改、刪除資料或建立系統管理員許可權的帳戶。     這個漏洞影響如下Windows版本:  Microsoft Windows XP SP1a  Microsoft Windows XP SP1  Microsoft Windows XP  Microsoft Windows NT 4.0SP6a  Microsoft Windows NT 4.0SP6  Microsoft Windows NT 4.0SP5  Microsoft Windows NT 4.0SP4 Microsoft Windows NT 4.0SP3  Microsoft Windows NT 4.0SP2  Microsoft Windows NT 4.0SP1  Microsoft Windows NT 4.0  Microsoft Windows 2003  Microsoft Windows 2000SP4  Microsoft Windows 2000SP3  Microsoft Windows 2000SP2  Microsoft Windows 2000SP1  Microsoft Windows 2000  可以看到, 此漏洞影響除了WinME以下版本的Windows系統之外的所有其他Windows系統。 同時,此漏洞能夠被攻擊者遠端利用,在沒有修補該漏洞的機器上可以遠端執行任意代碼,導致攻擊者能 夠完全控制有漏洞的機器。  五 RPC DCOM 蠕蟲的設想 1. 由於RPC COM已經有攻擊未打補丁的Win2000/WinXP的通用攻擊代碼發 佈出來,因此該漏洞更有可能被利用製作成爲能夠感染具有RPC DCOM漏洞的Win2000/WinXP機器的蠕蟲。  如PacketStorm上公佈的這個對Win2000和WinXP通用的 Exploit:  
 /* Windows 2003 <= remote RPC DCOM exploit * Coded by .:[oc192.us]:. Security * * Features: * * -d
destination host to attack. * * -p for port selection as exploit works on ports other than 135(139,445,539 etc) * * -r for
using a custom return address. * * -t to select target type (Offset) , this includes universal offsets for - * win2k and winXP
(Regardless of service pack) * * -l to select bindshell port on remote machine (Default: 666) * * - Shellcode has been
modified to call ExitThread, rather than ExitProcess, thus * preventing crash of RPC service on remote machine. * * This
is provided as proof-of-concept code only for educational * purposes and testing by authorized individuals with 
permission to * do so. */ 
在測試過這個exploit後發現,其實研究後我們可以發現可以在所有Win2000和WinXP上的RET位址, 這就解決了判斷目標系統版本的問題,直接可以使用一種資料包成功攻擊所有Win2000/WinXP。 我們只要簡單的修改一下該exploit, 使之能自動産生隨機IP地址,然後對這個IP進行攻擊嘗試,就可以完 成worm的攻擊模組。 或者你可以先生成一個隨機的C類地址,然後掃描這個C段裏有多少機器是開放135埠的,然後從掃描結 果裏取資料,並對這個IP實行攻擊嘗試,可以加快傳播的速度。 這些其實修改起來其實非常的容易。 2. 通過過替換攻擊代碼的shellcode部分,愛好者很容易能夠在目的機器上執行任意命令和功能。 比如簡單的在主機上添加一個管理員用戶,開一個shell埠,反連一個shell或者使電腦自動從某一個FTP 或者HTTP伺服器自動下載程式並執行等。 然後想要進一步深入,就可以在採用合適完美的shellcode上來做文章,達到最大的傳播效果。 如exec command shellcode, bind port shellcode, connect back shellcode, down file and exec shellcode, down url file and exec shellcode等,你容易在網上找到它,如hsj的ida溢出exploit裏就有一個down file and exec shellcode等。 這個有彙編基礎的攻擊者很容易實現。 這裏對上面談到的shellcode類型分別做一個簡單的比較,以找出RPC DCOM最可能利用的傳播途徑。 a. 通過添加一個管理員用戶,可以很容易的用Netbios共用來遠端共用傳播文件。但有對防火牆過濾了 Netbios 或者主機上不存在共用的情況下,不大好利用,而且,RPC DCOM 的攻擊代碼溢出後獲得的是system許可 權,想直接通過shellcode或者下載的程式來遠端用Netbios拷貝文件比較困難,需要有一個system to user的 許可權轉換模組,所以爲了更高效的利用這個漏洞,達到傳播快和速度大的 RPC DCOM 蠕蟲不大可能利 用這種技術。 b. 直接把命令寫進shellcode裏的話,簡單快捷。 甚至可以把所有需要用到的功能全寫進shellcode裏去,如年初掃蕩全球的sql worm, 把攻擊,感染,傳播 三個模組寫到短短的200多個16進制代碼裏實現。同樣可以在裏面加上下載程式並執行等功能。 c. 簡單的開一個bind port shell, 你可以執行系統命令,比如echo寫入一個腳本下載FTP站點裏的程式並執 行,甚至直接用TFTP下載程式等。 這種方法執行命令,很簡單,但每次攻擊需要有兩個連接,對系統開銷比較大,而且可能受防火牆的影響也比較大,不宜採取。 d. 反連的shellcode跟bind port shell差不多,不過這個可以把反連的這個監聽埠做成一個server形式,以便 於接受多個連接,然後自動對每一個連接發送一些指令,使機器能完成傳播。這個其實也是不錯的,能突 破不少防火牆,唯一的就是對禁止任何反連的防火牆沒什麽好辦法。 e. 還記得hsj的ida溢出的exploit吧,該exploit監聽一個埠,對目標溢出攻擊成功後,目標系統反連攻擊機 的這個埠接受一個指定的文件並保存在本機硬碟上,然後執行,這其實跟反連shellcode差不多,只是一個 是反連一個shell,另一個是反連回來取文件。 這應該是蠕蟲作者考慮中的傳播途徑。 f. 把程式放在某一個功能變數名稱或者IP的FTP/HTTP站點裏,所有感染的機器從這裏取程式,下載到本 地後執行。這種方法的好處是實現簡單,而且可以很好的繞過防火牆,因爲大多數的網路還是允許往外訪 問21/80埠的,而且可以很好的控制worm的版本和傳播,把文件刪掉就不會感染其他機器了,一般用於小 規模感染。因爲大規模感染的情況下,第一個倒下的是你的FTP/HTTP伺服器。:) g. Redcode/nimda的tftp下載程式方法,可以用在防火牆沒有遮罩udp的網路情況下,缺點是tftp傳送文件 太慢。居於Redcode/nimda的成功先例,這應該是蠕蟲作者考慮中的傳播途徑。 h. 你自己自由發揮想象力... 3. 如果RPC DCOM蠕蟲,採用結合以上各種方法的優勢,就可以完善一 個能突破大多數防火牆的繁殖方式來,以使蠕蟲能更好更快的得到傳播,通過結合利用Redcode和nimda 的相關技術,利用Redcode和nimda相同的tftp傳播方法,嘗試從攻擊IP裏tftp裏下載一個程式,如果下載 成功的話就執行,如果不成功,可以反連至該攻擊IP的某一個埠接受文件,如果再不成功,可以開一個埠 接收文件,再不成功,可以從FTP/HTTP站點下載文件...不過也得考慮你的shellcode的長度哦,呵呵。 更多的,你自己自由發揮想象力... 4. 加大蠕蟲傳播的途徑,還可以考慮nimda的email, html, netbios共用等方法來進行繁殖和傳播,做到這一 點就可以把RPC DCOM做成一個繼nimda後的第二個超級蠕蟲。 5. 甚至可以結合病毒技術,感染exe文件,加大傳播途徑,做到這一點,RPC DCOM worm肯定是一個超過 nimda的超級蠕蟲。 6. 功能模組中,還可以加上木馬功能或者DDoS功能,比如所有感染的機器同時向whitehouse,microsoft 或者其他網站網站進行DDoS攻擊,以完成更大的殺傷力。 7. 如果利用 UDP/135 傳播的話, RPC DCOM worm 傳播的速度和破壞力肯定跟SQL wrom 一樣完美。 十 RPC DCOM 蠕蟲爆發前的防治工作 1. 爲自己的主機打上微軟發佈的相關修補補丁。下面爲補丁的相關 下載地址 : Windows NT 4.0 Server: http://microsoft.com/downloads/details.aspx?FamilyId=2CC66F4E-217E-4FA7-BDBF-DF77A0B9303F&displaylang=en Windows NT 4.0 Terminal Server Edition : http://microsoft.com/downloads/details.aspx?FamilyId=6C0F0160-64FA-424C-A3C1-C9FAD2DC65CA&displaylang=en Windows 2000: http://microsoft.com/downloads/details.aspx?FamilyId=C8B8A846-F541-4C15-8C9F-220354449117&displaylang=en Windows XP 32 bit Edition: http://microsoft.com/downloads/details.aspx?FamilyId=2354406C-C5B6-44AC-9532-3DE40F69C074&displaylang=en Windows XP 64 bit Edition: http://microsoft.com/downloads/details.aspx?FamilyId=1B00F5DF-4A85-488F-80E3-C347ADCC4DF1&displaylang=en Windows Server 2003 32 bit Edition: http://microsoft.com/downloads/details.aspx?FamilyId=F8E0FF3A-9F4C-4061-9009-3A212458E92E&displaylang=en Windows Server 2003 64 bit Edition: http://microsoft.com/downloads/details.aspx?FamilyId=2B566973-C3F0-4EC1-995F-017E35692BC7&displaylang=en 2. 向用戶宣傳此漏洞的嚴重性和被蠕蟲利用的危害性,促使用戶修補該漏洞。 3. 在自己的路由器上封掉 TCP/135,UDP/135,甚至 TCP/139,UDP/139,TCP/445,UDP/445等RPC DCOM 能利用的相關埠, 以阻斷蠕蟲的攻擊和傳播。 *** 花了兩小時來寫這篇文章, 此文僅用於表達我對 RPC DCOM 蠕蟲的設想! :) *** 來源:lion個人主頁 發表人 - conundrum 於 2004/09/18 17:08:55
系統時間:2024-03-29 4:36:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!