亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 918 | 回復(fù): 0
打印 上一主題 下一主題

UNIX應(yīng)急響應(yīng)攻略 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2005-07-08 21:52 |只看該作者 |倒序?yàn)g覽
別人的文章,收藏。。。應(yīng)急響應(yīng)有一半是非技術(shù)的內(nèi)容,制定一個(gè)合理的響應(yīng)策略是至關(guān)重要的!
/*>2003/12上的策略篇是該文的簡(jiǎn)易縮略版,以下為完整版*/
★UNIX應(yīng)急響應(yīng)攻略
*******************************
*author:ayazero               *
*mail:drdos@163.com           *
*homepage:overflow.nease.net  *
*team:www.ph4nt0m.net         *
*******************************
Last update 2004/05/28
應(yīng)急響應(yīng)有一半是非技術(shù)的內(nèi)容,制定一個(gè)合理的響應(yīng)策略是至關(guān)重要的!
記住:現(xiàn)在開(kāi)始對(duì)受害系統(tǒng)的每一步操作都可能改變已存在的證據(jù)或是導(dǎo)致敏感信息的丟失!
{{初始響應(yīng)}}
目標(biāo):在進(jìn)行司法鑒定復(fù)制之前獲得系統(tǒng)中的易失數(shù)據(jù),初步確定突發(fā)事件概況。
==============
創(chuàng)建響應(yīng)工具包
==============
我們調(diào)查系統(tǒng),必須以高度可信賴的程序執(zhí)行命令,再加上備份與修復(fù),創(chuàng)建一個(gè)工具包是很有必要的。
即使在非UNIX/LINUX系統(tǒng)上,創(chuàng)建工具包也應(yīng)該作為響應(yīng)的第一步。
首先,我們需要在對(duì)應(yīng)體系結(jié)構(gòu)的系統(tǒng)上編譯響應(yīng)期間需要的工具,且編譯程序需要考慮系統(tǒng)兼容的問(wèn)題。
通常我們需要如下的工具:
ls        dd        des        file        pkginfo
find        icat        lsof        md5sum        nc
netstat        pcat        perl        ps        strace
strings        truss                df        vi       
cat        kstat         ifconfig        chkrootkit
more gzip  last  w        rm
script  bash  modinfo  lsmod  
讀者可根據(jù)自己的需要自行添加,但是一個(gè)工具包通常只能用來(lái)完成對(duì)某一特定平臺(tái)的工作,
把對(duì)多個(gè)平臺(tái)編譯的工具放進(jìn)同一個(gè)工具包反而會(huì)顯得紊亂。
在Linux上創(chuàng)建響應(yīng)工具包時(shí),可以用gcc的–static參數(shù)編譯源代碼,或者用ldd檢查動(dòng)態(tài)連接庫(kù),
在響應(yīng)工具包存儲(chǔ)介質(zhì)上建立庫(kù)文件目錄,并拷貝所有工具需要的動(dòng)態(tài)連接庫(kù)的副本,最后設(shè)置環(huán)境變量。
這個(gè)過(guò)程有點(diǎn)類(lèi)似于創(chuàng)建一個(gè)Linux的優(yōu)盤(pán)啟動(dòng)盤(pán)。
============
獲取易失數(shù)據(jù)
============
易失的數(shù)據(jù)包括:當(dāng)前打開(kāi)的套接字,進(jìn)程列表,RAM內(nèi)容,非鏈接文件的位置。
*unix特性:        unix允許進(jìn)程正在執(zhí)行時(shí)將其刪除!
非鏈接文件是訪問(wèn)該文件的進(jìn)程中止時(shí)被標(biāo)記為刪除的文件。當(dāng)系統(tǒng)關(guān)閉時(shí)(正常關(guān)機(jī)或突然斷電非正常關(guān)機(jī)),
標(biāo)記為刪除的文件都將消失。因此在找到被標(biāo)記為刪除的文件之前不能關(guān)機(jī)!
=================
執(zhí)行可信賴的shell
=================
使用我們自己準(zhǔn)備的響應(yīng)工具包,裝載該介質(zhì)的文件系統(tǒng),
mount –t auto /dev/sda1 /mnt/usb 或
mount –t iso9660 /dev/cdrom /mnt/cdrom
按下Ctrl+Alt+F1~F6,從控制臺(tái)以root身份登陸。
請(qǐng)一定要區(qū)分原環(huán)境變量中的命令和當(dāng)前響應(yīng)工具包的相同名字的命令集,防止?jié)撛诘亩M(jìn)制特洛伊木馬攻擊。
==================
查看登陸系統(tǒng)的用戶
==================
[root@ay4z3ro foo]#  w
19:50:48 up 43 min,  2 users,  load average: 0.00, 0.00, 0.00
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
root     :0        19:08   ?xdm?  11.10s  0.43s gnome-session
root     pts/0     19:08    1.00s  0.21s  0.01s w
輸出標(biāo)題行顯示了當(dāng)前系統(tǒng)時(shí)間,該系統(tǒng)已運(yùn)行的時(shí)間,當(dāng)前登陸用戶數(shù),最近1分鐘,5分鐘和15分鐘內(nèi)的平均系統(tǒng)負(fù)載。
USER字段顯示當(dāng)前登陸的用戶名。TTY字段顯示了會(huì)話的控制終端,tty表示從控制臺(tái)登陸,pts/typ則可以表示通過(guò)一個(gè)網(wǎng)絡(luò)連接,
因?yàn)閄是個(gè)C/S模式的應(yīng)用程序,所以我在GNOME下開(kāi)的shell窗口顯示為pts。如果不從本地登陸,輸出中還有FROM字段,
表示建立會(huì)話的源地址的域名或IP。LOGIN@顯示該連接的本地開(kāi)始時(shí)間。IDLE字段顯示了自上一個(gè)進(jìn)程運(yùn)行以來(lái)的時(shí)間長(zhǎng)度。
JCPU顯示與tty或pts關(guān)聯(lián)的全部進(jìn)程所使用的時(shí)間。PCPU字段顯示了WHAT列中當(dāng)前進(jìn)程所使用的CPU時(shí)間。WHAT列顯示用戶當(dāng)前運(yùn)行的進(jìn)程。
================
查看系統(tǒng)進(jìn)程列表
================
Solaris中使用ps –eaf,而在FreeBSD和Linux中則使用ps –aux.
[root@ay4z3ro foo]# ps aux
USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
root         1  0.1  0.2  1356  496 ?        S    19:07   0:04 init
root         2  0.0  0.0     0    0 ?        SW   19:07   0:00 [keventd]
root         3  0.0  0.0     0    0 ?        SWN  19:07   0:00 [ksoftirqd_CPU0]
root         4  0.0  0.0     0    0 ?        SW   19:07   0:00 [kswapd]
root         5  0.0  0.0     0    0 ?        SW   19:07   0:00 [bdflush]
root         6  0.0  0.0     0    0 ?        SW   19:07   0:00 [kupdated]
root         7  0.0  0.0     0    0 ?        SW //
-r--------    1 root     root            0 Sep 20 19:54 environ
lrwxrwxrwx    1 root     root            0 Sep 20 19:54 exe -> /usr/sbin/sshd*
dr-x------    2 root     root            0 Sep 20 19:54 fd/
-r--r--r--    1 root     root            0 Sep 20 19:54 maps
-rw-------    1 root     root            0 Sep 20 19:54 mem
-r--r--r--    1 root     root            0 Sep 20 19:54 mounts
lrwxrwxrwx    1 root     root            0 Sep 20 19:54 root -> //
-r--r--r--    1 root     root            0 Sep 20 19:54 stat
-r--r--r--    1 root     root            0 Sep 20 19:54 statm
-r--r--r--    1 root     root            0 Sep 20 19:54 status
Exe鏈接允許我們恢復(fù)被刪除的文件,只要這些文件仍然運(yùn)行。為獲得“已刪除”可執(zhí)行文件的備份,只需要使用cp命令在該文件系統(tǒng)上
創(chuàng)建一個(gè)拷貝就行。通過(guò)檢查fd子目錄,可以識(shí)別該進(jìn)程打開(kāi)的所有文件。如果對(duì)unix環(huán)境下的編程有所了解的話,很容易就能發(fā)現(xiàn)
是在讀寫(xiě)一個(gè)文件還是打開(kāi)一個(gè)網(wǎng)絡(luò)連接。cmdline文件的內(nèi)容是該進(jìn)程的完整命令行。以下語(yǔ)句是攻擊者的欺騙手段,
strcpy(argv[0],”any_string”);
這樣該文件就顯示了一種假象,即使如此,我們?nèi)杂斜匾獧z查此文件。
==================================
獲取所有文件的創(chuàng)建,修改和訪問(wèn)時(shí)間
==================================
ls –alRu > /mnt/usb/access
ls –alRc > /mnt/usb/modification
ls –alR > /mnt/usb/creation
============
獲取系統(tǒng)日志
============
大多數(shù)UNIX的日志在/var/log和/var/adm目錄下,各種UNIX派生系統(tǒng)日志的具體位置有所不同。
在此之前,有必要了解針對(duì)特定系統(tǒng)的日志存貯位置。
        比較重要的二進(jìn)制日志文件:
        utmp,用w工具訪問(wèn);
        wtmp,用last工具訪問(wèn);
        lastlog,用lastlog工具訪問(wèn);
        進(jìn)程記賬日志,用astcomm工具訪問(wèn)
        常見(jiàn)的ASCII文本日志文件:
        apache日志--/var/log/httpd/access_log;
        ftp日志—xferlog;
        命令歷史記錄文件;
        /var/log/messages;
        檢查/etc/syslog.conf以及其他守護(hù)進(jìn)程的配置文件以確定其余日志的位置。
