Unix作業系統 追蹤反擊戰

2021-09-05 02:03:55 字數 4226 閱讀 8487

被他們攻陷的機器作為跳板來***你的伺服器可在他們發動正式***前所做的目標資訊收集工作(試探性掃瞄)

常常是從他們的工作機開始的,本篇介紹如何從遭受***的系統的日誌中分析出***者的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 ...