放假的兩天,朋友就說自己的電腦很不正常,好象是被入侵了,
與Windows XP入侵者交手
。因為放假本來時間就少,所以匆匆趕到朋友家,一看,WinXP PRO,SP2,防毒軟件都是最新版的,按理來說安全性是很強的。好,一步步檢查下去:1、先查看本機日志,沒什么可疑的系統用戶,管理登陸等信息。(入侵者一般不會給你留下有用的日志的)
2、NETSTAT,看看端口的情況,也是一切正常。
3、再檢查開啟的服務,看到朋友的IPSEC安全策略是啟動的,而且朋友有一定的計算機知識,也配置了IP安全策略。再往下看,朋友的Remote Access Auto Connection Manager和Remote Access Connection Manager兩項服務已經啟動。我們都知道,此服務是當某個程序引用一個遠程DNS或NETBIOS名或者地址的時候建立遠程網絡連接用的,但是此服務開啟也很正常,沒有可以利用的端口是無法連接的,朋友的135,137,138,139,445端口是關閉的。
4、檢查IPC$,朋友的IPC$是開啟的,危險,但是又想到防火墻和IP安全策略,能連接的可能性幾乎為零。
作為一臺個人使用PC來說,朋友的安全性是不錯的,正準備往下查的時候,看到一臺NB擺在旁邊,朋友說公司的NB,拿回來COPY資料。我看了下NB,因為配置問題裝的98,于是想起98和XP互連,朋友估計裝了NETBEUI協議的,于是繼續檢查。
裝了NETBIOS協議,并沒有NETBEUI,但是朋友說曾經裝過,但是卸了。
NETBEUI協議其實是NETBIOS的本地延伸,用于不同的計算機網絡互通的, 但是我記得NETBEUI協議的卸載不是那么簡單從協議組中就卸了的,于是發現了點問題的可疑點。
再次檢查日志,發現了可疑點:
Event Type: Error
Event Source: Service Control Manager
Event Category: None
Event ID: 7000
Date: 3/26/2005
Time: 9:54:24 AM
User: N/A
Computer: KK
Description:
The NetBEUI Protocol service failed to start due to the following error:
The system cannot find the file specified.
原來協議還在系統中,這是啟動失敗信息,
電腦資料
《與Windows XP入侵者交手》(http://salifelink.com)。于是馬上檢查注冊表:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNbf
看到了NETBEUI的信息,原來系統中的NETBEUI并未被刪除
我們知道,系統的口令進行校驗時是以發送的長度數據為依據的。在發送口令認證數據包時可以設置長度域為“1”,同時發送一個字節的明文口令,校驗程序會將發來口令與保存的口令的第一個字節進行明文比較,如果匹配就認為通過了驗證。特別是作為NETBIOS協議來說,漏洞是很大的。
再看朋友的Internet連接,TCP/IP上的NETBIOS沒有禁用這個時候可以來查找問題的根源了。
掃描軟件?其實不用,利用系統的端口監聽,就可以完成。端口監聽過程中,發現端口7777正在被監聽(因為時間有點長,在整理東西時候朋友喊的,忘記了抓圖),這個有點異常,所以馬上看進程,但是卻沒有異常,感到越來越奇怪了。
于是用TCPDUMP抓包,看到tcpdump: listening on 7777,果然端口被占用了?磥硎呛笈_進程。于是使用TCP Connect()掃描,因為端口處于偵聽狀態,所以Connect()就能成功。這時出現了大量的錯誤信息,不一會,系統的LOGS文件顯示一連串的連接出錯消息,然后關閉了服務。(以非線性方式連接)這時,本打算繼續掃描TCP SYN和TCP FIN都不需要了。
于是返回注冊表,把NETBEUI協議的信息刪除,REBOOT,在連接,一切正常。
回過頭來看事情的正個經過,其實都緣于朋友裝卸NETBEUI協議的不正確和大意,導致了NETBEUI協議和NETBIOS協議在使用中發生沖突。原來朋友的愛機曾經中過YAI蠕蟲病毒,雖然殺毒成功,但是滯留在系統的錯誤設置卻沒有改變過來。
TCP 7777=NetSpy(YAI),病毒利用了系統的7777端口,那時NETBEUI在啟用中,雖然協議從協議組中消失了,但是注冊表和配置信息卻還在,所以導致有TCP數據連接時,系統又自然而然的開啟了7777端口來找尋NETBEUI協議的數據流,因此產生了錯誤的日志。
就這樣,朋友的問題也解決了,“入侵者”的擔心也煙消云散,原來是這小小協議在搗鬼,呵呵,還讓我們為這個“入侵者”搞得暈頭轉向。