有一个十分常见的渗透测试场景: 那就是我们需要获取某人的IP地址。 比如系统管理员所在的白名单IP。
比较繁琐的实现方法,可以通过入侵对方常访问的网站,然后下载web server日志和数据库log表分析。
这里介绍一种非常简单的方法:通过Email发送图片获取对方IP。具体的做法是:
在Email正文中嵌入特定的网络图片(该图片放在自己的http服务器上)发送给特定用户,对方浏览该图片后,
apache记录日志,我们通过查看日志,就可以获取对方的IP地址,甚至包括Referer、User-Agent标识。
作为示例,我注册了一个新的sina邮箱:[email protected],发件人姓名填写为张蓉。
在网上随便搜了个[email protected]百度员工的邮箱,关键词 intext:”@baidu.com”。
这里之所以用女性的名字,是为了降低对方的防范心理。
随后,在网上找了一张漂亮女生的合照,给对方发Email。这封测试邮件,我同时也发给了阿里巴巴的一个哥们儿。邮件内容是:
标题: 上次聚餐可慧的照片
正文: 这是上次聚餐时给可慧和阿姨拍的照片,今天才传给你。原图我也没有了。 一切顺利哈 🙂{{插入图片 http://23.228.xxx.xxx/c4ca4238a0b923820dcc509a6f75849b.jpg?cache=4}}
23.228.xxx.xxx是我自己的服务器IP。
图片命名我直接用md5(1),是为了让对方产生第一感,仿佛这是社交网站自动生成的文件名。当然,对方直接看到的是一张图,而不是地址。
参数cache=4,则完全是为了区分不同的收件人,也可以很方便地在日志搜索记录。当然,还可以改成其他参数伪装成时间戳。
邮件发出去大约二十分钟,百度和阿里巴巴的哥们儿就都中招了。
cache=c,IP为222.129.43.x的是百度的这位哥们儿,而后一个IP 42.120.74.x则来自阿里巴巴。
可以看到百度的同学使用了iPhone手机客户端,对应的IP地址,可能会是百度VPN的出口IP。
而阿里的同学则是64位系统, Chrome浏览器。
这里主要利用了邮件客户端会自动请求Email正文中嵌入的网络图片,而不会提示用户。
社会工程学啊
社工省时省力,用得好还是很强大的。
好猥琐啊
学习
涨姿势~
不错,GA办案有时也会用这种方法,但是这种情况下如果对方是outlook客户端浏览的话,可能因为公司邮箱安全策略不会自动下载来自外部邮箱发来的图片;还有如果是发给IT/安全管理员的话有可能会被反查到自己的服务器IP,这种情况下伪装成大公司HR发来的offer信息会更好一些;仅供参考~
现在都没有公网IP用了