首頁 -> 安全研究

安全研究

安全公告
綠盟科技安全公告(Alert2001-zh-001)

NSFOCUS安全小組([email protected])
http://www.nsfocus.com

防范"CodeRedII"蠕蟲!

發布日期:2001-08-07


受影響的軟件及系統:
====================
Microsoft Windows IIS 4.0 with Index Server
  - Microsoft Windows NT 4.0

Microsoft Windows IIS 5.0 with Index Service
  - Microsoft Windows 2000

某些型號CISCO路由器

未受影響的軟件及系統:
======================
已經安裝了微軟安全公告MS01-033中補丁的Windows系統

綜述:
======
最近,一個名為"CodeRedII"的蠕蟲正在迅速傳播。與以前的"Code Red"蠕蟲一樣,這個蠕蟲利用的也是微軟IIS web服務器的一個遠程漏洞:“微軟Index Server(.ida/idq) ISAPI擴展遠程溢出漏洞 (MS01-033)”
http://security.nsfocus.com/showQuery.asp?bugID=1528

分析:
======
與以前的"Code Red"蠕蟲不同的是,這個新蠕蟲會在被感染的系統上放置后門程序,因此它造成的危害更大。它也使用了一種更為有效的傳播機制,使它可以更快地感染其他主機。
在受感染的Windows 2000系統上,這個蠕蟲可以獲取系統(system)級權限,并會留下后門。由于蠕蟲代碼不適用Windows NT系統,因此可能造成Windows NT系統上的IIS服務崩潰。

蠕蟲特征:
==========

  。被蠕蟲攻擊的系統,可能會在web server的日志中留下如下的記錄:
  
    /default.ida?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXX%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u6858%uc
    bd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a
    HTTP/1.0
    
   這與"Code Red"蠕蟲留下的記錄非常相似:
  
    /default.ida?NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
    NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
    NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
    NNNNNNNNNNNN%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u6858%uc
    bd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a
    HTTP/1.0
  
    注意:如果您發現這樣的記錄,并不表示您的系統已經被感染了。只是表示蠕蟲試圖攻
    擊過您的系統。由于蠕蟲沒有對web服務器的類型進行識別,因此很多UNIX系統下的web
    服務器也會受到攻擊。如果蠕蟲攻擊成功,在IIS的日志中應該是看不到上述記錄的。
    
  。被蠕蟲感染的主機上,會存在下列后門程序:
    C:\explorer.exe
    D:\explorer.exe
    
    蠕蟲也會將%SYSTEM%\CMD.EXE文件復制到IIS "scripts" 和 "MSADC"目錄內,并改名為
    root.exe
  
  。 一旦被這個蠕蟲感染,您的web服務器負荷或者網絡流量可能會異常增大。
  
  。 在受到蠕蟲攻擊后,您的IIS 4.0服務可能會停止。
  