================
獲取重要配置文件
================
        檢查各配置文件查找后門(mén)位置,未授權(quán)的信任關(guān)系和未授權(quán)的用戶ID。
        /etc/passwd,查找未授權(quán)的用戶帳號(hào)和權(quán)限。初級(jí)的入侵者會(huì)添加uid=0的用戶,
有人也會(huì)把系統(tǒng)中一個(gè)不起眼的原本沒(méi)有shell的普通賬戶改成可登陸獲得shell執(zhí)行命令,
然后他可以通過(guò)一個(gè)suid位的ksh或其他的安置在本地的后門(mén)馬上得到rootshell.
        /etc/shadow,確保每個(gè)用戶都有密碼認(rèn)證;當(dāng)然攻擊者給自己的賬戶加一個(gè)md5 hash其實(shí)也是非常簡(jiǎn)單的事。
        /etc/groups,查找權(quán)限的升級(jí)和訪問(wèn)范圍的擴(kuò)大。
        /etc/hosts,列出本地DNS條目。
        /etc/hosts.equiv,檢查信任關(guān)系。
        ~/.rhosts,檢查基于用戶的信任關(guān)系,”++”這種很濫的后門(mén)相信大家都知道。
        /etc/hosts.allow && /etc/hosts.deny 檢查tcpwrapper的規(guī)則。
        /etc/rc*,檢查啟動(dòng)文件。
        Crontab文件,列出計(jì)劃事件。
        /etc/inetd.conf,列出端口所監(jiān)聽(tīng)的服務(wù)。
