freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

溯源文章—外网篇
2021-10-13 13:57:08

0x0:前言

溯源取证在蓝队中很重要。Web层面溯源的目的就是溯源到人,在这篇文章中也会讲到,那让我们一起来研究一下吧。

0x1:梅开一度

在甲方会有流量分析的可视化平台,我们可以写个脚本把恶意IP进行搜集(也可以手动记录),首先我们把搜集到的IP对接一下在线威胁情报社区:
v2-307a3c4cf93c5c87b67a176dbcff2354_1440w.png1.查看是否是恶意IP,此IP对其他网站做了哪些攻击,如果是恶意IP,上报给研判组此IP。

2.查看IP是否开启web服务,尝试拿到网站权限。(要注意一定要询问是否授权,一般是溯源第一跳有授权,如果溯源第二跳需要往上报告)

3.利用IP反查域名,如果有域名利用WHOIS查询,是否能查到攻击者的一些信息。

4.直接利用IPWHOIS进行反查,直接利用此IP进行定位,查出经纬度然后地图定位。这里要注意一点,经纬度有两种格式,必要时可以进行转换。

这里推荐使用两个在线网站:

经纬度格式转换工具软件-经纬度转换成为度分秒公式-经纬度换算度分秒单位-经纬度转化成度 (minigps.net)

【经纬度查询】在线地图经度纬度查询|经纬度地名坐标转换 (jiqrxx.com)

v2-9c88305a36bd3ff06c68fe2ba3a9f73b_1440w.png

0x2:梅开二度

溯源者需要刻画攻击者信息,大致搜集如下:

攻击者姓名:

攻击者电话:

攻击者邮箱、社交软件:

攻击者所在公司:

攻击者博客:

攻击者社交圈子:

攻击者画像:

在这一步中溯源者要利用社会工程学尽可能多的搜集攻击者的信息,在做溯源的过程中我们会发现信息之间可以进行反查,其实刻画攻击者画像的任务并不是很难,但是我们要确保搜集到的信息准确。一般攻击者在公网上会有自己的博客,我们可以在公网上仔细搜寻,如果能找到博客,就意味着成功了一大半,除此之外如果能拿到攻击者联系方式,可以尝试加微信、QQ等社交软件的好友,进一步的信息搜集。
v2-7425d2320931aa06f503ff578883471f_1440w.png如果此IP开放了Web服务,可以尝试进行攻击,(注意这里一般都是傀儡机),如果能拿到网站的权限,我们可以尝试进行提权(因为此时是第一跳),如果提权成功,就可以查看登录日志等一些敏感信息,关注此傀儡机是否有反弹shell等信息。此方法主要是进行反制,故此篇文章不作过度描述。

0x3:梅开三度

如果能从社交网络拿到攻击者本人的画像,那么我们就可以提取图片中的元数据进行分析,下面附上exp:

import exifreadimport redef FindGPSimage(filepath):GPS = {}Date = ''f = open(filepath, 'rb')tags = exifread.process_file(f)for tag,value in tags.items():if re.match('GPS GPSLatitudeRef', tag):GPS['GPSLatitudeRef'] = str(value)elif re.match('GPS GPSLongitudeRef', tag):GPS['GPSLongitudeRef'] = str(value)elif re.match('GPS GPSAltitudeRef', tag):GPS['GPSAltitudeRef'] = int(str(value))elif re.match('GPS GPSLatitude', tag):try:match_result = re.match('\[(\w*), (\w*), (\w.*)/(\w.*)\]', str(value)).groups()GPS['GPSLatitude'] = int(match_result[0]), int(match_result[1]), int(match_result[2])/int(match_result[3])except:GPS['GPSLatitude'] = str(value)elif re.match('GPS GPSLongitude', tag):try:match_result = re.match('\[(\w*), (\w*), (\w.*)/(\w.*)\]', str(value)).groups()GPS['GPSLongitude'] = int(match_result[0]), int(match_result[1]), int(match_result[2])/int(match_result[3])except:GPS['GPSLongitude'] = str(value)elif re.match('GPS GPSAltitude', tag):GPS['GPSAltitude'] = str(value)elif re.match('.*Date.*', tag):Date = str(value)return {'GPS信息':GPS, '时间信息':Date}#http://www.gpsspg.com/maps.htmif __name__ == '__main__':print(FindGPSimage("1.jpg"))

v2-8bda9f935c871d632010aad7a85d83d1_1440w.pngv2-d18e9f41af2430231d402136ad6b7eb2_1440w.png

0x4:小结

在项目中,还可能碰到病毒分析、沙盒、应急响应、溯源工具链等一系列的手段,一名高级蓝队人员也是要掌握很多知识的。

# web安全 # 溯源分析
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录