後門病毒
後門病毒
後門病毒的前綴是:Backdoor。該類病毒的特性是通過網路傳播,給系統開後門,給用戶電腦帶來安全隱患。2004年年初,IRC後門病毒開始在全球網路大規模出現。一方面有潛在的泄漏本地信息的危險,另一方面病毒出現在區域網中使網路阻塞,影響正常工作,從而造成損失。由於病毒的源代碼是公開的,任何人拿到源碼后稍加修改就可編譯生成一個全新的病毒,再加上不同的殼,造成IRC後門病毒變種大量湧現。還有一些病毒每次運行后都會進行變形,給病毒查殺帶來很大困難。
IRC病毒集黑客、蠕蟲、後門功能於一體,通過區域網共享目錄和系統漏洞進行傳播。病毒自帶有簡單的口令字典,用戶如不設置密碼或密碼過於簡單都會使系統易受病毒影響。
病毒運行后將自己拷貝到系統目錄下(Win 2K/NT/XP操作系統為系統盤的system32,win9x為系統盤的system),文件屬性隱藏,名稱不定,這裡假設為xxx.exe,一般都沒有圖標。病毒同時寫註冊表啟動項,項名不定,假設為yyy。病毒不同,寫的啟動項也不太一樣,但肯定都包含這一項:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
\Run\yyy : xxx.exe
其他可能寫的項有:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion
\Run\ yyy : xxx.exe
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
\RunServices\ yyy : xxx.exe
也有少數會寫下面兩項:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
\RunOnce\yyy : xxx.exe
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion
\RunOnce\yyy : xxx.exe
此外,一些IRC病毒在2K/NT/XP下還會將自己註冊為服務啟動。
病毒每隔一定時間會自動嘗試連接特定的IRC伺服器頻道,為黑客控制做好準備。黑客只需在聊天室中發送不同的操作指令,病毒就會在本地執行不同的操作,並將本地系統的返回信息發回聊天室,從而造成用戶信息泄露。
這種後門控制機制是比較新穎的,即時用戶覺察到了損失,想要追查黑客也是非常困難。
病毒會掃描當前和相鄰網段內的機器並猜測登陸密碼。這個過程會佔用大量網路帶寬資源,容易造成區域網阻塞,國內不少企業用戶的業務均因此遭受影響。
出於保護被IRC病毒控制的計算機的目的,一些IRC病毒會取消匿名登陸功能和DCOM功能。取消匿名登陸可阻止其他病毒猜解密碼感染自己,而禁用DCOM功能可使系統免受利用RPC漏洞傳播的其他病毒影響。
所有的IRC後門病毒都會在註冊表HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run下添加自己的啟動項,並且項值只有文件名,不帶路徑,這給了我們提供了追查的線索。通過下面幾步我們可以安全的清除掉IRC病毒。
1、打開註冊表編輯器,定位到HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run項,找出可疑文件的項目。
2、打開任務管理器(按Alt+Ctrl+Del或在任務欄單擊滑鼠右鍵,選擇“任務管理器”),找到並結束與註冊表文件項相對應的進程。若進程不能結束,則可以切換到安全模式進行操作。進入安全模式的方法是:啟動計算機,在系統進入Windows啟動畫面前,按下F8鍵(或者在啟動計算機時按住Ctrl鍵不放),在出現的啟動選項菜單中,選擇“Safe Mode”或“安全模式”。
4、最後可手工把註冊表裡病毒的啟動項清除,也可使用瑞星註冊表修復工具清除。
1。建立良好的安全習慣
不要輕易打開一些來歷不明的郵件及其附件,不要輕易登陸陌生的網站。從網上下載的文件要先查毒再運行。
2。關閉或刪除系統中不需要的服務
默認情況下,操作系統會安裝一些輔助服務,如 FTP 客戶端、Telnet 和 Web 伺服器。這些服務為攻擊者提供了方便,而又對大多數用戶沒有用。刪除它們,可以大大減少被攻擊的可能性。
3。經常升級安全補丁
據統計,大部分網路病毒都是通過系統及IE安全漏洞進行傳播的,如:衝擊波、震蕩波、SCO炸彈AC/AD等病毒。如果機器存在漏洞則很可能造成病毒反覆感染,無法清除乾淨。因此一定要定期登陸微軟升級網站下載安裝最新的安全補丁。同時也可以使用瑞星等殺毒軟體附帶的“漏洞掃描”模塊定期對系統進行檢查。
4。設置複雜的密碼
有許多網路病毒是通過猜測簡單密碼的方式對系統進行攻擊。因此設置複雜的密碼(大小寫字母、數字、特殊符號混合,8位以上),將會大大提高計算機的安全係數,減少被病毒攻擊的概率。
5。迅速隔離受感染的計算機
當您的計算機發現病毒或異常情況時應立即切斷網路連接,以防止計算機受到更嚴重的感染或破壞,或者成為傳播源感染其它計算機。
6。經常了解一些反病毒資訊
經常登陸信息安全廠商的官方主頁,了解最新的資訊。這樣您就可以及時發現新病毒並在計算機被病毒感染時能夠作出及時準確的處理。比如了解一些註冊表的知識,就可以定期查看註冊表自啟動項是否有可疑鍵值;了解一些程序進程知識,就可以查看內存中是否有可疑程序。
7。最好是安裝專業的防毒軟體進行全面監控
在病毒技術日新月異的今天,使用專業的反病毒軟體對計算機進行防護仍是保證信息安全的最佳選擇。用戶在安裝了反病毒軟體之後,一定要開啟實時監控功能並經常進行升級以防範最新的病毒,這樣才能真正保障計算機的安全。
當一個訓練有素的程序員設計一個功能較複雜的軟體時,都習慣於先將整個軟體分割為若干模塊,然後再對各模塊單獨設計、調試,而後門則是一個模塊的秘密入口。在程序開發期間,後門的存在是為了便於測試、更改和增強模塊的功能。當然,程序員一般不會把後門記入軟體的說明文檔,因此用戶通常無法了解後門的存在。
按照正常操作程序,在軟體交付用戶之前,程序員應該去掉軟體模塊中的後門,但是,由於程序員的疏忽,或者故意將其留在程序中以便日後可以對此程序進行隱蔽的訪問,方便測試或維護已完成的程序等種種原因,實際上並未去掉。
這樣,後門就可能被程序的作者所秘密使用,也可能被少數別有用心的人用窮舉搜索法發現利用。
從早期的計算機入侵者開始,他們就努力發展能使自己重返被入侵系統的技術或後門。本文將討論許多常見的後門及其檢測方法。更多的焦點放在Unix系統的後門,同時討論一些未來將會出現的Windows NT的後門。本文將描述如何測定入侵者使用的方法這樣的複雜內容和管理員如何防止入侵者重返的基礎知識。當管理員懂的一旦入侵者入侵后要制止他們是何等之難以後,將更主動於預防第一次入侵。
大多數入侵者的後門實現以下二到三個目的:
即使管理員通過改變所有密碼類似的方法來提高安全性,仍然能再次侵入。使再次侵入被發現的可能性減至最低。大多數後門設法躲過日誌,大多數情況下即使入侵者正在使用系統也無法顯示他已在線。一些情況下,如果入侵者認為管理員可能會檢測到已經安裝的後門,他們以系統的脆弱性作為唯一的後門,重而反覆攻破機器。這也不會引起管理員的注意。所以在這樣的情況下,一台機器的脆弱性是它唯一未被注意的後門。
這是入侵者使用的最早也是最老的方法,它不僅可以獲得對Unix機器的訪問,而且可以通過破解密碼製造後門。這就是破解口令薄弱的帳號。以後即使管理員封了入侵者的當前帳號,這些新的帳號仍然可能是重新侵入的後門。多數情況下,入侵者尋找口令薄弱的未使用帳號,然後將口令改的難些。當管理員尋找口令薄弱的帳號是,也不會發現這些密碼已修改的帳號。因而管理員很難確定查封哪個帳號。
Rhosts + + 後門
在連網的Unix機器中,象Rsh和Rlogin這樣的服務是基於rhosts文件里的主機名使用簡單的認證方法。用戶可以輕易的改變設置而不需口令就能進入。入侵者只要向可以訪問的某用戶的rhosts文件中輸入"+ +",就可以允許任何人從任何地方無須口令便能進入這個帳號。特別當home目錄通過NFS向外共享時,入侵者更熱中於此。這些帳號也成了入侵者再次侵入的後門。許多人更喜歡使用Rsh,因為它通常缺少日誌能力。許多管 理員經常檢查 "+ +",所以入侵者實際上多設置來自網上的另一個帳號的主機名和用戶名,從而不易被發現。
校驗和及時間戳後門
早期,許多入侵者用自己的trojan程序替代二進位文件。系統管理員便依*時間戳和系統校驗和的程序辨別一個二進位文件是否已被改變,如Unix里的sum程序。入侵者又發展了使trojan文件和原文件時間戳同步的新技術。它是這樣實現的:先將系統時鐘撥回到原文件時間,然後調整trojan文件的時間為系統時間。一旦二進位trojan文件與原來的精確同步,就可以把系統時間設回當前時間。sum程序是基於CRC校驗,很容易騙過。入侵者設計出了可以將trojan的校驗和調整到原文件的校驗和的程序。MD5是被大多數人推薦的,MD5使用的演演算法目前還沒人能騙過。
Login後門
在Unix里,login程序通常用來對telnet來的用戶進行口令驗證。入侵者獲取login。c的原代碼並修改,使它在比較輸入口令與存儲口令時先檢查後門口令。如果用戶敲入後門口令,它將忽視管理員設置的口令讓你長驅直入。這將允許入侵者進入任何帳號,甚至是root。由於後門口令是在用戶真實登錄並被日誌記錄到utmp和wtmp前產生一個訪問的,所以入侵者可以登錄獲取shell卻不會暴露該帳號。管理員注意到這種後門后,便用"strings"命令搜索login程序以尋找文本信息。許多情況下後門口令會原形畢露。入侵者就開始加密或者更好的隱藏口令,使strings命令失效。所以更多的管理員是用MD5校驗和檢測這種後門的。
Telnetd後門
當用戶telnet到系統,監聽埠的inetd服務接受連接隨後遞給in。telnetd,由它運行login。一些入侵者知道管理員會檢查login是否被修改,就著手修改in。telnetd。在in。telnetd內部有一些對用戶信息的檢驗,比如用戶使用了何種終端。典型的終端設置是Xterm或者VT100。入侵者可以做這樣的後門,當終端設置為"letmein"時產生一個不要任何驗證的shell。入侵者已對某些服務作了後門,對來自特定源埠的連接產生
後門病毒清除解決方安圖
一個shell。
服務後門
幾乎所有網路服務曾被入侵者作過後門。finger,rsh,rexec,rlogin,ftp,甚至inetd等等的作了的版本隨處是。有的只是連接到某個TCP埠的shell,通過後門口令就能獲取訪問。這些程序有時用刺媧□?ucp這樣不用的服務,或者被加入inetd。conf作為一個新的服務。管理員應該非常注意那些服務正在運行,並用MD5對原服務程序做校驗。
Cronjob後門
Unix上的Cronjob可以按時間表調度特定程序的運行。入侵者可以加入後門shell程序使它在1AM到2AM之間運行,那麼每晚有一個小時可以獲得訪問。也可以查看cronjob中經常運行的合法程序,同時置入後門。
庫後門
幾乎所有的UNIX系統使用共享庫。共享庫用於相同函數的重用而減少代碼長度。一些入侵者在象crypt。c和_crypt。c這些函數里作了後門。象login。c這樣的程序調用了crypt(),當使用後門口令時產生一個shell。因此,即使管理員用MD5檢查login程序,仍然能產生一個後門函數。而且許多管理員並不會檢查庫是否被做了後門。對於許多入侵者來說有一個問題:一些管理員對所有東西多作了MD5校驗。有一種辦法是入侵者對open()和文件訪問函數做後門。後門函數讀原文件但執行trojan後門程序。所以當MD5讀這些文件時,校驗和一切正常。但當系統運行時將執行trojan版本的。即使trojan庫本身也可躲過MD5校驗。對於管理員來說有一種方法可以找到後門,就是靜態編連MD5校驗程序然後運行。靜態連接程序不會使用trojan共享庫。
內核後門
內核是Unix工作的核心。用於庫躲過MD5校驗的方法同樣適用於內核級別,甚至連靜態連接多不能識別。一個後門作的很好的內核是最難被管理員查找的,所幸的是內核的後門程序還不是隨手可得,每人知道它事實上傳播有多廣。
文件系統後門
入侵者需要在伺服器上存儲他們的掠奪品或數據,並不能被管理員發現。入侵者的文章常是包括exploit腳本工具,後門集,sniffer日誌,email的備分,原代碼,等等。有時為了防止管理員發現這麼大的文件,入侵者需要修補"ls","du","fsck"以隱匿特定的目錄和文件。在很低的級別,入侵者做這樣的漏洞:以專有的格式在硬碟上割出一部分,且表示為壞的扇區。因此入侵者只能用特別的工具訪問這些隱藏的文件。對於普通的管理員來說,很難發現這些"壞扇區"里的文件系統,而它又確實存在。
Boot塊後門
在PC世界里,許多病毒藏匿與根區,而殺病毒軟體就是檢查根區是否被改變。Unix下,多數管理員沒有檢查根區的軟體,所以一些入侵者將一些後門留在根區。
隱匿進程後門
入侵者通常想隱匿他們運行的程序。這樣的程序一般是口令破解程序和監聽程序(sniffer)。有許多辦法可以實現,這裡是較通用的:編寫程序時修改自己的argv[]使它看起來象其他進程名。可以將sniffer程序改名類似in。syslog再執行。因此當管理員用"ps"檢查運行進程時,出現的是標準服務名。可以修改庫函數致使"ps"不能顯示所有進程。可以將一個後門或程序嵌入中斷驅動程序使它不會在進程表顯現。 Rootkit
最流行的後門安裝包之一是rootkit。它很容易用web搜索器找到。從Rootkit的README里,可以找到一些典型的文件:
z2 - removes entries from utmp, wtmp, and lastlog。
Es - rokstar's ethernet sniffer for sun4 based kernels。
Fix - try to fake checksums, install with same dates/perms/u/g。
Sl - become root via a magic password sent to login。
Ic - modified ifconfig to remove PROMISC flag from output。
ps: - hides the processes。
Ns - modified netstat to hide connections to certain machines。
Ls - hides certain directories and files from being listed。
du5 - hides how much space is being used on your hard drive。
ls5 - hides certain files and directories from being listed。
網路通行後門
後門病毒
TCP Shell 後門
入侵者可能在防火牆沒有阻塞的高位TCP埠建立這些TCP Shell後門。許多情況下,他們用口令進行保護以免管理員連接上后立即看到是shell訪問。管理員可以用netstat命令查看當前的連接狀態,那些埠在偵聽,目前連接的來龍去脈。通常這些後門可以讓入侵者躲過TCP Wrapper技術。這些後門可以放在SMTP埠,許多防火牆允許e-mail通行的。
UDP Shell 後門
管理員經常注意TCP連接並觀察其怪異情況,而UDP Shell後門沒有這樣的連接,所以netstat不能顯示入侵者的訪問痕迹。許多防火牆設置成允許類似DNS的UDP報文的通行。通常入侵者將UDP Shell放置在這個埠,允許穿越防火牆。
ICMP Shell 後門
Ping是通過發送和接受ICMP包檢測機器活動狀態的通用辦法之一。許多防火牆允許外界ping它內部的機器。入侵者可以放數據入Ping的ICMP包,在ping的機器間形成一個shell通道。管理員也許會注意到Ping包暴風,但除了他查看包內數據,否者入侵者不會暴露。
加密連接
管理員可能建立一個sniffer試圖某個訪問的數據,但當入侵者給網路通行後門加密后,就不可能被判定兩台機器間的傳輸內容了。
Windows NT
由於Windows NT不能輕易的允許多個用戶象Unix下訪問一台機器,對入侵者來說就很難闖入Windows NT,安裝後門,並從那裡發起攻擊。因此你將更頻繁地看到廣泛的來自Unix的網路攻擊。當Windows NT提高多用戶技術后,入侵者將更頻繁地利用 WindowsNT。如果這一天真的到來,許多Unix的後門技術將移植到Windows NT上,管理員可以等候入侵者的到來。Windows NT已經有了telnet守護程序。通過網路通行後門,入侵者發現在Windows NT安裝它們是可行的。
解決
當後門技術越先進,管理員越難於判斷入侵者是否侵入後者他們是否被成功封殺。
首先要做的是積極準確的估計你的網路的脆弱性,從而判定漏洞的存在且修復之。許多商業工具用來幫助掃描和查核網路及系統的漏洞。如果僅僅安裝提供商的安全補丁的話,許多公司將大大提高安全性。
MD5基準線
一個系統(安全)掃描的一個重要因素是MD5校驗和基準線。MD5基準線是在黑客入侵前由乾淨系統建立。一旦黑客入侵併建立了後門再建立基準線,那麼後門也被合併進去了。一些公司被入侵且系統被安置後門長達幾個月。所有的系統備份多包含了後門。當公司發現有黑客並求助備份祛除後門時,一切努力是徒勞的,因為他們恢復系統的同時也恢復了後門。應該在入侵發生前作好基準線的建立。
隨著各種組織的上網和允許對自己某些機器的連接,入侵檢測正變的越來越重要。以前多數入侵檢測技術是基於日誌型的。最新的入侵檢測系統技術(IDS)是基於實時偵聽和網路通行安全分析的。最新的IDS技術可以瀏覽DNS的UDP報文,並判斷是否符合DNS協議請求。如果數據不符合協議,就發出警告信號並抓取數據進行進一步分析。同樣的原則可以運用到ICMP包,檢查數據是否符合協議要求,或者是否裝載加密shell會話。
從CD-ROM啟動
一些管理員考慮從CD-ROM啟動從而消除了入侵者在CD-ROM上做後門的可能性。這種方法的問題是實現的費用和時間夠企業面臨的。
由於安全領域變化之快,每天有新的漏洞被公布,而入侵者正不斷設計新的攻擊和安置後門技術,安枕無憂的安全技術是沒有的。請記住沒有簡單的防禦,只有不懈的努力。