===========
轉(zhuǎn)儲(chǔ)系統(tǒng)RAM
===========
主要是從系統(tǒng)轉(zhuǎn)移/proc/kmem或/proc/kcore文件,該文件以非連續(xù)方式包含系統(tǒng)RAM的內(nèi)容。
{{深入調(diào)查}}
============
檢查系統(tǒng)日志
============
UNIX有很多日志,這些為應(yīng)急響應(yīng)提供重要的線索。日志文件大多位于公用目錄,通常是/var/log,或/usr/adm,/var/adm,
有些日志位于禁止訪問(wèn)的/etc目錄。具體請(qǐng)參考當(dāng)前操作體系統(tǒng)文檔。
        其中syslogd守護(hù)進(jìn)程提供非常強(qiáng)大的日志功能,比如裝載一個(gè)內(nèi)核模塊的登記,其配置文件為/etc/syslog.conf,
通常它提供的最有用的日志是:messages,secure,syslog.在syslog.conf中每一行含有三個(gè)字段:
facility字段表示產(chǎn)生該日志文件的子系統(tǒng);priority字段表明事件的嚴(yán)重級(jí)別;
action字段表明如何記錄日志,它提供了遠(yuǎn)程網(wǎng)絡(luò)記錄的能力。
        TCP wrapper日志也利用syslog記錄,其中可能會(huì)有telnet,ssh,ftp等遠(yuǎn)程登錄的信息。這些日志中有很多有價(jià)值的條目:
