放假的兩天,朋友就說自己的電腦很不正常,好象是被入侵了,
與Windows XP入侵者交手
。因?yàn)榉偶俦緛頃r(shí)間就少,所以匆匆趕到朋友家,一看,WinXP PRO,SP2,防毒軟件都是最新版的,按理來說安全性是很強(qiáng)的。好,一步步檢查下去:1、先查看本機(jī)日志,沒什么可疑的系統(tǒng)用戶,管理登陸等信息。(入侵者一般不會(huì)給你留下有用的日志的)
2、NETSTAT,看看端口的情況,也是一切正常。
3、再檢查開啟的服務(wù),看到朋友的IPSEC安全策略是啟動(dòng)的,而且朋友有一定的計(jì)算機(jī)知識(shí),也配置了IP安全策略。再往下看,朋友的Remote Access Auto Connection Manager和Remote Access Connection Manager兩項(xiàng)服務(wù)已經(jīng)啟動(dòng)。我們都知道,此服務(wù)是當(dāng)某個(gè)程序引用一個(gè)遠(yuǎn)程DNS或NETBIOS名或者地址的時(shí)候建立遠(yuǎn)程網(wǎng)絡(luò)連接用的,但是此服務(wù)開啟也很正常,沒有可以利用的端口是無法連接的,朋友的135,137,138,139,445端口是關(guān)閉的。
4、檢查IPC$,朋友的IPC$是開啟的,危險(xiǎn),但是又想到防火墻和IP安全策略,能連接的可能性幾乎為零。
作為一臺(tái)個(gè)人使用PC來說,朋友的安全性是不錯(cuò)的,正準(zhǔn)備往下查的時(shí)候,看到一臺(tái)NB擺在旁邊,朋友說公司的NB,拿回來COPY資料。我看了下NB,因?yàn)榕渲脝栴}裝的98,于是想起98和XP互連,朋友估計(jì)裝了NETBEUI協(xié)議的,于是繼續(xù)檢查。
裝了NETBIOS協(xié)議,并沒有NETBEUI,但是朋友說曾經(jīng)裝過,但是卸了。
NETBEUI協(xié)議其實(shí)是NETBIOS的本地延伸,用于不同的計(jì)算機(jī)網(wǎng)絡(luò)互通的, 但是我記得NETBEUI協(xié)議的卸載不是那么簡(jiǎn)單從協(xié)議組中就卸了的,于是發(fā)現(xiàn)了點(diǎn)問題的可疑點(diǎn)。
再次檢查日志,發(fā)現(xiàn)了可疑點(diǎn):
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.
原來協(xié)議還在系統(tǒng)中,這是啟動(dòng)失敗信息,
電腦資料
《與Windows XP入侵者交手》(http://m.msguai.com)。于是馬上檢查注冊(cè)表:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNbf
看到了NETBEUI的信息,原來系統(tǒng)中的NETBEUI并未被刪除
我們知道,系統(tǒng)的口令進(jìn)行校驗(yàn)時(shí)是以發(fā)送的長(zhǎng)度數(shù)據(jù)為依據(jù)的。在發(fā)送口令認(rèn)證數(shù)據(jù)包時(shí)可以設(shè)置長(zhǎng)度域?yàn)椤?”,同時(shí)發(fā)送一個(gè)字節(jié)的明文口令,校驗(yàn)程序會(huì)將發(fā)來口令與保存的口令的第一個(gè)字節(jié)進(jìn)行明文比較,如果匹配就認(rèn)為通過了驗(yàn)證。特別是作為NETBIOS協(xié)議來說,漏洞是很大的。
再看朋友的Internet連接,TCP/IP上的NETBIOS沒有禁用這個(gè)時(shí)候可以來查找問題的根源了。
掃描軟件?其實(shí)不用,利用系統(tǒng)的端口監(jiān)聽,就可以完成。端口監(jiān)聽過程中,發(fā)現(xiàn)端口7777正在被監(jiān)聽(因?yàn)闀r(shí)間有點(diǎn)長(zhǎng),在整理東西時(shí)候朋友喊的,忘記了抓圖),這個(gè)有點(diǎn)異常,所以馬上看進(jìn)程,但是卻沒有異常,感到越來越奇怪了。
于是用TCPDUMP抓包,看到tcpdump: listening on 7777,果然端口被占用了?磥硎呛笈_(tái)進(jìn)程。于是使用TCP Connect()掃描,因?yàn)槎丝谔幱趥陕牋顟B(tài),所以Connect()就能成功。這時(shí)出現(xiàn)了大量的錯(cuò)誤信息,不一會(huì),系統(tǒng)的LOGS文件顯示一連串的連接出錯(cuò)消息,然后關(guān)閉了服務(wù)。(以非線性方式連接)這時(shí),本打算繼續(xù)掃描TCP SYN和TCP FIN都不需要了。
于是返回注冊(cè)表,把NETBEUI協(xié)議的信息刪除,REBOOT,在連接,一切正常。
回過頭來看事情的正個(gè)經(jīng)過,其實(shí)都緣于朋友裝卸NETBEUI協(xié)議的不正確和大意,導(dǎo)致了NETBEUI協(xié)議和NETBIOS協(xié)議在使用中發(fā)生沖突。原來朋友的愛機(jī)曾經(jīng)中過YAI蠕蟲病毒,雖然殺毒成功,但是滯留在系統(tǒng)的錯(cuò)誤設(shè)置卻沒有改變過來。
TCP 7777=NetSpy(YAI),病毒利用了系統(tǒng)的7777端口,那時(shí)NETBEUI在啟用中,雖然協(xié)議從協(xié)議組中消失了,但是注冊(cè)表和配置信息卻還在,所以導(dǎo)致有TCP數(shù)據(jù)連接時(shí),系統(tǒng)又自然而然的開啟了7777端口來找尋NETBEUI協(xié)議的數(shù)據(jù)流,因此產(chǎn)生了錯(cuò)誤的日志。
就這樣,朋友的問題也解決了,“入侵者”的擔(dān)心也煙消云散,原來是這小小協(xié)議在搗鬼,呵呵,還讓我們?yōu)檫@個(gè)“入侵者”搞得暈頭轉(zhuǎn)向。