2016-08-12 10:33:41
来源:安全客 作者:Mickeyyyyy
阅读:54次
点赞(0)
收藏
分享到:
文章结构
一、前情提要
二、继续我们的旅程
三、Shodan搜索引擎和SSH密钥指纹
四、运行结果
五、总结
六、参考链接
(一)、前情提要
在上集文章中,我们为OnionScan创建了一个自定义的封装器。在此,我们不得不感谢Sarah Jamie Lewis(@sarajamielewis)所作出的努力,感谢他为我们开发出了这样一款非常经典的工具。
如果你还没有读过《如何在暗网中收集公开情报资源(上集)》,那么请你赶紧阅读一下(点击这里阅读)。因为这篇文章中的很多内容都与上集内容有关,上集中的部分内容是本章的基础。
(二)、继续我们的旅程
我们在上集中给大家提供了一份扫描结果数据(点击这里获取)。现在,我们需要对这些扫描结果进行分析,并尝试从中搜集一些有价值的情报信息。下面这份列表中列出了我们在这篇文章中所要完成的任务:
1. 使用Shodan搜索引擎寻找出能够与暗网隐藏服务共享SSH密钥指纹的网络服务器。在这一部分,我们还会对这些SSH密钥进行深入分析,以识别这些能够通过普通网络连接访问到的服务器(即“明网”中的服务器)在与暗网隐藏服务交互时,是否使用的是同样的SSH密钥。
2. 映射出暗网隐藏服务,明网中的网站,以及各个IP地址之间的关系。
3. 根据网站的index页面来找出相似的网站集群,以便我们识别出一些伪造的网站或者是克隆出来的非法网站。在这一步骤中,我们还需要使用到一个名叫“scikit-learn”的机器学习库。
我们此前所创建出的Python脚本其代码量实际上并不算多,但是每个脚本之间仍然需要共享一些功能代码。所以大家应该习惯这样的编码方式,你应该将你的功能代码封装在一个函数或者模块中,以便在使用的时候直接导入。我们这样做的目的就是让你养成良好的编码习惯,并教会你一些基本的知识。当你在分析某些数据时,你就会发现这些知识的储备是非常重要的。而更加重要的是,你可以利用我们给你灌输的某些观点和想法来实现其他的目的。
在这篇文章中,我们会给大家介绍如何使用SSH公共密钥指纹来与暗网中的隐藏服务进行连接。除此之外,我们还会教大家如何利用Shodan搜索引擎来收集到更多有价值的情报数据。接下来,就让我们开始吧!
(三)、Shodan搜索引擎和SSH密钥指纹
在我看来,OnionScan最棒的一个功能就是它能够从启用了SSH协议的暗网隐藏服务中收集SSH密钥指纹。
那么在继续讲解之前,我们不得不提一下SSH协议了。SSH是Secure Shell的缩写,它是一种专门为远程登录会话和其他网络服务提供安全保障的协议。SSH协议可以有效地防止远程管理过程中的信息泄漏问题。在传统网络服务与用户的交互过程中,它们通常会在网络上以明文的形式传送口令和数据,而网络犯罪分子就可以截获这些数据。再加上这些网络服务所使用的安全验证机制中也存在严重的问题,所以它们往往很容易受到中间人(MITM)攻击。通过使用SSH,你可以对所有需要传输的数据进行加密处理。这样一来,“中间人攻击”这种手段就不可能实现了,而且也能够有效地防止DNS欺骗和IP欺骗。
为了有效地避免中间人攻击,管理员在通过SSH远程连接主机的时候,SSH会生成主机指纹并请求保存。服务器的管理员可以将SSH密钥指纹发送给客户端,来帮助客户端在首次登录时验证服务器的真实性。在首次连接成功之后,主机每次都会验证客户端发送的SSH密钥是否与服务器端保存的相匹配。
简而言之,SSH密钥指纹就是一串能够代表服务器公共密钥的字符序列。你可以用它来识别服务器和设备身份的真实性。Shodan的John Matherly还专门针对这一话题写过一篇文章,感兴趣的读者可以点击这里来阅读。
那么在得到了这些SSH密钥之后,我们具体能用它们来做什么呢?很简单,我们从暗网中搜索到了这些SSH密钥指纹之后,可以在Shodan搜索引擎中搜索这些密钥指纹,看看在明网中是否有相匹配的SSH密钥指纹存在。虽然我们并不能百分之百确定某一台服务器是否同时托管“暗网网站”和“明网网站”,但这对于网站的管理员来说,绝对是一个非常合适的调查切入点。
可能有些刚刚涉及安全行业的读者并不了解Shodan搜索引擎。Shodan是一款功能十分强大的搜索引擎,它能够搜索到很多普通搜索引擎没有收录的数据内容。Shodan所能搜集到的信息是极其惊人的,凡是链接到互联网的红绿灯、安全摄像头、家庭自动化设备以及加热系统等等都会被轻易的搜索到。Shodan真正值得注意的能力就是它能找到几乎所有和互联网相关联的东西,而Shodan真正的可怕之处就是这些设备几乎都没有安装安全防御措施,我们可以随意进入这些系统。所以Shodan也被人们认为是互联网中最可怕的搜索引擎。
我们真的很幸运,因为Shodan提供了Python接口,所以我们可以利用Shodan的API来进行一些普通的数据交互。
首先,我们需要利用pip来安装Shodan:
windows:pipinstallshodan
Mac/linux:sudopipinstallshodan
安装之后,你还需要去Shodan网站上注册一个账号,注册成功之后你就可以得到你的API密钥了。我为我的账号充值了45美金,这样可以得到一些积分,顺便支持以下这个优秀的网站。
现在,我们需要开始编码工作了。由于文章篇幅有限,所以我在这里就不对这个python脚本的代码进行详细的讲解了,感兴趣的读者可以阅读原文来了解该脚本中每一行代码的具体作用。你可以点击这里下载“sshkeys.py”脚本。
虽然这个脚本的代码非常少,但是它的功能却非常强大。它不仅可以帮助我们收集到更多的情报资源,而且它还可以映射出很多公开网站与暗网隐藏服务之间的关系。更重要的是,它能够帮助我们搜索和比对SSH密钥指纹。接下来,我们来看一看运行结果吧。
(四)、运行结果
现在,你只需要运行这个脚本,你就会得到如下图所示的输出结果:
(五)、总结
这是一个非常酷的工具,现在你可以用它来探测一些你所发现的暗网服务器IP地址,而且它还可以搜索出暗网隐藏服务的链接地址。当然了,你还可以使用Hunchly来帮助你进行一些手动搜索,搜索的内容完全取决于你自己。
除此之外,我们还可以做很多有趣的事情。在得到了这些数据之后,我们就可以开始对它们进行分析了。我们可以找出这些暗网数据之间的关系,并分析出某些暗网隐藏服务的运作模式。这一切只是一个开始,我希望我们的努力能够帮助你从一个全新的角度来考量这些数据。无论是从隐私保护的角度出发,还是从取证调查的角度来看,这些知识都是你将来可能会用到的。
如果你对我们的文章或者其中的观点有任何的意见和建议,或者你希望我们能够继续发布这一系列的教程,请通过下方列出的电子邮箱与我们联系:
justin@automatingosint.com
(六)、参考链接
1. 《如何在暗网中收集公开情报资源(上集)》:
http://bobao.360.cn/learning/detail/2952.html
2.OnionScan的搜索结果数据:
https://github.com/automatingosint/osint_public/raw/master/onionrunner/onionscan_results.tar.gz
3.scikit-learn机器学习库:
http://scikit-learn.org/stable/
4. Shodan的Python操作指南:
https://shodan.readthedocs.io/en/latest/
5. Shodan官方网站:
https://www.shodan.io/
6. sshkeys.py脚本下载:
https://github.com/automatingosint/osint_public/blob/master/onionrunner/analysis/sshkeys.py
7. Hunchly官方网站:
https://www.hunch.ly/
本文由 安全客 翻译,转载请注明“转自安全客”,并附上链接。
原文链接:http://www.automatingosint.com/blog/2016/08/dark-web-osint-with-python-part-two-ssh-keys-and-shodan/