嘗試登陸的時(shí)間日期,主機(jī)名稱,訪問(wèn)的服務(wù)類(lèi)型,以及源IP地址。
        其他的網(wǎng)絡(luò)日志比如,web,ftp,sql通常自身都提供了較為詳細(xì)的信息。Apache默認(rèn)日志在/usr/local/apache/logs,
最有用的日志是access_log,還有ssl_request_log,ssl_engine_log也能提供有價(jià)值的信息。其中可能包含攻擊前的掃描記錄。
        Su命令日志,記錄了每一次執(zhí)行su命令的動(dòng)作:時(shí)間日期,成功與否,終端設(shè)備,用戶ID.有些UNIX具有單獨(dú)的su日志,
有些則保存在syslog中。
        登陸用戶日志:utmp或wtmp文件保存了有關(guān)當(dāng)前登陸到系統(tǒng)的用戶的信息。此文件根據(jù)各UNIX版本的不同,
名稱及存儲(chǔ)位置有所差異。保存的基本信息是用戶名,用于登陸的終端以及登陸的時(shí)間。文件以二進(jìn)制格式存儲(chǔ)。
查詢utmp,wtmp文件應(yīng)使用適當(dāng)?shù)目蛻舳,如w,who,finger,last.檢索成功,失敗與用戶名未知的登陸條目。
        Cron日志記錄了定時(shí)作業(yè)的內(nèi)容,通常在/var/log/cron或默認(rèn)日志目錄中一個(gè)稱為cron的文件里。
        進(jìn)程記賬,如果系統(tǒng)存在acct或pacct日志文件,則可使用lastcomm或acctcom命令查看。該日志為二進(jìn)制文件。
        Shell歷史記錄:
[root@ay4z3ro foo]# less ~/.bash_history
如果.bash_history被鏈接到/dev/null文件,或者環(huán)境變量中的$HISTFILE,$HISTFILESIZE兩個(gè)變量值為0,那么肯定有人非法活動(dòng)過(guò)了。
        大多數(shù)入侵者都會(huì)修改或刪除日志,雖然理論上能夠做到除種植lkm rootkit之外幾乎不留任何痕跡,但在實(shí)際入侵中,
