被他們攻陷的機器作為跳板來***你的伺服器可在他們發動正式***前所做的目標資訊收集工作(試探性掃瞄)
常常是從他們的工作機開始的,本篇介紹如何從遭受***的系統的日誌中分析出***者的ip並加以確定的。
在unix系統遭受***後,確定損失及***者的***源位址相當重要。雖然在大多數***者懂得使用曾被他們攻陷的
機器作為跳板來***你的伺服器可在他們發動正式***前所做的目標資訊收集工作(試探性掃瞄)常常是從他們的
工作機開始的,本篇介紹如何從遭受***的系統的日誌中分析出***者的ip並加以確定的。
1)messages
/var/adm是unix的日誌目錄(linux下則是/var/log)。有相當多的ascii文字格式的日誌儲存之下,當然,讓我們把焦
點首先集中在messages 這個檔案,這也是***者所關心的檔案,它記錄了來自系統級別的資訊。在這裡,大量的日誌記
錄對於我們是無用的。
比如:
apr 25 21:49:30 2000 unix: mem = 262144k (0x10000000)
這樣顯示版權或者硬體資訊的記錄而:
apr 29 19:06:47 www login[28845]: failed login 1 from ***.***.***.*** ,
user not known to the underlying authentication module
這樣的登入失敗記錄:
apr 29 22:05:45 game pam_pwdb[29509]: (login) session opened for user ncx by (uid=0)因此第一步應該是 kill -hup cat `/var/run/syslogd.pid`(當然,有可能***者已經幫我們做過了,;-)那樣我們得不到任何有用資訊)
在下面這個**你可以找到大量的日誌審計分析工具或者腳:
[url] ... platform=&path=[%20auditing%20][%2-0log%20analysis%20]
2)wtmp,utmp logs,ftp日誌
你能夠在/var/adm,/var/log,/etc目錄中找到名為wtmp,utmp的檔案,這記錄著使用者何時,何地telnet上主機,在***中最
古老也是最流行的zap2(編譯後的檔名一般叫做z2,或者是叫wipe). 也是用來抹掉在這兩個檔案中使用者登入的資訊的,
然而由於懶惰或者糟糕的網路速度(>3秒的echo就令人崩潰,而我經常遇見10 倍於此的回顯時間 ),很多***者沒有上載
或編譯這個檔案,管理員所需要就是使用lastlog這個命令來獲得***者上次連線的源位址(當然,這個位址有可能是他們
的乙個跳板)ftp日誌一般是/var/log/xferlog,該文字形式的檔案詳細的記錄了以ftp 方式上傳檔案的時間,**,檔名
等等。不過由於該日誌太明顯,所以稍微高明些的***者幾乎不會使用該方法來傳檔案。而使用rcp的較普遍些.當然你可以 # cat /var/log/xferlog | grep -v 202.106.147.來檢視那些不應該出現的位址。
3)sh_history
在獲得root 許可權後,***者建立了他們自己的***帳號,更高階的技巧是給類似uucp,lp不常使用的系統使用者名稱加上
密碼。在遭受***後,即使***者刪除了. sh_history或者.bash_hi-story 這樣的檔案,執行kill -hup `cat /var/run
/inetd.conf`即可將保留在記憶體頁中的bash命令記錄重新寫回到磁碟,然後執行find / -name.sh_historyprint,仔細
檢視每個可疑的shell命令日誌。尤其是當你在/usr/spool/lp(lp home dir),/usr/lib/uucp/(uucp home dir)這樣的目錄
下找了.sh_history檔案時。往往***者在需要目標機和工作機傳送檔案時為了避免被syslog,可能使用從目標機ftp到工
作機的方法,因此在sh_history中你有可能發現類似ftp ***.***.***.***或者[email]rcpnobody@***.***.***.***[/email]:/tmp/backdoor /tmp/backdoor這樣顯示出***者ip或網域名稱的命令。
4)http伺服器日誌
這很有可能是確定***者的真實***發源地的最有效方法。以最流行的apache伺服器為例,在?$/logs/ 目錄
下你可以發現access.log這個檔案,該檔案記載了訪問者的ip,訪問的時間和請求訪問的內容。在遭受***後,我們應該
可以在該檔案中發現類似下面的:record:***.***.***.*** - - [28/apr/2000:00:29:05 -0800] "get/cgi-bin/rguest.exe"404 -***.***.***.*** - - [28/apr/2000:00:28:57 -0800] "get /msads/samples/selector/showcode.asp" 404 -來自ip為***.***.***.***的某人在2023年4月28號的0點28分試圖訪問 /msads/samples/selector/showcode.asp檔案,這是在
使用web cgi掃瞄器後遺留下的日誌。大部分的web掃瞄器都是基於ms作業系統的,而為了更快的速度,使用基於unix的
掃瞄器的***者常選擇離自己最近的伺服器。結合***時間和ip,我們可以知道***者的大量資訊。
5)核心dump
這是一種相對較複雜的方法,但是也有效。乙個安全穩定的守護程序在正常執行的時候是不會dump出系統的核心,當入
侵者利用遠端漏洞***時,許多服務正在執行乙個getpeername的 socket 函式呼叫(參見socket程式設計),因此***者的ip
也儲存在記憶體中,此時服務overflow ,系統p 記憶體頁檔案被dump到core檔案,這意味著你可能在一大段雜亂無章的字元中
(事實上是乙個全域性資料庫中的程序變數)找到乙個包含有執行此 expoloit的ip。btw: 這段是參考了[url]後寫出的,我做了乙個cmsd的遠端***測試,但只在中間找到了
***者遠端overflow的部分命令,沒有找到ip。不過這仍有理由相信mixter(*****.html的作者)的話。
6)**伺服器日誌
**是大中型企業網常使用來做為內外資訊交換的乙個介面,它忠實地記錄著每乙個使用者所訪問的內容,當然,也包括入
侵者的訪問內容。以最常用的 squid**為例,通常你可以在/usr/local/squid/logs/下找到access.log 這個龐大的日誌檔案,
當然,由於日誌記錄新增得很快,在安全事故後應該及時備份它。你可以在以下位址獲得squid的日誌分析
指令碼:http: 通過對敏感檔案訪問日誌的分析,可以
知道何人在何時訪問了這些本該保密的內容。
7)路由器日誌
預設方式下路由器不會記錄任何掃瞄和登入,因此***者常用它做跳板來進行***。如果你的企業網被劃分為軍
事區和非軍事區的話,新增路由器的日誌記錄將有助於日後追蹤***者。更重要的是,對於管理員來說,這樣的
設定能確定***者到底是內賊還是外盜。當然,你需要額外的一台伺服器來放置 router.log檔案。
在cisco路由器上:
router(config)# logging faclity syslog
router(config)# logging trap informational
router(config)# logging [伺服器名]
在log server上:
i .在/etc/syslog.conf中加入一行:
*.info /var/log/router.log
ii . 生成檔案日誌檔案:
touch /var/log/router.log
iii .重起syslogd程序:
kill -hup `cat /var/run/syslogd.pid`
對於***者來說,在實施***的整個過程中不與目標機試圖建立tcp連線是不太可能的,這裡有許多***者主觀
和客觀的原因,而且在實施***中不留下日誌也是相當困難的。如果我們花上足夠的時間和精力,是可以從大量
的日誌中分析出我們希望的資訊。就***者的行為心理而言,他們在目標機上取得的許可權越大,他們就越傾向於
保守的方式來建立與目標機的連線。仔細分析早期的日誌,尤其是包含有掃瞄的部分,我們能有更大的收穫。
日誌審計只是作為***後的被動防禦手段。主動的是加強自身的學習,及時公升級或更新系統。做到有備無患才是
最有效的防止***的方法。
登入 Unix 作業系統
上一節我們了解 unix 作業系統發展歷史,這一節我們來了解 unix 的啟動,如何優雅的登入和退出 unix。系統啟動 系統是指系統從關機狀態開始直到系統變為使用者可用狀態。首先引導程式查詢有哪些裝置 硬碟,光碟,優盤等 是可以引導的,然後選擇可以引導的裝置。接著引導程式將控制權轉移給核心,核心呼...
Unix作業系統LD PRELOAD簡介
在unix作業系統的動態鏈結庫的世界中,ld preload就是這樣乙個環境變數,它可以影響程式的執行時的鏈結 runtime linker 它允許你定義在程式執行前優先載入的動態鏈結庫。這個功能主要就是用來有選擇性的載入unix作業系統不同動態鏈結庫中的相同函式。通過這個環境變數,我們可以在主程式...
Unix類作業系統入門
由於unix作業系統眾所周知的穩定性 可靠性,用來提供各種internet服務的計算機執行的作業系統佔很大比例的是unix及unix類作業系統,因此需要大量熟練掌握unix類作業系統應用的人才。目前比較常見的執行在pc機上的unix類作業系統有 linux bsd unix solaris x86 ...