<span id="7ztzv"></span>
<sub id="7ztzv"></sub>

<span id="7ztzv"></span><form id="7ztzv"></form>

<span id="7ztzv"></span>

        <address id="7ztzv"></address>

            原文地址:http://drops.wooyun.org/tips/13647

            0x00 結論


            14號上午接到同事報告,某主機cpu占用至100%并出現可疑進程,安全部接手調查后結論如下:

            1. 主機未限制端口訪問,ssh端口暴露外網
            2. 外部大量ip(100+)對主機進行暴力破解,且從13號21:12分開始陸續有6外網ip成功驗證ssh
            3. 驗證成功后自動化程序部署后門,并加入至計劃任務,第一個成功執行的惡意計劃任務時間為22:21:01,發現多處后門,但比對后發現實際可執行文件有兩個(通過部分行為及連接ip判斷兩個文件為同一伙人所留),其余只是文件名不同
            4. 14號上午由于惡意進程導致機器cpu占用100%,后門被發現

            0x01 過程


            分析過程如下:

            登入主機后,找到可疑進程PID

            p1

            進入proc/進程目錄找到對應文件絕對路徑在/usr/bin目錄下,stat信息如下:

            #!bash
            [[email protected] 13146]# stat /usr/bin/faksiubbri
              file: `/usr/bin/faksiubbri'
              Size: 610224          Blocks: 1200       IO Block: 4096   regular file
            Device: 802h/2050d      Inode: 312739      Links: 1
            Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
            Access: 2015-01-14 10:33:13.000000000 +0800
            Modify: 2015-01-14 10:29:06.000000000 +0800
            Change: 2015-01-14 10:29:06.000000000 +0800
            
            [[email protected] 13862]# stat /usr/bin/ohzxttdhqk
            file: `/usr/bin/ohzxttdhqk
            Size: 625622          Blocks: 1232       IO Block: 4096   regular file
            Device: 802h/2050d      Inode: 312741      Links: 1
            Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
            Access: 2015-01-14 10:32:59.000000000 +0800
            Modify: 2015-01-14 10:29:26.000000000 +0800
            Change: 2015-01-14 10:29:26.000000000 +0800
            

            初步判斷入侵時間在14號上午10:29分附近并且已有root權限

            通過strings查看文件內容發現遠程ip及其他信息

            p2

            搜索ip發現為香港主機,并且在微博上發現如下信息

            p3

            結合strings其他信息,確定該文件為惡意程序,目前首先要判斷攻擊者通過什么途徑入侵進來,此處繞了一些彎路,原因如下幾點:

            1. 服務器運行了web、ftp服務,但非root權限
            2. last并未發現異常登錄信息、history未發現可疑操作、且默認ssh端口禁止對外開放,故忽視了ssh入侵的判斷
            3. 服務器存在bash漏洞,導致懷疑是bash漏洞+提權、但未發現可疑的accesslog
            4. 此前stat文件判斷時間有誤,事后發現管理員之前有kill程序進程操作,進程結束后會刪除自身并生成新的文件,所以stat到的時間信息其實是管理員kill進程的時間

            后來有同事在網上查到該ddos后門通過ssh暴力破解方式傳播,才重新把目光放到ssh。與相關人員確認得知,服務器由于特殊原因對外開放了22端口,并且機器為弱口令,結合此信息,推測服務器為暴力破解ssh入侵,故排查secure日志

            p4

            6臺外網主機有ssh驗證成功記錄,時間在13號21:12至23:59分之間,其中ip118.193.199.132與ip104.149.220.27在secure日志中無密碼錯誤記錄,推測為使用其它主機暴力破解,成功后返回密碼使用其余主機登錄

            查看cron日志發現每3分鐘會執行兩個惡意腳本

            /etc/cron.hourly/cron.sh
            /etc/cron.hourly/udev.sh
            

            cron.sh文件內容如下

            p5

            其中/lib/libgcc.so通過文件大小及strings部分內容基本確定與/usr/bin下的惡意程序ohzxttdhqk相同

            udev.sh文件內容如下

            p6

            其中/lib/libgcc4.so通過文件大小及strings部分內容基本確定與/usr/bin下的惡意程序faksiubbri相同

            分別查看第一次執行計劃任務時間如下

            p7

            p8

            時間上與暴力破解成功時間吻合,基本可判斷后門程序通過ssh途徑被植入

            查看secure日志,取之前發現ip成功驗證ssh至斷開連接時間差,結果如下

            221.235.189.229

            p9

            62.210.180.180

            p10

            103.41.124.48

            p11

            118.193.199.132

            p12

            175.126.82.235
            Jan 13 23:22:23成功認證后無斷開信息

            104.149.220.27

            p13

            通過成功驗證ssh至斷開連接時間差可看到221.235.189.229、62.210.180.180、103.41.124.48時間差為0,推測暴力破解成功后無其他舉動,那么結合計劃任務運行時間與時間差信息可判斷種植后門的兩個ip應該為118.193.199.132與175.126.82.235

            但118.193.199.132時間差也僅有5秒鐘時間,人工很難完成種植后門的操作,由此判斷是自動化程序完成

            0x02 疑點


            目前疑點主要為不清楚后門通過什么方式被部署進來?

            驗證發現通過scp遠程拷貝文件至主機與ssh登錄后退出都會產生Received disconnect的日志,如果通過ssh自動化部署,last為何會看不到記錄?是否單獨清除了相關記錄?如果是scp遠程拷貝,是通過什么方式執行程序的?目前暫不知曉通過何種方式可以僅將文件放入機器后可以讓程序自動執行,是否還有其他部署方式?

            0x03 改進建議


            1. 排查其他主機是否有重要端口對外
            2. 排查其他主機是否存在惡意文件,可注意以下幾點:

              1. /etc/init.d/目錄下是否存在10位隨機字母文件名的文件
              2. /etc/rc%d.d/S90+10位隨機字母文件名的文件(%d為0-5數字)
              3. 是否存在/etc/cron.hourly/udev.sh
              4. 是否存在/etc/ cron.hourly/cron.sh
              5. /etc/crontab中是否存在可疑計劃任務
              6. /usr/bin目錄下是否存在10位隨機字母文件名的文件
            3. 修復主機bash漏洞

            4. 增加主機密碼復雜度(包括重要端口不對外主機)

            5. 針對異常情況主機,安全人員排查前盡量不要有操作,如果需要對文件有操作,一定要先保存stat信息結果,備份文件內容,修改密碼/新建賬戶/刪除賬戶前一定要先stat /etc/passwdstat /etc/shadow并保存執行結果

            0x04 題外話


            以上內容為之前對公司層面寫的一份應急響應報告,大家可以參考下流程,有一點需要改正的是判斷入侵途徑這里因為主觀判斷認為不會是ssh入侵導致浪費了不少時間,在分析過程陷入瓶頸的時候,應該以多看日志為主,而非大腦空想,最后補充幾個linux下應急響應中常用到的一些思路和命令,希望對大家有所幫助

            web入侵

            web類入侵事件可結合以下幾點排查:

            1. 記錄后門文件stat信息,判斷入侵發生時間,另外需要與accesslog做對比,判斷是否為第一個后門。
            2. 查找入侵者放置的其他后門可通過已知后門文件的mtime、文件內容等可作為特征查找,也可以與svn、此前備份文件做比對或者打包web目錄文件使用一些webshell查殺軟件。
            3. 查找一天內修改過的文件命令

              #!bash
              find /home/work –mtime -1 –type f
              
            4. 查找系統中包含指定字符的所有文件(可以拿已知shell密碼及特定字符作為關鍵字)

              #!bash
              find /|xargs grep -ri "Bot1234" -l 2>/dev/null(執行后會改變所有文件的atime,請做完5中提到的點之后操作)
              
            5. 查看較大的日志文件時,可先通過fgrep指定字符篩選,比如已知shell文件為conf.php,可通過命令fgrep –a ‘conf.php’ accesslog > conf_access來篩選conf.php的訪問記錄,如果為一些高危漏洞,也可根據漏洞利用的關鍵字來篩選,通過第一步篩選結果后可找出入侵者ip等信息,可繼續通過這些信息在accesslog中找到攻擊者的所有訪問記錄以便進一步排查

            6. 判斷影響時,當webshell操作為post且無流量鏡像時,判斷一些敏感文件如源碼打包文件、包含密碼信息文件是否被讀取可通過文件atime信息來判斷,此外對webshell的請求條數以及返回的字節數都可以作為定損的大概依據

            非web方式入侵

            主要通過其他高危服務,目前遇到的案例中大多屬于ssh對外且弱口令的情況,主要結合syslog判斷

            此外,可結合以下幾點排查:

            1. 判斷服務器是否支持訪問外網,如支持,通過netstat –an查看是否已與外部可疑服務器建立連接,如已建立需及時斷開
            2. 記錄后門文件stat信息,根據mtime查找其他后門文件,同時根據文件屬組與屬組對應運行服務判斷入侵方式
            3. 如果權限組為root,需要檢測是否被種rootkit,rootkit檢測可使用rkhunter:http://rkhunter.sourceforge.net/
            4. 非web類后門,大部分人習慣把惡意文件放置在/tmp目錄下,此外可通過可疑進程名與cpu占用率排查,有些后門會偽裝正常進程名,但是top命令可通過cpu占用率找出后門進程,獲取進程pid后可cd到/proc/對應pid目錄,ls –al查看exe對應值可得知文件路徑,另外可查看計劃任務,后門程序為保證自啟動往往會添加新的計劃任務

            <span id="7ztzv"></span>
            <sub id="7ztzv"></sub>

            <span id="7ztzv"></span><form id="7ztzv"></form>

            <span id="7ztzv"></span>

                  <address id="7ztzv"></address>

                      亚洲欧美在线