善后工作實(shí)際上是個(gè)不小的工程,不僅依賴入侵者對(duì)系統(tǒng)的熟知程度,而且當(dāng)處理過(guò)多繁瑣的內(nèi)容時(shí),疏忽很容易出現(xiàn)。比如:剛得到
rootshell時(shí)unset HISTFILESIZE,退出時(shí)忘了復(fù)原,留下一條痕跡。諸如此類(lèi)的例子還有很多,日志清除工具是死的,它只會(huì)清除預(yù)定義的
項(xiàng)目,雖然你也能修改源碼,但那樣還是不能隨機(jī)應(yīng)變。最保險(xiǎn)的方法就是手工勞動(dòng),這樣就加大了入侵者的負(fù)擔(dān)。出于懶惰,
對(duì)系統(tǒng)掌握程度不夠或是各種各樣的原因往往還是會(huì)留下一些對(duì)我們有價(jià)值的東西。所以,檢查日志對(duì)應(yīng)急響應(yīng)來(lái)說(shuō)非常重要。
==============
執(zhí)行關(guān)鍵字搜索
==============
無(wú)論是對(duì)何種操作系統(tǒng)進(jìn)行應(yīng)急響應(yīng),關(guān)鍵字搜索都是該過(guò)程的一部分。針對(duì)某個(gè)具體事件,可能會(huì)有一些ID,phrase與此事件密切相關(guān),
執(zhí)行關(guān)鍵字搜索可以找到更多的信息。關(guān)鍵字可以是很長(zhǎng)的ASCII字符串,包括攻擊者后門(mén)密碼,用戶名,MAC地址或IP.
例:搜索整個(gè)文件系統(tǒng)中包含”ay4z3ro”字符串大小寫(xiě)形式的所有文件:
[root@ay4z3ro foo]# grep –r –i ay4z3ro /
strings命令用于顯示文件中的可打印字符,例如:srings /bin/login用于顯示login后門(mén)中的密碼(未加密的明文,編碼或加密后的散列)。
Find命令用于尋找匹配常規(guī)表達(dá)式的任何文件名。例:
在整個(gè)文件系統(tǒng)中搜索名為”…”的文件或目錄:
[root@ay4z3ro foo]# find / -name “...” –print
此外find命令可以匹配的特征還包括:修改訪問(wèn)時(shí)間,文件所有者,文件內(nèi)的字符串,文件名的字符串等。
Find命令的-exec選項(xiàng)與grep,strings結(jié)合使用體現(xiàn)了unix的天才氣質(zhì),那樣干起活來(lái)非常方便。
================
確定突發(fā)事件時(shí)間
================
*如果有IDS,確保IDS系統(tǒng)時(shí)間與受害系統(tǒng)時(shí)間一致。
*檢索系統(tǒng)中突發(fā)事件前后創(chuàng)建和被改動(dòng)的文件,可能會(huì)有驚喜地發(fā)現(xiàn)。
======================
恢復(fù)被刪除的文件和數(shù)據(jù)
======================
這個(gè)過(guò)程需要操作者對(duì)unix/linux文件系統(tǒng)的體系結(jié)構(gòu)有所了解,這里并不打算去介紹文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)及其代碼的實(shí)現(xiàn),
而是簡(jiǎn)單的說(shuō)明一下,刪除一個(gè)文件其實(shí)只是將inode節(jié)點(diǎn)的部分?jǐn)?shù)據(jù)和指針置0,在下次數(shù)據(jù)覆蓋以前并沒(méi)有將節(jié)點(diǎn)指向的
數(shù)據(jù)塊的內(nèi)容刪除。要想恢復(fù)刪除的文件,需要使用inode節(jié)點(diǎn)的信息重建文件大小和數(shù)據(jù)塊列表。
找到文件節(jié)點(diǎn)信息:
[root@ay4z3ro foo]# ls –i /tmp/x.d
82241 /tmp/x.d
表明/tmp/x.d位于82241節(jié)點(diǎn)。
TCT(The Coroner’s Toolkit)是一個(gè)非常有用的工具包,其中的icat可以查看指定節(jié)點(diǎn)上文件的全部?jī)?nèi)容。
[root@ay4z3ro TCT]# ./icat /dev/hda5 82241
如果程序還在運(yùn)行,可以使用lsof命令引用NODE欄查找節(jié)點(diǎn)信息。
恢復(fù)一個(gè)文件只需要:
[root@ay4z3ro TCT]# ./icat /dev/hda5 NODE > some.recovery
TCT中還有很多有用的工具,例:
[root@ay4z3ro TCT]# ./ils –A /dev/hda5 | grep “|501|”
以上命令行找出與UID=501用戶有關(guān)的所有被刪除的文件。
TCT鏈接:http://www.fish.com/forensics/
============
檢查特殊文件
============
SUID和SGID文件:
---------------
[root@ay4z3ro /]# find / -type f ( -perm -04000 -o -perm -02000 ) -exec ls -lg {}
從中查找那些原本不含有S位的,不尋常的或是被放在一個(gè)奇怪地方的S位程序。把/bin/ksh改名后放在/tmp(777)目錄下就是一種后門(mén)。
不常用的和隱藏的文件及目錄:
---------------------------
UNIX系統(tǒng)中以”.”開(kāi)頭的文件都是隱藏的,如果ls不加”-a”參數(shù)就不會(huì)出現(xiàn)在文件列表里,攻擊者經(jīng)常利用的還有:”…”。
用隱藏字符對(duì)目錄進(jìn)行重命名是一種黑客技巧,比如有的文件名是這樣的:”..^T”,”… “(注意三個(gè)點(diǎn)后面有個(gè)空格)……
這可以欺騙很多系統(tǒng)管理員。
怎么辦呢?如下:
[root@ay4z3ro foo]# ls –al “| cat –tve”
cat命令的參數(shù)讓其顯示非打印字符,顯示制表符并在每個(gè)結(jié)尾放置一個(gè)$,所以以上目錄會(huì)顯示為:”..^T$”,”… $”。
要進(jìn)入前一個(gè)目錄在T之前按下CTRL+V,而不是用^符號(hào),進(jìn)入后一個(gè)目錄則是:[root@ay4z3ro foo]# cd “… “
配置文件:
---------
一個(gè)攻擊者如果擁有相當(dāng)熟練的系統(tǒng)管理技能,偷梁換柱,在配置文件中做點(diǎn)手腳是很輕而易舉的事。
比如修改或添加/etc/services,/etc/inetd.conf,不過(guò)對(duì)于熟練的系統(tǒng)管理員來(lái)說(shuō),這樣的后門(mén)很容易發(fā)現(xiàn)。
還有就是某些exploit的副產(chǎn)品,比如那個(gè)Solaris2.6的Sadmind RPC遠(yuǎn)程溢出,默認(rèn)的攻擊程序就是溢出后在/etc/inetd.conf
添加一句偽造ingreslock服務(wù)把/bin/sh綁定在1524端口。水平差的攻擊者通常不會(huì)注意這個(gè)問(wèn)題。
啟動(dòng)文件:
----------
上面的inetd.conf就是這類(lèi)文件,除此之外還有cron文件,目錄/var/spool/cron,/usr/spool/cron用來(lái)為不同用戶保存cron作業(yè)。
該目錄中的文件以用戶帳號(hào)命名,并且其中的任務(wù)以該用戶特權(quán)運(yùn)行。此目錄下的root文件應(yīng)該是我們關(guān)注的。
有人喜歡在半夜啟動(dòng)木馬運(yùn)行一個(gè)bindshell,然后過(guò)幾個(gè)小時(shí)又把開(kāi)放的端口關(guān)閉。
        /etc/rc*是開(kāi)機(jī)自動(dòng)運(yùn)行腳本,也經(jīng)常被攻擊者利用。
        剩下的還有用戶啟動(dòng)文件,如login,profile, .bashrc, .cshrc, .exrc可能被插入特洛伊語(yǔ)句,在www.apache.org被入侵
