长亭百川云 - 文章详情

溯源反制的半节课

农夫安全团队

74

2024-07-13

写在最前:

听说HW要开始了,所以提前放出溯源反制的前半截课的内容,主要为理论部分,是后半截的报告案例由于个人隐私的原因无法公开。

希望今年攻防两端,能够热热闹闹、快快乐乐~

另外,我们今年有25个溯源岗的人员,背景大致拥有四次的红队项目经验,至少都没拿倒数第一, 同时还拥有更多的资源,例如:

a. 200M的企业专线及配套的云主机用于服务探测

b. 远程的技术支持

有项目需要人员的,可联系VX:18836286668

一、溯源反制的起点

在尝试进行溯源反制的时候,我们需要明确一点:此时的蓝队是被动的。

红队可以在远端自由的进行各种的伪装,这些手法包括使用云主机、代理服务器、代理池等方式,避开自身的真实IP地址泄露。

正是由于信息的不对称,而蓝队只能从红队的疏漏中找出线索,从而推断出红队的真实信息。

很显然,这注定是一个失败率极高,但成功后又很快乐的场景。

而这些线索的起点来自于红队的动作:钓鱼邮件、使用的后门、封禁的恶意IP......

二、溯源反制的终点

溯源的终点,使我们找到了红队成员的真实身份,这其中包括:

姓名
公司
手机号
毕业院校
家庭住址

社交信息:微信、支付宝、GitHub等

所属攻击队

值得注意的是,红队往往会采用伪装身份的方式,为此需要采用“孤证不立”的思想去判断所溯源到的信息是否为真实。

三、从起点到终点

无论是红队的扫描器、还是后门连接或反连接,以及钓鱼所使用的邮件服务器,我们总是可以提取出IP地址。

对于这些IP地址,我们需要完成更多的动作去采集到更多的情报,以便我们能够从起点到终点。

而大致的流程可以划分为:

IP地址-->分析-->确认虚拟身份-->确认真实身份-->校验逻辑

所有主打带有溯源功能的蜜罐,利用jsonp的漏洞确认虚拟身份,从而完成溯源的过程。

很明显,红队也不傻啊,为了更好的溯源成功率,"分析"阶段是最重要的。

第一步:我们需要采集待溯源的IP地址,此步骤需要注意的是,需要采集最为淳朴的恶意IP,而非按照网段所封禁的IP。为了提高后续的效率,我们可以使用如下的命令清洗数据:

cat ip.txt |sort |uniq >>clean-ip

第二步:在这些IP地址中,细致的分类下来,可以拥有着不同的性质:

代理服务器地址/代理池地址 -->红队用于扫描任务时,躲避封禁。
僵尸网络    -->与红队无关,但在互联网上散发通用类漏洞攻击流量。
红队成员的移动网络     -->被封禁的太狠,用手机热点上网。
红队的基础设施服务 -->扫描器,端口扫描,CS类server,下载服务器等。
红队的办公网络       -->被封禁的太狠,使用办公网络上网。

上述的IP地址中,只有与红队相关的IP具备溯源价值,而且也只有"红队的办公网络"IP地址需要扩展搜集。

为了分辨这些成千上万的IP地址,我们可以使用如下的命令<使用网络调取API的方式效率很慢,而且会被封禁>:

sh ip.sh |xargs -n3    ###下图中的数据仅为演示,非真实数据。

而当我们收集好这些IP地址的分类后,我们可以清洗掉大量的无溯源价值的IP,如海外IP,移动网络的IP,而留下的IP地址可能为国内云主机、国外云主机、国内的公网IP(非家用宽带),例如可以使用下面的命令:

cat ip-local |grep 云|grep -v 云南

将这些具备价值的IP地址重新梳理,如可能为办公网的IP地址进行合理的扩展,如ipcalc x.x.x.x/28,重新制作IP清单。

第三步:侦查主机的端口与服务。在此步骤中,需要注意的是,红队的设施所采用的服务方案与常规公司的逻辑完全不同。红队会使用cs server、AWVS,也可能搭建钓鱼邮件服务器,同样也可能任何服务都没有,仅仅运行nmap。但这些端口与服务往往并非传统的80、3306等端口,而是50050这种非主流的端口。

为此需要在端口探测阶段,使用全端口探测,例如可以使用下面的命令:

masscan -p 1-65535 -iL ip.txt --rate=2000

第四步:IP地址的其他信息:如IP所在地范围、DNS反解、CN子域名的whois信息、云相关情报。

###DNS反解析
https://x.threatbook.com/
https://ti.360.net/#/homepage

###IP 定位工具
https://www.cz88.net/iplab
https://www.ipip.net/ip.html/
https://tool.lu/ip/

###由于GDPR的实施,仅cn域名可用此方案
whois  xxx.cn    

###一些云厂商,提供通过域名或IP地址的方式找回用户
名的机制,可以据此得到打码后的手机号信息。

第五步:聚合信息

搜集好相关的信息以后,我们可以尝试寻找线索,这其中可以用到的思路大概如下:

web类的页面,尝试使用默认口令,如awvs、nessus等,万一有人使用docker pull了呢

服务类的内容,尝试进行口令破解,如cs server、ssh等,万一有人喜欢123456呢

能够下载的文件中,文件名、密码有无个人痕迹,万一有人喜欢用自己的ID呢

疑似办公的网络中,扩展的IP中,有无这家安全公司网站或此区域只此一家安全公司

域名注册的邮件地址与真实姓名,有无溯源的可能性

在从这些信息,到最终推论到真实身份的过程中,不妨“大胆假设,小心求证”的方式处理。

亦或者,采用"栽赃陷害"的方式,欺骗裁判,反正他们就没有不挨骂的时候:)

但请注意,红队也可能采用此种方式诱导蓝队,例如将自己的服务器建立一个nginx反向代理,将80的流量转移至一个喜欢show自己的安全博客,而且那个博客还用了cn的域名......

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2