蠕蟲行為分析:
============

  下列分析是基于eEye Digital Security公司Marc Maiffret和Ryan Permeh提供的一份分
  析報告。您可以在下列地址查閱此報告全文:
  http://www.eeye.com/html/advisories/coderedII.zip
  
  這個蠕蟲的行為可以分為三部分:感染、繁殖、安裝木馬。
  
  【感染】
    
    * 蠕蟲設置一個跳轉表,以便得到所有需要的函數地址  
    * 獲得當前主機的IP地址,以便在后面的繁殖步驟中處理子網掩碼時使用。
    * 檢查系統語言是否中文 (臺灣或中華人民共和國版本)
    * 檢查是否已經執行過了,如已執行則跳至繁殖步驟
    * 檢查"CodeRedII" atom是否已被放置。這個步驟可以確保此主機不會被重復感染。
      如已放置,則進入永久休眠狀態。
    * 如上一檢查沒有發現中沒有發現"CodeRedII" atom,則增加一個"CodeRedII" atom。
      用來表示此主機已經被感染。
    * 對于非中文系統,將工作線程數目定為300。如果是中文系統,則設置為600
    * 蠕蟲開始產生一個新的線程跳到第一步去執行。蠕蟲會根據上一步驟中設定的線程
      數目產生新線程。這些線程都會跳至繁殖步驟去執行。
    * 調用木馬功能
    * 如果是非中文系統,蠕蟲休眠1天;如果是中文系統,蠕蟲休眠2天
    * 重起系統。這會清除內存中駐留的蠕蟲,只留下后門和explorer.exe木馬。

  【繁殖】
  
    * 設置IP_STORAGE變量。保證不會重復感染本主機
    * 休眠64h毫秒
    * 獲取本地系統時間。蠕蟲會檢查當前時間是不是小于2002年或月份小于10月。如果
      日期超出了上述條件,蠕蟲會重啟系統。這使蠕蟲的傳播不會超過10月1日。
    * 設置SockAddr_in變量,獲取攻擊主機IP時會使用這個變量。
    * 設置Socket套接字。蠕蟲調用socket()函數,產生一個套接字,并設置該套接字為
      非阻塞模式。這可以加速連接速度。
    * 產生下一要攻擊主機的IP并發起連接。如果連接成功,將跳到"設置套接字為阻塞
      模式"步驟。
    * 調用select()。如果沒有返回句柄,則跳到最后一步。
    * 設置套接字為阻塞模式。 這是因為連接已經建立,沒有必要再使用非阻塞模式。
    * 向該套接字發送一份蠕蟲的拷貝
    * 執行recv調用
    * 關閉套接字,返回第一步。
    
    這個蠕蟲的獨特之處在于它選擇下一個要連接的主機IP的方法。它首先在1到254的范
    圍內隨機生成4個字節(防止IP地址為一個0或255)。然后,隨機從這些字節中取出一個
    字節,然后與7做與操作('AND'),產生一個0 - 7之間的隨機數。然后根據這個隨機數
    從一個地址掩碼表中取出相應的掩碼:

        dd 0FFFFFFFFh           ; 0
        dd 0FFFFFF00h           ; 1
        dd 0FFFFFF00h           ; 2
        dd 0FFFFFF00h           ; 3
        dd 0FFFFFF00h           ; 4
        dd 0FFFF0000h           ; 5
        dd 0FFFF0000h           ; 6
        dd 0FFFF0000h           ; 7

    (注意實際掩碼在內存中的位置是反向存儲的)
    
    這個表可以決定隨機生成的IP地址有多少會被使用。例如,如果生成一個隨機數5,則
    根據上面的掩碼表,新的地址應該一半為隨機地址一半為舊IP地址。比如如目前受害
    者IP地址是192.168.1.1,隨機產生的IP可能是 01.23.45.67,則新的攻擊地址可能為
    192.168.45.67。

    其結果就是新的被攻擊IP會有八分之三的機率(5,6,7)在當前機器IP所在的B類地址
    范圍內產生,有八分之四的機率(1,2,3,4)在A類范圍內產生,另八分之一的機
    率是隨機IP地址(0)。

    蠕蟲如果發現產生的IP是127.x.x.x或者是224.x.x.x或者與當前IP相同,它就會重新
    產生一個新的IP.
    
    很多情況下,與被感染的主機在同一或相近網段內的主機也使用相同的系統。因此,
    蠕蟲使用這種機制就會大大增加感染的成功率。

  【安裝木馬】
  
    * 獲取%SYSTEM%系統目錄。例如C:\WINNT\SYSTEM32
    * 將cmd.exe加到系統目錄字符串的末尾,例如C:\WINNT\SYSTEM32\cmd.exe
    * 將驅動器盤符設置為C:
    * 將cmd.exe拷貝到 驅動器盤符:\inetpub\scripts\root.exe
    * 將cmd.exe拷貝到 驅動器盤符:\progra~1\common~1\system\MSADC\root.exe
    * 創建"驅動器盤符:\explorer.exe"
    * 往"驅動器盤符:\explorer.exe"中寫入二進制代碼。
    * 關閉"驅動器盤符:\explorer.exe"
    * 將驅動器盤符改為D,重復從第四步開始的操作
    * 回到【感染】階段的最后一步,開始休眠。
    
    蠕蟲創建的"explorer.exe"是一個木馬,它的主要工作方式如下:
    
     * 獲取本地windows目錄
     * 執行真正的"explorer.exe"
     * 進入下面的死循環:
       while(1)
        {
        設置"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SFCDisable"
            到0FFFFFF9Dh, 禁止系統文件保護
        設置"SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\Scripts"
            到 ,,217
        設置"SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\msadc"
            到 ,,217
        設置"SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\c"
            到c:\,,217
        設置"SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\Virtual Roots\d"
            到d:\,,217
        休眠10分鐘
        }
    
    蠕蟲通過修改上面的注冊表增加了兩個虛擬web目錄(/c和/d),并將其分別映射到C:\
    和D:\。這使得即使用戶刪除了root.exe,只要"explorer.exe"木馬仍在運行,攻擊者
    仍然可以利用這兩個虛擬目錄來遠程訪問您的系統。例如:
    
    http://TARGET/c/inetpub/scripts/root.exe?/c+dir (如果root.exe還存在)
    http://TARGET/c/winnt/system32/cmd.exe?/c+dir (如果root.exe已經被刪除)
    
    蠕蟲將"explorer.exe"木馬放在"C:\"和"D:\"的根目錄下面,這是想利用微軟安全公
    告MS00-052(http://www.microsoft.com/technet/security/bulletin/MS00-052.asp)
    中所描述的漏洞,windows系統在執行可執行程序時,會先搜索系統盤根目錄下面有沒
    有同名的程序,如果有,就先執行該程序。因此,如果攻擊者將"exploer.exe"木馬放
    在系統盤根目錄下面,就可能先于真正的"exploer.exe"被執行。當屬于管理員組的用
    戶交互地登錄進入系統時,木馬將被執行。如果您沒有安裝SP2或者MS00-052中的補丁,
    您就可能執行這個木馬程序;否則,您不會執行這個木馬。

解決方法:
==========
我們建議受到蠕蟲感染的用戶重新安裝系統,以便清除其他潛在地后門。如果您不能立刻重裝系統,您可以參考下列步驟來清除蠕蟲:

※  微軟已經提供了一個工具"Code Red II Cleaner"來消除CodeRedII蠕蟲. 這個工具所進行的操作是:

     * 刪除蠕蟲安裝的惡意文件(如果explorer.exe木馬已經運行,您需要首先殺掉木馬
       參考手工殺除木馬步驟)
     * 刪除蠕蟲安裝的映射(包括"/scirpts"和"/MSADC",如果您需要這兩個映射,需要
       手工重設)
     * 恢復windows 2000文件保護功能
     * 重啟動系統,消除內存中的蠕蟲。
     * 提供了一個額外的參數"-disable"來永久停止IIS服務(如果您不需要IIS服務,
       可以使用此參數)

    使用方法:
    
     1. 您可以在下列地址下載此工具:
        http://www.microsoft.com/Downloads/Release.asp?ReleaseID=31878

     2. 在命令行窗口中運行:
        c:\> CodeRedCleanup.exe
        或者
        c:\> CodeRedCleanup.exe -disable (如果您不需要IIS服務)
     3. 重新啟動系統
     4. 安裝補丁或者采取其他解決措施
     5. 再次運行此清除程序,以防止重新啟動后再次被蠕蟲感染。
     6. 重新啟動系統。
    
※  手工殺除"CodeRedII"蠕蟲的方法:
  
   1. 您應當首先停止IIS服務,以防止蠕蟲的進一步攻擊

   2. 打開任務管理器,選擇"進程"。檢查是否進程中有兩個"exploer.exe".如果您找到
      兩個"exploer.exe",說明木馬已經在您的機器上運行了,您應當立刻殺掉木馬程
      序;否則,說明您還沒有執行木馬程序,您可以轉到第四步。

   3. 在菜單中選擇 查看| 選定列 | 線程計數,按確定。這時您會發現顯示框中增加
      了新的一列"線程數"。檢查兩個"exploer.exe", 顯示只有一個線程的"exploer.exe
       "就是木馬程序。您應當立刻結束這個進程。

   4. 您需要刪除C:\exploer.exe和D:\exploer.exe。注意:這兩個程序都設置了隱藏和
      只讀屬性。您需要設置"資源管理器"的 查看 | 選項 | 隱藏文件 為"顯示所有文
      件"才能看到它們。

   5. 您需要刪除root.exe. 它們在IIS的scripts和MSADC目錄下。缺省可能是下列目錄:

      C:\inetpub\scripts\root.exe
      D:\inetpub\scripts\root.exe
      C:\program files\common files\system\MSADC\root.exe
      D:\program files\common files\system\MSADC\root.exe

   6. 修復蠕蟲創建的注冊表項(如果您發現木馬已經在運行的話):

      * 備份注冊表
      * 使用regedit,找到下列表項:
    
        HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters\
        Virtual Roots
        將"/C"和"/D"的項刪除。將"/scripts"和"/MSADC"項中",,217"改成",,201"
    
        HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\WinLogon\
        SFCDisable
        蠕蟲已經將其變為0FFFFFF9Dh,您應當將這一項的值改變為0。
        
     7. 安裝補丁或者采取其他措施來保護您不再繼續受到蠕蟲的威脅(見下面內容)
     8. 重新啟動系統,以消除內存中的蠕蟲
    
要完全消除這個漏洞的威脅,您需要安裝補丁或者采取一些其他解決方法:

※ 如果您不需要使用Index Server/Service服務或者您暫時無法安裝補丁程序的話,我們
   建議您刪除.ida/.idq映射,并將%windir%\System32\idq.dll刪除或者改名。(%windir%
   表示您的Windows系統所在目錄,例如C:\WINNT)
  
   您可以按照如下步驟刪除".ida"和".idq"的腳本映射:

    1. 打開Internet 服務管理器
    2. 右擊你的服務器(例如 "* nsfocus"),在菜單中選擇"屬性"欄
    3. 選擇"主屬性"
    4. 選擇 WWW 服務 | 編輯 | 主目錄 | 配置
    5. 在擴展名列表中刪除".ida"和".idq"兩項。
    6. 保存設置,然后重啟IIS服務。
    

※ 如果您仍然需要使用Index Server/Service的話,您需要立刻安裝補丁程序。

   微軟已經發布了一個安全公告MS01-033:
    http://www.microsoft.com/technet/security/bulletin/MS01-033.asp

    同時提供了針對NT和2000系統的補?。?
     . Windows NT 4.0:
       http://www.microsoft.com/Downloads/Release.asp?ReleaseID=30833

     . Windows 2000 Professional, Server and Advanced Server:
       http://www.microsoft.com/Downloads/Release.asp?ReleaseID=30800

   注意:
      。Windows NT 4.0補丁需要安裝在Windows NT 4.0 Service Pack 6a系統中。
      
      。Windows 2000補丁需要安裝在Windows 2000 Service Pack1或Service Pack2        系統中。
      
參考資料:

[1.] eEye 的分析報告:
     http://www.eeye.com/html/advisories/coderedII.zip
[2.] CERT Incident Note IN-2001-09 :
     http://www.cert.org/incident_notes/IN-2001-09.html
[3.] Symantec CodeRed.v3:
     http://www.sarc.com/avcenter/venc/data/codered.v3.html

聲 明
==========

本安全公告僅用來描述可能存在的安全問題,綠盟科技不為此安全公告提供任何保證或承諾。由于傳播、利用此安全公告所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負責,綠盟科技以及安全公告作者不為此承擔任何責任。綠盟科技擁有對此安全公告的修改和解釋權。如欲轉載或傳播此安全公告,必須保證此安全公告的完整性,包括版權聲明等全部內容。未經綠盟科技允許,不得任意修改或者增減此安全公告內容,不得以任何方式將其用于商業目的。

關于綠盟科技
============

綠盟科技(NSFOCUS Co., Ltd.)是中國網絡安全領域的領導企業,致力于網絡和系統安全問題的研究、高端網絡安全產品的研發、銷售與網絡安全服務,在入侵檢測/保護、遠程評估、 DDoS攻擊防護等方面提供具有國際競爭能力的先進產品,是國內最具安全服務經驗的專業公司。有關綠盟科技的詳情請參見: http://www.nsfocus.com

© 2020 綠盟科技
浙江快乐彩网上投注