的事件中就曾被利用過(guò)。
/tmp目錄:
-------------
        /tmp目錄的權(quán)限默認(rèn)是777,這是攻擊者經(jīng)常利用的地方,很多黑客工具也利用此目錄存儲(chǔ)中間文件,如果攻擊者不小心,
就會(huì)在此留下尾巴。
================       
檢查用戶帳號(hào)和組
================
        有些賬號(hào)是為系統(tǒng)而設(shè),本來(lái)沒(méi)有shell,也不能登陸,攻擊者可能會(huì)利用這點(diǎn)。剛學(xué)習(xí)UNIX入侵沒(méi)多久的人可能會(huì)這樣:
echo “aya:x:0:0:intruder!!:/:/bin/sh”>>/etc/passwd,更有可憐的家伙因?yàn)樯倭艘粋(gè)”>”而破壞了passwd文件,
弄得自己都無(wú)法登陸?,真見(jiàn)過(guò)這樣的家伙,說(shuō)實(shí)話我自己也干過(guò),不過(guò)是發(fā)生在自己的Linux上,所以沒(méi)有鑄成大錯(cuò)。
老練的不會(huì)這樣做,他們可能會(huì)從一堆用戶中挑出一個(gè)不起眼的,然后占為己有,遠(yuǎn)程合法登錄取得shell后本地再升級(jí)為root.
我相信這個(gè)問(wèn)題對(duì)我們來(lái)說(shuō)很好解決。
============
識(shí)別非法進(jìn)程
============
        監(jiān)聽(tīng)服務(wù)和運(yùn)行進(jìn)程相關(guān)的二進(jìn)制文件都應(yīng)該檢查,查看/etc/inetd.conf時(shí)可能會(huì)發(fā)現(xiàn)合法的服務(wù)在合法的端口監(jiān)聽(tīng),
但是那個(gè)進(jìn)程的二進(jìn)制文件可能是被替換過(guò)的,所以先要確保正在運(yùn)行的不是rootkit(lrk4,lrk5……)
[root@ay4z3ro tool]# ./chkrootkit
chkrootkit是一個(gè)用于檢查完整性的工具,如果之前用過(guò)tripwire,則可以用tripwire校驗(yàn)。
或者用rpm自身的MD5校驗(yàn)和功能。
============
勘查系統(tǒng)弱點(diǎn)
============
        檢查各服務(wù),應(yīng)用程序,內(nèi)核及補(bǔ)丁的版本,對(duì)照bugtraq上已知的漏洞列表,查找系統(tǒng)弱點(diǎn),從正面挖掘潛在的和可能被忽略漏洞。
