经纬度在线查询(溯源文章)

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

0x1:梅开一度

在甲方会有流量分析的可视化平台,我们可以写个脚本把恶意IP进行搜集(也可以手动记录),首先我们把搜集到的IP对接一下在线威胁情报社区:

1.查看是否是恶意IP,此IP对其他网站做了哪些攻击,如果是恶意IP,上报给研判组此IP。

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

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

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

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

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

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

0x2:梅开二度

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

攻击者姓名:

攻击者电话:

攻击者邮箱、社交软件:

攻击者所在公司:

攻击者博客:

攻击者社交圈子:

攻击者画像:

在这一步中溯源者要利用社会工程学尽可能多的搜集攻击者的信息,在做溯源的过程中我们会发现信息之间可以进行反查,其实刻画攻击者画像的任务并不是很难,但是我们要确保搜集到的信息准确。一般攻击者在公网上会有自己的博客,我们可以在公网上仔细搜寻,如果能找到博客,就意味着成功了一大半,除此之外如果能拿到攻击者联系方式,可以尝试加微信、QQ等社交软件的好友,进一步的信息搜集。

如果此IP开放了Web服务,可以尝试进行攻击,(注意这里一般都是傀儡机),如果能拿到网站的权限,我们可以尝试进行提权(因为此时是第一跳),如果提权成功,就可以查看登录日志等一些敏感信息,关注此傀儡机是否有反弹shell等信息。此方法主要是进行反制,故此篇文章不作过度描述。

0x3:梅开三度

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

import exifread
import re
def 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.htm
if __name__ == '__main__':
    print(FindGPSimage("1.jpg"))

0x4:小结

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

声明:好星座所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者星云博创所有,原文出处。若您的权利被侵害,请联系 删除。

本文链接:https://www.haoxingzuo.com/w/43846.html