Icesword
Icesword
1)你是不是經常有文件刪不掉? 3)是不是經常有進程殺不掉,提示“無法完成”? 4)是不是瀏覽器有N多的插件?
目錄
IceSword,也稱為冰刀或者冰刃,有些地址簡稱IS,是ustc的PJF出品的一款系統診斷、清除利器。清除流氓軟體工具無數,為什麼稱之為第一利器呢,有如下的理由: 1)你是不是經常有文件刪不掉?如CNNIC或者3721的文件? 2)是不是經常有註冊表不讓你修改?如CNNIC的註冊表是它自動保護起來的 3)是不是經常有進程殺不掉,提示“無法完成”? 4)是不是瀏覽器有N多的插件? 5)是不是有一些程序運行的時候隱藏了進程和埠? 6) 是不是有一些流氓軟體的文件在資源管理器下看都看不到? 1、絕大多數所謂的進程工具都是利用Windows的Toolhlp32或psapi再或ZwQuerySystemInformation系統調用(前二者最終也用到此調用)來編寫,隨便一個ApiHook就可輕輕鬆鬆幹掉它們,更不用說一些內核級後門了;極少數工具利用內核線程調度結構來查詢進程,這種方案需要硬編碼,不僅不同版本系統不同,打個補丁也可能需要升級程序,並且現在有人也提出過防止此種查找的方法。而IceSword的進程查找核心態方案是目前獨一無二的,並且充分考慮內核後門可能的隱藏手段,目前可以查出所有隱藏進程。 2、絕大多數工具查找進程路徑名也是通過Toolhlp32、psapi,前者會調用RtlDebug***函數向目標註入遠線程,後者會用調試api讀取目標進程內存,本質上都是對PEB的枚舉,通過修改PEB就輕易讓這些工具找不到北了。而IceSword的核心態方案原原本本地將全路徑展示,運行時剪切到其他路徑也會隨之顯示。 3、進程dll模塊與2的情況也是一樣,利用PEB的其他工具會被輕易欺騙,而IceSword不會弄錯(有極少數系統不支持,此時仍採用枚舉PEB)。 4、IceSword的進程殺除強大且方便(當然也會有危險)。可輕易將選中的多個任意進程一併殺除。當然,說任意不確切,除去三個:idle進程、System進程、CSRSS進程,原因就不詳述了。其餘進程可輕易殺死,當然有些進程(如winlogon)殺掉后系統就崩潰了。 5、對於埠工具,網上的確有很多,不過網上隱藏埠的方法也很多,那些方法對IceSword可是完全行不通的。其實本想帶個防火牆動態查找,不過不想弄得太臃腫。這裡的埠是指windows的IPv4TCPIP協議棧所屬的埠,第三方協議棧或IPv6棧不在此列。目前一些流氓軟體採取的手段無所不用其極:線程注入,進程隱藏,文件隱藏,驅動保護,普通用戶想把文件給刪了或者找出進程來,是非常困難的。有的是看到了,刪不掉,殺不掉,干著急,實在不行,還需要從另外的作系統去刪除文件。比如採取驅動保護的流氓軟體如CNNIC,雅虎助手之類,.sys驅動載入的時候,它過濾了文件和註冊表作,直接返回一個true,Windows提示文件刪了,但一看,它還在那裡。象一些文件刪除工具如unclocker都無效。IceSword是目前所知唯一可以直接刪除這類已經載入的驅動和採取註冊表保護的工具。象清除CNNIC這類流氓軟體,不需要重啟也可以完成了。 IS採取了很多新穎的、內核級的方法和手段,關於它的技術細節不在本文討論之列,下面主要從使用者角度講一下它的主要功能: ■查看進程 包括運行進程的文件地址、各種隱藏的進程以及優先順序。用它也可以輕易殺掉用任務管理器、Procexp等工具殺不掉的進程。還可以查看進程的線程、模塊信息,結束線程等。 ■查看埠 類似於cport、ActivePort這類工具,顯示當前本地打開的端品以及相應的應用程序地址、名字。包括使用了各種手段隱藏埠的工具,在它下面,都一覽無餘。 ■內核模塊 載入到系統內和空間的PE模塊,一般都是驅動程序*.sys,可以看到各種已經載入的驅動。包括一些隱藏的驅動文件,如IS自身的IsDrv118.sys,這個在資源管理器里是看不見的。 ■啟動組 Windows啟動組裡面的相關方式,這個比較容易理解了。不過可惜的是沒有提示刪除功能,只能查看。 ■服務 用於查看系統中的被隱藏的或未隱藏的服務,隱藏的服務以紅色顯示。提供對服務的作如啟動,停止,禁用等。 ■SPI和BHO 這兩個是目前流氓軟體越來越看中的地方。SPI是服務提供介面,即所有Windows的網路作都是通過這個介面發出和接收數據包的。很多流氓軟體把這個.dll替換掉,這樣就可以監視所有用戶訪問網路的包,可以針對性投放一些廣告。如果不清楚的情況下,把這個.dll刪掉,會造成網路無法使用,上不了網。LSPFix等工具就是針對這個功能的。BHO就更不用說了,瀏覽器的輔助插件,用戶啟動瀏覽器的時候,它就可以自動啟動,彈出廣告窗口什麼的。這兩項僅提供查看的功能。 ■SSDT (System Service Descriptor Table) 系統服務描述表,內核級後門有可能修改這個服務表,以截獲你系統的服務函數調用,特別是一些老的rootkit,像上面提到的ntrootkit通過這種hook實現註冊表、文件的隱藏。被修改的值以紅色顯示,當然有些安全程序也會修改,比如regmon。 ■消息鉤子 若在dll中使用SetWindowsHookEx設置一全局鉤子,系統會將其載入入使用user32的進程中,因而它也可被利用為無進程木馬的進程注入手段。 ■線程創建和線程終止監視“監視進線程創建”將IceSword運行期間的進線程創建調用記錄在循環緩衝里,“監視進程終止”記錄一個進程被其它進程Terminate的情況。舉例說明作用:一個木馬或病毒進程運行起來時查看有沒有殺毒程序如norton的進程,有則殺之,若IceSword正在運行,這個作就被記錄下來,你可以查到是哪個進程做的事,因而可以發現木馬或病毒進程並結束之。再如:一個木馬或病毒採用多線程保護技術,你發現一個異常進程后結束了,一會兒它又起來了,你可用IceSword發現是什麼線程又創建了這個進程,把它們一併殺除。中途可能會用到“設置”菜單項:在設置對話框中選中“禁止進線程創建”,此時系統不能創建進程或者線程,你安穩的殺除可疑進線程后,再取消禁止就可以了。 ■註冊表Regedit有什麼不足?說起Regedit的不足就太多了,比如它的名稱長度限制,建一個全路徑名長大於255位元組的子項看看(編程或用其他工具,比如regedt32),此項和位於它後面的子鍵在regedit中顯示不出來;再如有意用程序建立的有特殊字元的子鍵regedit根本打不開。 IceSword中添加註冊表編輯並不是為了解決上面的問題,因為已經有了很多很好的工具可以代替Regedit。IceSword中的“註冊表”項是為了查找被木馬後門隱藏的註冊項而寫的,它不受目前任何註冊表隱藏手法的蒙蔽,真正可靠的讓你看到註冊表實際內容。如CNNIC添加的HKLM\SYSTEM\CurrentControlSet\Services\dnport這個鍵值,就是通過它來載入cndport.sys這個驅動文件的。通過Regedit你刪除會直接出錯,根本無法刪除。而用IS就可以輕易幹掉。 ■文件作 IS的文件作有點類似於資源管理器,雖然作起來沒有那麼方便,但是它的獨到功能在於具備反隱藏、反保護的功能。還有對安全的副作用是本來system32\config\SAM等文件是不能拷貝也不能打開的,但IceSword是可以直接拷貝的。類似於已經載入的驅動,如CNNIC的cdnport.sys這個文件,目前只有IS可以直接把它刪除,其它無論什麼方式,都無法破除驅動自身的保護。即使對大多數有用的unlocker,CopyLock、KillBox都是無效的。利用Windows的系統還沒有完全載入的刪除機制,通過在HKLM\SYSTEM\CurrentControlSet\Control\SessionManager下增加PendingFileRenameOperations,這個是所有刪除頑固文件工具的最後一招,但它也被驅動保護變得無效了。以前的情況就是需要重啟啟動到另外一個作系統下刪除。 ----那幫做流氓軟體的可真是手段無所不用其及。 IceSword內部功能是十分強大的。可能您也用過很多類似功能的軟體,比如一些進程工具、埠工具,但是現在的系統級後門功能越來越強,一般都可輕而易舉地隱藏進程、埠、註冊表、文件信息,一般的工具根本無法發現這些“幕後黑手”。IceSword使用大量新穎的內核技術,使得這些後門躲無所躲. IceSword大量採用新穎技術,有別於其他普通進程工具,比如IceSword就可以結束除Idle進程、System進程、csrss進程這三個進程外的所有進程,就這一點,其他同類軟體就是做不到的。當然有些進程也不是隨便可以結束的,如系統的winlogon.exe進程,一旦殺掉后系統就崩潰了,這些也需要注意。