歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 關於Linux系統的後門

關於Linux系統的後門

日期:2017/2/27 14:17:24   编辑:更多Linux

關於系統的後門 這是一篇很好的文章,以前曾讀過,但很匆忙.昨天靜下心來細細品味,頗有收獲. 由於水平所限,許多不確切的地方已經指出,希望你們不吝指教.還有,許多方法 理論上能夠明白,實際操作尚有距離,希望大家以後能熱烈討論. 後門 (Beta 1) 譯者 iamtheguest 從早期的計算機入侵者開始,他們就努力發展能使自己重返被入侵系統的技術或後 門.本文將討論許多常見的後門及其檢測方法. 更多的焦點放在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"不能顯示所有進程. 可以將一個後門或程序嵌入中斷驅動程序使它不會在進程表 顯現. 使用這個技術的一個後門 例子是amod.tar.gz : http://star.niimm.spb.su/~maillist/bugtraq.1/0777.Html 也可以修改內核隱匿進程. 最流行的後門安裝包之一是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,UDP和ICMP, 但也可能是其他類型報 文. TCP Shell 後門 入侵者可能在防火牆沒有阻塞的高位TCP端口建立這些TCP Shell後門. 許多情況下,他 們用口令進行保護以免管理員連接上後立即看到是shell訪問. 管理員可以用netstat 命令查看當前的連接狀態, 那些端口在偵聽, 目前連



du5 - hides how much space is being used on your hard drive. ls5 - hides certain files and directories from being listed. 網絡通行後門 入侵者不僅想隱匿在系統裡的痕跡, 而且也要隱匿他們的網絡通行. 這些網絡通行後 門有時允許入侵者通過防火牆進行訪問. 有許多網絡後門程序允許入侵者建立某個端 口號並不用通過普通服務就能實現訪問. 因為這是通過非標准網絡端口的通行, 管理 員可能忽視入侵者的足跡. 這種後門通常使用TCP,UDP和ICMP, 但也可能是其他類型報 文. TCP Shell 後門 入侵者可能在防火牆沒有阻塞的高位TCP端口建立這些TCP Shell後門. 許多情況下,他 們用口令進行保護以免管理員連接上後立即看到是shell訪問. 管理員可以用netstat 命令查看當前的連接狀態, 那些端口在偵聽, 目前連



Copyright © Linux教程網 All Rights Reserved