<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    主機被入侵分析過程報告

    VSole2021-12-10 07:43:37

    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

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

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

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

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

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

    結合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日志

    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文件內容如下

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

    udev.sh文件內容如下

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

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

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

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

    221.235.189.229

    62.210.180.180

    103.41.124.48

    118.193.199.132

    175.126.82.235

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

    104.149.220.27

    通過成功驗證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. 排查其他主機是否存在惡意文件,可注意以下幾點:
    3. /etc/init.d/目錄下是否存在10位隨機字母文件名的文件
    4. /etc/rc%d.d/S90+10位隨機字母文件名的文件(%d為0-5數字)
    5. 是否存在/etc/cron.hourly/udev.sh
    6. 是否存在/etc/ cron.hourly/cron.sh
    7. /etc/crontab中是否存在可疑計劃任務
    8. /usr/bin目錄下是否存在10位隨機字母文件名的文件
    9. 修復主機bash漏洞
    10. 增加主機密碼復雜度(包括重要端口不對外主機)
    11. 針對異常情況主機,安全人員排查前盡量不要有操作,如果需要對文件有操作,一定要先保存stat信息結果,備份文件內容,修改密碼/新建賬戶/刪除賬戶前一定要先stat /etc/passwdstat /etc/shadow并保存執行結果

    0x04 題外話


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

    web入侵

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

    1. 記錄后門文件stat信息,判斷入侵發生時間,另外需要與accesslog做對比,判斷是否為第一個后門。
    2. 查找入侵者放置的其他后門可通過已知后門文件的mtime、文件內容等可作為特征查找,也可以與svn、此前備份文件做比對或者打包web目錄文件使用一些webshell查殺軟件。
    3. 查找一天內修改過的文件命令
    #!bashfind /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:rkhunter.sourceforge.net/
    4. 非web類后門,大部分人習慣把惡意文件放置在/tmp目錄下,此外可通過可疑進程名與cpu占用率排查,有些后門會偽裝正常進程名,但是top命令可通過cpu占用率找出后門進程,獲取進程pid后可cd到/proc/對應pid目錄,ls –al查看exe對應值可得知文件路徑,另外可查看計劃任務,后門程序為保證自啟動往往會添加新的計劃任務
    sshstat
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    Redis未授權漏洞
    2021-11-19 22:05:17
    Redis 默認情況下,會綁定在 本地6379端口,如果沒有進行相關策略,會將 Redis 服務暴露到公網上,在沒有設置密碼認證的情況下,任意用戶在可以訪問目標服務器的情況下未授權訪問Redis 以及讀取 Redis 的數據。靶機是Jacky馬的服務器,快到期了就沒脫敏。
    此時,如果你使用的是Linux系統,可以使用mingw-w64-gcc編譯器:CC=x86_64-w64-mingw32-gcc GOOS=windows RSSH_HOMESERVER=192.168.1.1:2343 make client_dll. 當RSSH服務器啟用了Webserver之后,我們也可以使用下列命令進行編譯:./server --webserver :3232. 這種情況適用于無文件注入的場景。WebhookRSSH服務器可以通過命令行終端接口并使用webhook命令發送原始HTTP請求。
    STATEMENT聲明由于傳播、利用此文所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負責,雷神眾測及文章作者不為此承擔任何責任。雷神眾測擁有對此文章的修改和解釋權。
    Five86-1靶機滲透記錄
    2022-03-02 16:26:04
    STATEMENT聲明由于傳播、利用此文所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負責,雷神眾測及文章作者不為此承擔任何責任。雷神眾測擁有對此文章的修改和解釋權。如欲轉載或傳播此文章,必須保證此文章的完整性,包括版權聲明等全部內容。未經雷神眾測允許,不得任意修改或者增減此文章內容,不得以任何方式將其用于商業目的。
    情景一 默認SSH密碼批量反彈shell 情景二 dump源碼 情景三 利用shell批量getflag 情景四 批量利用一句話木馬種植不死馬 最近工作很忙 今天抽空準備下AWD比賽得攻防工具和腳本 以下只是常用 希望下周不被吊錘~~ 后續整理后想抽空寫成一個攻擊框架匯總放github~~ 這里從各種情景和需求中去總結工具和腳本的使用
    Linux系統安全設置
    2021-12-02 06:19:27
    2)更改ssh服務端遠程登錄相關配置。修改默認文件路徑。UseDNS #指定sshd是否應該對遠程主機名進行反向解析,以檢查主機名是否與其IP地址真實對應。默認yes.建議改成no ,否則可能會導致SSH連接很慢。
    靶機Agile補充圖片
    2023-03-22 10:04:15
    Nmap done: 1 IP address scanned in 171.68 seconds. 添加host└─# echo "10.10.11.203 superpass.htb" >> /etc/hosts. 注冊個賬號就讀取了。我們可以在 python 中創建一個腳本,自動實現這個過程,只需要輸入的文件路徑└─# cat lfi.py. data = {"username": "123", "password": "123", "submit": ""}
    DerpnStink靶場
    2023-01-12 11:40:41
    DerpnStink信息收集使用nmap進行深度掃描,發現開放了21和22端口,以及80端口,80端口為wordpress應用,存在wordpress登陸apiNmap scan report for 10.0.3.4
    系統運行配置狀態檢查display interface #接口流量、鏈路狀態dis current-configuration inter #地址分配dis current-configuration |include ospf #路由擴散display ip routing-table #路由信息display ip interface #顯示 vlan 端口統計數據display saved-configuration #保存配置文件display logbuffer #日志信息display port trunk #查看參與 trunk 的端口03?vrrp 和端口聚合檢查display vrrp #查看虛擬路由冗余協議display vrrp statistics #查看主備用狀態display link-aggregation summary #查看鏈路聚合組的情況
    Mscan是一款基于go語言開發的內網資產探測工具,致力于幫企業梳理內部資產情況。sudo CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -a -ldflags '-s -w --extldflags "-static -fpic"' -o mscan_darwin_arm64. sudo CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -ldflags '-s -w --extldflags "-static -fpic"' -o mscan_linux_amd64
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类