這要求響應(yīng)人員具有一個(gè)職業(yè)入侵者的相關(guān)技能!試圖扮演一個(gè)入侵者也能從中發(fā)掘?qū)Ψ绞侨绾芜M(jìn)入系統(tǒng)的。
============
分析信任關(guān)系
============
        首先UNIX中的信任關(guān)系一度成為被攻擊的弱點(diǎn)。其次,如果該關(guān)系被利用,那么受害范圍將擴(kuò)大,
此時(shí)受信任的系統(tǒng)也被認(rèn)為是不安全的,并將其同時(shí)列入響應(yīng)對(duì)象的范圍。
============
分析黑客工具
============
        如果很有幸的,入侵者留下了或者是我們用某種聰明的辦法恢復(fù)了入侵者在活動(dòng)過(guò)程中使用的工具,代碼,就可以對(duì)其進(jìn)一步分析。
        如果是源代碼,直接拿過(guò)來(lái)就能讀(當(dāng)然是LKM RootKit的源碼最好,呵呵)。不熟練的家伙甚至把原來(lái)的工具比如sniffit名字都不
改就運(yùn)行了,這樣的就比較好對(duì)付。
        如果我們得到的是一個(gè)正在運(yùn)行進(jìn)程的二進(jìn)制文件的副本,可以使用gdb等調(diào)試器反匯編,跟蹤調(diào)試。
但是如果一個(gè)極具水準(zhǔn)的攻擊者這樣編譯他的程序:
[root@ay4z3ro evil]# gcc –O4 evil.c –o evil
用-O4參數(shù)優(yōu)化編譯后會(huì)減少指令,然后用strip去掉二進(jìn)制文件中的符號(hào)信息:
[root@ay4z3ro evil]# strip ./evil
這樣我們的工作就會(huì)變得非常困難。
File命令可以顯示文件的類(lèi)型信息,是否被strip過(guò)等。
Strings命令可以用來(lái)顯示可執(zhí)行文件中的ASCII字符串,比如一個(gè)本地緩沖區(qū)溢出exploit中由printf()語(yǔ)句控制的行,出錯(cuò)處理的消息,
默認(rèn)的-h參數(shù)的返回信息等。此外還有可能得到函數(shù),變量名,編譯之前所用的文件名,創(chuàng)建該文件的編譯器版本等,通過(guò)這些關(guān)鍵字進(jìn)行
在線搜索就有可能找到該工具的源碼。
        同樣我們可以對(duì)二進(jìn)制文件進(jìn)行動(dòng)態(tài)分析,用strace工具跟蹤系統(tǒng)調(diào)用。strace顯示了文件執(zhí)行時(shí)所產(chǎn)生的文件訪問(wèn),網(wǎng)絡(luò)訪問(wèn),
內(nèi)存訪問(wèn)和許多其它的系統(tǒng)調(diào)用信息。通常通過(guò)觀察關(guān)鍵的系統(tǒng)調(diào)用我們大致能確定該程序作了什么。由此重構(gòu)該文件的運(yùn)行情景也是可能
的。strace給我們提供了極大的方便,在整個(gè)響應(yīng)過(guò)程中,我們還可以利用它做很多事情。
{{后話}}
應(yīng)急響應(yīng)并不需要完全遵循固定的模式,思路新穎可以適度發(fā)揮,如果遇到的對(duì)手是水平極高的攻擊者,應(yīng)該適當(dāng)改變策略,
為了安全起見(jiàn),最后重裝系統(tǒng)或許也是必要的。
寫(xiě)給廣大“搞機(jī)器一族”的話:
縱使有人覺(jué)得自己入侵技巧高明,但事實(shí)上防御的一方總是或多或少的有些出乎你意料之外的對(duì)策,一點(diǎn)小馬虎可能就會(huì)使你很難堪。
即使你認(rèn)為已經(jīng)清除了目標(biāo)系統(tǒng)上所有的日志,但是前端路由器或IDS,F(xiàn)irewall上可能有你無(wú)法“處理”甚至你未曾察覺(jué)到的跟蹤記錄,
為了自身的安全,找一條快速的線路,用多重跳板來(lái)發(fā)動(dòng)一次真正的攻擊是很有必要的。從“開(kāi)始”到“結(jié)束”都不能暴露自己!


本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/4771/showart_34782.html
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP