www.e4938.cn-老师你下面太紧了拔不出来,99re8这里有精品热视频免费,国产第一视频一区二区三区,青青草国产成人久久

<button id="60qo0"></button>

<strike id="60qo0"></strike>
<del id="60qo0"></del>
<fieldset id="60qo0"><menu id="60qo0"></menu></fieldset>
  • UNIX系統(tǒng)下的應(yīng)急響應(yīng)工具介紹

    2015-08-26 14:30:53 大云網(wǎng)  點(diǎn)擊量: 評論 (0)
    整個文章分三個系列介紹對于 OpenBSD, Linux, 或者Solaris系統(tǒng)的應(yīng)急響應(yīng)和取證過程中有用的工具。本部份聚焦在系統(tǒng)工具上,第二部份主要是介紹文件系統(tǒng)工具,最后部分則主要是網(wǎng)絡(luò)工具。本文用到的都是基于
    整個文章分三個系列介紹對于 OpenBSD, Linux, 或者Solaris系統(tǒng)的應(yīng)急響應(yīng)和取證過程中有用的工具。本部份聚焦在系統(tǒng)工具上,第二部份主要是介紹文件系統(tǒng)工具,最后部分則主要是網(wǎng)絡(luò)工具。本文用到的都是基于 OpenBSD 3.2, Debian GNU/Linux 3.0 (woody), RedHat 8.0 (psyche), and Solaris 9 (aka Solaris 2.9 or SunOS 5.9)的。
    依賴于你所使用的操作系統(tǒng),本文討論的許多軟件可能不是默認(rèn)安裝的。這種情況下,請根據(jù)文章后面的參考部分獲得這些工具。
    The Soapbox
    那些可以用來處理入侵威脅的工具不在本系列討論內(nèi)容中,本文只覆蓋在入侵發(fā)生之后使用的工具。入侵通常是可以防止的。使用一些比如保證系統(tǒng)更新安裝最新補(bǔ)丁的技術(shù),按照最小化服務(wù)配置系統(tǒng),使用設(shè)計(jì)為安全的操作系統(tǒng),使用能夠加固系統(tǒng)的核心補(bǔ)丁等等,這些來防范入侵的技術(shù)可能讓你根本就從來不會使用在本系列文章中介紹到的這些工具。
    讀者應(yīng)該命令,一旦攻擊者獲得了系統(tǒng)控制權(quán),這個系統(tǒng)就基本不應(yīng)該被信任。我們討論的工具多數(shù)都操作在用戶方式。一個欺騙的核心模塊可能不會讓你正常地檢查系統(tǒng),比如,這個系統(tǒng)已經(jīng)被入侵的情況下。這些欺騙的模塊會采用多種辦法來隱藏自己,比如根據(jù)系統(tǒng)設(shè)計(jì)來讓自己在系統(tǒng)運(yùn)行的時候不能輕易檢測到。這意味著,你不應(yīng)該相信你使用的那些工具的輸出結(jié)果。這意味著在響應(yīng)入侵事件中,應(yīng)該采取懷疑、研究和謹(jǐn)慎的方式。
    你用于分析系統(tǒng)的工具應(yīng)該是你可以去信任,而且沒有被修改的。下面討論了一些技術(shù),比如將工具保存在離線的只讀介質(zhì)中,這樣,你就更可以信賴,而不是那些在已經(jīng)被入侵的系統(tǒng)上的二進(jìn)制程序。
    你已經(jīng)做了所有正確的事情,可以進(jìn)行下面的一些練習(xí),你的系統(tǒng)已經(jīng)被入侵了。現(xiàn)在怎么辦呢?
    Breaking Out the Toolbelt
    現(xiàn)在首先應(yīng)該檢查那些我們后面需要用到的工具。這里不說man(1)提供的信息,特別是因?yàn)槊顓?shù)因?yàn)橄到y(tǒng)不同而不同。檢查這樣的信息是留給讀者的一種練習(xí)。
    vmstat - 這是可以快速察看內(nèi)存、CPU和磁盤子系統(tǒng)的命令。vmstat 通常執(zhí)行一個短時間,以便可以察看子系統(tǒng)利用的趨勢。vmstat 經(jīng)常可以在系統(tǒng)性能有一些問題的時候幫助我們知道哪些地方應(yīng)該去深究。
    mpstat - 這個命令在Linux和Solaris上都有,可以用它察看處理器利用的統(tǒng)計(jì)。mpstat 提供一個選項(xiàng),允許在多處理器系統(tǒng)中察看指定CPU的統(tǒng)計(jì)。vmstat 沒有這個功能。
    iostat - 顯示比vmstat更詳細(xì)的跟子系統(tǒng)相關(guān)的統(tǒng)計(jì)信息。
    sar,sa,lastcomm,last - 這些是檢查歷史數(shù)據(jù)和一些近來的系統(tǒng)事件。sar是一個Solaris和Linux的系統(tǒng)性能分析工具。這些可以用于檢查的性能數(shù)據(jù)類似于vmstat, mpstat和 iostat的顯示。 sar的數(shù)據(jù)是一段時間保存的內(nèi)容,因此可以察看過去的信息。 lastcomm可以現(xiàn)在系統(tǒng)最近被執(zhí)行的命令。這些可以用在系統(tǒng)審計(jì)中。sa 可以在*BSD和Linux中找到,它給用戶在系統(tǒng)審計(jì)中更多的選項(xiàng)來收集信息。
    ps - 立足于進(jìn)程狀態(tài),用于顯示系統(tǒng)執(zhí)行的進(jìn)程和他們的信息。
    top - 顯示的信息同ps接近,但是top可以了解到CPU消耗,可以根據(jù)用戶指定的時間來更新顯示。
    lsof - 列舉打開的文件,顯示系統(tǒng)當(dāng)前打開的所有文件。Unix系統(tǒng)的所有東西幾乎都可以看作是文件,因此lsof也顯示了系統(tǒng)的狀態(tài)中有重要意義的內(nèi)容。
    file - 判斷文件是什么,不同的文件格式可以16進(jìn)制的形式現(xiàn)實(shí)文件的內(nèi)容
    readelf - 顯示二進(jìn)制文件的ELF(可執(zhí)行鏈接和格式)頭的細(xì)節(jié)。這些內(nèi)容可以判斷可執(zhí)行提供的函數(shù)。
    od - 以用戶指定的格式輸出文件內(nèi)容。od對于在文件內(nèi)容中有一些解釋的情況下察看原始內(nèi)容是有幫助的。
    ldd - 讀取ELF頭的內(nèi)容,并顯示可執(zhí)行文件依賴的對象庫。
     
    string - 現(xiàn)實(shí)文件中的ASCII字符串。對于在二進(jìn)制文件中查找其中可讀的字符串是非常有用處的。
    find - 用于在文件系統(tǒng)中查找指定的對象。
    strace - 這個工具開始或者附加到一個當(dāng)前運(yùn)行的進(jìn)程中,顯示這個進(jìn)程所作的所有系統(tǒng)調(diào)用。這可以用來判斷程序運(yùn)行的行為,并且來決定是否是合適的程序。strace 存在于Linux上。在 Solaris上是truss, *BSD提供的ktrace可以達(dá)到相似的功能。
    sudo - 可以讓管理員給用戶以其他用戶的權(quán)限執(zhí)行命令的能力,而不用給該用戶密碼。
    grep - 用于按照用戶指定的模式查詢。 grep用匹配規(guī)則。
    less - 頁面調(diào)度程序,用來按頁顯示文本。
    在參考部分中的"CD-ROM and Floppy distributions"[3]中,一些站點(diǎn)介紹了怎么編譯這些工具以便用于不同的操作系統(tǒng),并放置在CD-ROM。現(xiàn)在,開始檢查運(yùn)行的系統(tǒng)了。
    運(yùn)氣就是在機(jī)會面前有所準(zhǔn)備
    運(yùn)氣對于技術(shù)來說,并不是可求解的。攻擊者可以采用很多方法來危及OS的安全。威脅系統(tǒng)安全的漏洞可能是OS提供商,也可以是那些應(yīng)用軟件。當(dāng)漏洞還沒有大面積公布,或者還沒有讓它的相關(guān)提供商自己知道的時候,攻擊者已經(jīng)在IRC里面知道那種系統(tǒng)可以被入侵了。作為一個安全管理員,你必須在這場游戲中表現(xiàn)一直出色。但是,攻擊者則只需要一次就足夠。
    然而,你需要做許多前期的準(zhǔn)備工作。你應(yīng)該有一個應(yīng)急響應(yīng)的策略。你必須有一張CD-ROM或者軟盤什么的,來存儲檢查系統(tǒng)中需要的工具,而不是使用被入侵的系統(tǒng)中的工具。如果正使用軟盤,讓他們處于寫保護(hù)模式,你可以在取證[5]中獲得非常優(yōu)秀的資源。
    現(xiàn)在回到機(jī)器上。把事件響應(yīng)的日期和時間都紀(jì)錄在記錄本上。并且紀(jì)錄采取的每一步的所有細(xì)節(jié)和時間。裝載CD-ROM或者軟盤,并且使用紀(jì)錄在這些介質(zhì)上的軟件,緊記按照易失性的順序[6]保存相關(guān)的信息到安全的地方。
    按照易失性順序的重要原因是因?yàn)槿肭质录l(fā)生后與之相關(guān)信息的數(shù)量和自量都將隨時間增加而迅速減少。那些經(jīng)驗(yàn)豐富的攻擊者制造的事件則可能讓曲線更陡,下降速度更快。
    了解自己
     
    可能在入侵事件之前,你已經(jīng)在系統(tǒng)上花費(fèi)了大量時間。你了解這些系統(tǒng)的里里外外,進(jìn)行了相當(dāng)多的文檔工作,并且做了備份。在系統(tǒng)上,開啟了進(jìn)程審計(jì)(或者*BSD的系統(tǒng)審計(jì)),進(jìn)行了系統(tǒng)實(shí)時數(shù)據(jù)(sadc[8])來保存系統(tǒng)的性能數(shù)據(jù)。管理日志的時候,可能沒有足夠的空間來頻繁存儲這些數(shù)據(jù),你可以發(fā)送syslog數(shù)據(jù)到安全的日志服務(wù)器上。
    你接到webmaster的電話,他發(fā)現(xiàn)某個web服務(wù)器上CPU負(fù)載很高,而這個服務(wù)器每天的瀏覽量僅僅幾千而已。webmaster確信服務(wù)器存在有什么問題。
    vmstat 和 mpstat (只在*BSD系統(tǒng)上) 表明CPU被用戶空間的一個或者多個進(jìn)程消耗掉了,但是內(nèi)存和I/O子系統(tǒng)還沒有大量使用。 iostat 也顯示出磁盤系統(tǒng)不正常。
    $ vmstat  1 4
    procs                      memory    swap          io     system         cpu
    r  b  w   swpd   free   buff  cache  si  so    bi    bo   in    cs  us  sy  id
    1  0  0    376   7756  29772 570960   0   0     7     3  441   397  87   5   8
    5  0  0    376   6728  29772 570960   0   0     0     0  498  1249 100   0   0
    6  0  0    376   7240  29772 570960   0   0     0     0  652  1563  97   3   0
    6  0  0    376   7604  29772 570960   0   0     0     0  536  1323  97   3   0
    $ mpstat 1 4
    20:51:21     CPU   %user   %nice %system   %idle    intr/s
    20:51:22     all  100.00    0.00    0.00    0.00    479.00
    20:51:23     all  100.00    0.00    0.00    0.00    496.00
    20:51:24     all  100.00    0.00    0.00    0.00    499.00
    20:51:25     all   97.00    0.00    3.00    0.00    481.00
    Average:     all   98.00    0.60    1.40    0.00    486.60
    $ iostat -dk 1 4
    Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
    dev3-0            0.00         0.00         0.01         73       1296
    dev3-0            0.00         0.00         0.00          0          0
    dev3-0            0.00         0.00         0.00          0          0
    dev3-0            0.00         0.00         0.00          0          0
    sar (*BSD的sa) 顯示CPU從早些晚上 03:17 就開始被使用。 lastcomm 顯示FTP客戶端在03:17以root運(yùn)行了幾次, last 這個命令顯示最近的登錄,沒有顯示出這個時間段有 root 從什么地方登錄進(jìn)來。另外,這個服務(wù)器又使用 sudo來管理root權(quán)限。這里有兩個系統(tǒng)管理員賬號可以用 root登錄,但是他們并沒有登錄過,特別是在 AM 3這個時間附近。根據(jù)這一點(diǎn),你決定使用CD上準(zhǔn)備好的二進(jìn)制工具。現(xiàn)在運(yùn)行 top -d1,并且發(fā)現(xiàn)apache這個進(jìn)程占用了100%的CPU。
    現(xiàn)在用 grep 檢查apche的錯誤日志,這個GNU工具可以有更多有用的參數(shù),-A, -B和-C 可以讓你指定想從哪一個匹配的行的開始,之前或者周圍看。 grep可以通過-E 來使用擴(kuò)展的模式匹配表達(dá)式。可以檢查系統(tǒng)日志。但是并沒有在這些日志里面檢查到什么奇怪的地方。
    現(xiàn)在繼續(xù)進(jìn)行檢查。運(yùn)行 ps -eflcyL (Solaris 9),ps -eflcym --headers (Deb3.0, RH8.0)或者 ps auwxhkwvl(OBSD 3.2)。找到進(jìn)程 apache,而這一次發(fā)現(xiàn)有問題了。這里只有一個apache進(jìn)程和多個httpd進(jìn)程。httpd實(shí)際上是Apache服務(wù)器,因?yàn)閔ttpd是在apachectl文件執(zhí)行的二進(jìn)制,運(yùn)行的apache是前派生的,因此,如果二進(jìn)制文件被重命名為"apache",那么也應(yīng)該有多個進(jìn)程存在。這就是問題所在。 
    使用 lsof -p <pid>[9] ,發(fā)現(xiàn)這個apache進(jìn)程打開了一個叫 john.pot 的文件。立刻通過google,查詢這是一個叫“John the Ripper”的密碼破解工具,正是這個東西讓CPU滿負(fù)荷了。
    現(xiàn)在來檢查這個所謂的apache程序。通過 file apache,表明這個文件是ELF可執(zhí)行的。現(xiàn)在進(jìn)行進(jìn)一步的挖掘,執(zhí)行 readelf -a apache,確信這是一個ELF可執(zhí)行程序。 od -xc apache | less 現(xiàn)實(shí)ELF魔法數(shù)字(7f454c46),ldd顯示apache連接的共享對象庫比實(shí)際的httpd進(jìn)程小一些,這里面一定有文章:
    $ ldd ./apache
    libc.so.6 => /lib/libc.so.6 (0x4001f000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
    $ ldd /usr/sbin/httpd 
    libm.so.6 => /lib/libm.so.6 (0x7002c000)
    libcrypt.so.1 => /lib/libcrypt.so.1 (0x700c4000)
    libdb.so.2 => /lib/libdb.so.2 (0x70100000)
    libdb2.so.2 => /lib/libdb2.so.2 (0x70120000)
    libexpat.so.1 => /usr/lib/libexpat.so.1 (0x70180000)
    libdl.so.2 => /lib/libdl.so.2 (0x701b4000)
    libc.so.6 => /lib/libc.so.6 (0x701c8000)
    /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x70000000)
    執(zhí)行: strings | grep -i john,顯示如下:
    $ strings apache | grep -i john
    /usr/share/john/password.lst
    /etc/john.ini
    ~/john.pot
    /etc/john.ini
    john
    John the Ripper  Version 1.6  Copyright (c) 1996-98 by Solar Designer
    /etc/john.ini
    /etc/john.ini
    /etc/john.ini
    用 strace -fp 'pgrep apache'(Deb3.0, RH8.0), truss -fp 'pgrep apache'(Sol9),或者 ktrace -dip <pid> (OBSD 3.2),來察看apache進(jìn)程到底在做什么。
    # strace -fp `pgrep apache`
    --- SIGALRM (Alarm clock) ---
    sigreturn()                             = ? (mask now [])
    --- SIGALRM (Alarm clock) ---
    sigreturn()                             = ? (mask now [])
    --- SIGALRM (Alarm clock) ---
    sigreturn()                             = ? (mask now [])
    _llseek(4, 65536, [65536], SEEK_SET)    = 0
    read(4, "\2YUz\0\2Z\0241\0\2ZA1dkmnr\0\2ZDa\0\2ZElnrd"..., 4096) = 4096
    read(4, "\2\5Ma\0\2\5Te\0\2\6\n(\0\2\6>%\0\2\10\n&\0\2\10\0210\0"..., 4096) = 4096
    read(4, "IPVm\0\2(%L\0\2((H\0\2(/CMRBNTUWcr\0\2(5"..., 4096) = 4096
    read(4, "fgq\0\2BCh26o\0\2BDaikmoy\0\2BEanreltc"..., 4096) = 4096
    read(4, "ag\0\2N\23l\0\2N\25j\0\2N\0269\0\2N\30f\0\2N!ds\0\2N)"..., 4096) = 4096
    read(4, "\0\2_9LRMTes\0\2_:6Z\0\2_>&%\0\2_?)Cw\0\2_"..., 4096) = 4096
    read(4, "%Antv\0\2%Cr\0\2%Dd\0\2%Gg\0\2%Ke\0\2%Lls\0"..., 4096) = 4096
    read(4, "rtlpbdgiuv\0\2GBeam\0\2GDuy\0\2GEnert\0"..., 4096) = 4096
    read(4, "We6hilw\0\2RYasdpcgilmno\0\2S\0205c\0\2S\21"..., 4096) = 4096
    read(4, "68jDxMEBTIRNLAGSKCPOqVHFUZWJ$%#^"..., 4096) = 4096
    read(4, "\0022In\0\0022Ke\0\0022LiEe\0\0022Ma\0\0022NEe\0\0022P"..., 4096) = 4096
    read(4, "I5y\0\2I6e\0\2I7ae\0\2IAnmrs9t67dhlpuz"..., 4096) = 4096
    read(4, "Eprylsenbu9ak013ft!Lcox\0\2SFi9aey"..., 4096) = 4096
    read(4, "o149dlytwMbckr0u\0\2_Xixae01537926"..., 4096) = 4096
    read(4, "2\0\2-!NCLS\0\2-%RS\0\2-)ETDNS\0\2--M\0\2-"..., 4096) = 4096
    read(4, "!*bfgk\0\2GJu\0\2GLeiayYs\0\2GMaAoegu\0"..., 4096) = 4096
    read(4, "Utsdbgmpy\0\2PWa\0\2PXy\0\2PY1!27sy.05"..., 4096) = 4096
    read(4, "w!9bAjp5clgkr068EFSYf$.?CJKLW]n\0"..., 4096) = 4096
    --- SIGALRM (Alarm clock) ---
    sigreturn()                             = ? (mask now [])
    用 grep -n 在John the Ripper的源代碼中找到在 crk_password_loop()函數(shù)中有一個叫 sig_timer_emu_tick()的函數(shù),它在timer_emu_max到達(dá)之后產(chǎn)生 SIGALRM。這就是 strace 顯示的SIGALRM。通過 lsof -p 'pgrep apache'來檢查哪個文件同讀的文件描述符fd 4在讀取數(shù)據(jù),以及fd 4相關(guān)聯(lián)的叫all.chr的文件。察看 john.ini 文件,找到所引用的 all.chr 文件。
    所有跡象表明,這的確是一個密碼破解工具, John the Ripper。因此,無論是你還是其他的任何管理員安裝了這個工具,它運(yùn)行起來的時候,就會好像web 服務(wù)器被入侵了。
    結(jié)論
    在下一篇文章中,我們會繼續(xù)進(jìn)行研究在Webserver使用文件系統(tǒng)工具的時候到底發(fā)生了什么事情。記住,面對任何威脅最好的準(zhǔn)備是做好預(yù)防。當(dāng)入侵真正發(fā)生的時候,你要做很多工作去了解你的系統(tǒng),設(shè)置策略,和實(shí)施應(yīng)急響應(yīng)的技術(shù),你的優(yōu)勢越明顯,那么控制和根除威脅就更能實(shí)現(xiàn)。
    [下面參考中的連接請察看原文檔。]
    References 
    [1] Acquiring/Installing software 
    &#8226;    OpenBSD ports system 
    &#8226;    FreeBSD ports system 
    &#8226;    Freeware for Solaris 
    &#8226;    HOWTO install packages on a Debian system 
    &#8226;    Installing packages on a RedHat system 
    &#8226;    GNU binutils (readelf) 
    &#8226;    lsof 
    &#8226;    top 
    &#8226;    sudo 
    [2] Kernel Modules Countermeasures 
    &#8226;    Dino Dai Zovi's paper on kernel rootkits 
    &#8226;    Sealing the linux kernel 
    &#8226;    gr-security linux kernel patch 
    &#8226;    LIDS linux kernel patch 
    [3] CD-ROM and Floppy distributions 
    &#8226;    Here is a link that explains how to make CD-ROMs on Linux: http://www.tldp.org/HOWTO/CD-Writing-HOWTO.html 
    &#8226;    F.I.R.E. (Forensic and Incident Response Environment) Bootable CD 
    &#8226;    Knoppix Linux 
    &#8226;    How to Make a Bootable, Full System OpenBSD CD-ROM 
    &#8226;    LNX-BBC mini-linux distribution 
    &#8226;    Google's Tiny Linux distributions list 
    [4] Incident Response Policy 
    &#8226;    Handbook for Computer Security Incident Response Teams 
    &#8226;    Expectations for Computer Security Incident Response 
    &#8226;    Recommended Internet Service Provider Security Services and Procedures 
    &#8226;    Recovering from an Incident (CERT) 
    &#8226;    Security Practices and Implementations (CERT) 
    &#8226;    
    [5] Forensics 
    &#8226;    Incident response and Forensics Resources 
    &#8226;    Forensics resources maintained by Dan Farmer 
    &#8226;    Computer Forensics Resource Center 
    &#8226;    
    [6] Order of Volatility 
    &#8226;    Computer Forensics Analysis Class: Introduction, Pg. 14 (Dan Farmer & Wietse Venema) 
    [7] Process accounting 
    &#8226;    Solaris 9 SysAdmin Guide: Resource Management and Network Services, Ch 7 
    &#8226;    Enabling Process Accounting on Linux HOWTO 
    &#8226;    OpenBSD sa(8) man page 
    [8] System Activity Data Collector (sadc) 
    &#8226;    sadc(8) Linux man page 
    &#8226;    Solaris 9 SysAdmin Guide: Monitoring System Performance (Tasks), Ch 24 
    [9] lsof alternatives 
    Don't have lsof? These techniques might help. 
    Solaris 9: 
    1.    use psto find the pid of the process you're interested in. 
    2.    run /usr/proc/bin/pfiles . 
    3.    Look for the string 'ino:' in the output. The number that follows is the 'inode number'. 
    4.    run find -inum <inode number> 
    OpenBSD 3.2: 
    1.    run fstat -v. 
    2.    Look in the INUM column to find the the inode numbers that a particular process has open. 
    3.    run find -inum <inode number> 
    Poking around in /proc (Deb 3.0, RH 8.0): 
    1.    ls -l /proc/<pid>/fd 
    進(jìn)一步研究
    下面的命令沒有在本系列中列出來,它們在分析系統(tǒng)的時候也非常有幫助:nm, size, ar, objdump, what(OBSD3.2), ltrace(Deb3.0, RH8.0), /usr/procebin/*(Sol9), w, who, 和 fuser. 
    大云網(wǎng)官方微信售電那點(diǎn)事兒

    責(zé)任編輯:大云網(wǎng)

    免責(zé)聲明:本文僅代表作者個人觀點(diǎn),與本站無關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實(shí)相關(guān)內(nèi)容。
    我要收藏
    個贊
    ?
    国产全肉乱妇杂乱视频| 欧亚日韩国产综合AV一二区| 国产精品久久久久亚洲av成人| av无码精品一区二区三区宅噜噜| 国产精品毛片VA一区二区三区| 91福利精品老师国产自产在线| 亚洲成A人V欧美综合天堂麻豆| 久久www免费人成人片| 国产∧v在线免播放观看免费| 伊人久久大香线蕉综合影院99|