【信息安全】

寻找隐藏在CloudFlare和Tor后的真实IP

在渗透测试时,我们经常会遇到目标处于CloudFlare或其他cdn服务之后,使我们无法发现原始服务器IP,难以使用某些渗透手段。但是,这类网站一旦出现设置不当,就有可能暴露真实IP。而一旦我们获得了真实IP,自然就可以对这些网站进行暴力破解,DDoS攻击等等。注意,隐藏Tor后的网站也有这种风险。以下将介绍几种发掘网站真实IP的方法,希望大家能针对性地使用。 1.SSL证书 1.1 使用给定的域名 假设你有一个网站,域名为xyz123boot.com,服务器真实IP是136.23.63.44。CloudFlare为网站提供DDoS保护,Web防火墙和其他一些安全服务。你的Web服务器支持SSL并有证书,因此CloudFlare与你的服务器之间的通信就像你的网站用户和CloudFlare之间的通信一样加密(即SSL不够灵活)。乍一看,好像没什么问题。 但是,此时,真实IP的443端口(https://136.23.63.44:443)的证书会直接暴露在互联网上。若对全球IP的443端口进行扫描,就能在某个IP的443端口上获取涉及 xyz123boot.com 的有效证书,而这个IP就可以说是服务器的真实IP。 很多网络搜索引擎可以收录证书信息。你唯一需要做的就是将网站域名的关键词进行搜索。 例如,对于Censys网络搜索引擎,xyz123boot.com的证书的搜索语句如下: parsed.names: xyz123boot.com 只显示有效的证书: tags.raw: trusted 在Censys上对这些搜索条件进行布尔组合即可。最后搜索语句: parsed.names: xyz123boot.com and tags.raw: trusted Censys将显示符合上述标准的所有证书,这些证书是他们在全球扫描中找到的。 逐个单击搜索结果,你可以在详情页面右侧的“浏览”中发现多个工具,然后我们点击What's using this certificate? > IPv4 Hosts。 这时你可以看到使用这个证书的所有IPv4主机列表。其中某个就可能是真实IP。 最后,你可以直接导航到某个IP的443端口进行验证,看它是否重定向到xyz123boot.com?或者是否会直接显示网站? 1.2 通过给定的证书 你是联邦调查局,想关闭一个在暗网中的cheesecp5vaogohv.onion域名的色情网站。那么你就必须要原始IP,这样才能找到主机,找到运营商,最后找到服务器所有者。 此时,利用网络搜索引擎,我们可以查找使用相同SSL证书的IPv4主机,只需将其SHA1指纹(没有冒号)粘贴到Censys IPv4主机搜索中即可。不是所有服务器的SSL都配置严谨。 2.DNS记录 也许你的网站在使用CloudFlare之前曾短暂将真实IP暴露于公网。此时,如果Censys的DNS记录有你的网站的A记录,就会暴露你的网站的真实IP。 有一个专门用于查询域名记录的网站SecurityTrails。只需在搜索字段中输入网站域名,然后按Enter键即可。你就能在“历史数据”中找到惊喜。 除了以前的A记录,即使是当前的DNS记录也可能泄漏真实IP。例如,MX记录,即邮件交换记录。如果邮件服务器和目标网站在同一个服务器上,则真实IP可能存在于MX记录中。 3.HTTP头 通过网络搜索引擎,你甚至可以通过比较HTTP头来查找原始IP。 特别是当目标网站有一个非常独特的服务器请求头以及网站所使用的各种软件及其版本时,都能大大减轻查询的难度。 而且正如1.1节中所述,您可以在Censys上组合查询参数进行搜索。再配合一些其他信息,就能快速定位到网站。 假设你的服务器的请求头组成大致和1500个其他Web服务器的请求头相同,你的网站还使用一个新的PHP框架,这也是很独特的HTTP标头(例如:X-Generated-Via:XYZ fr amework),目前约有400名网站使用该框架。就这样不停比对,运气好的情况下,很快就能找到真实IP。 例如,Censys上涉及服务器请求头的搜索参数是 80.http.get.headers.server: 查找使用了CloudFlare服务的网站的语句如下: 80.http.get.headers.server: cloudflare 4.应用和服务 网站本身的很多功能可能并不完善,包括完整网站所使用的开源软件包,自编写的代码等都有可能存在某些“轻微”的漏洞,例如,报错信息不规范等。而这些信息就很有可能缩小我们的搜索范围。此外,即使是正常的网站服务,也有可能为我们所用。例如你需要在目标网站上设置一个头像,而且是通过提供图片URL的方式(不是上传图片)。那么目标网站可能主动从其他网站下载图片,如果你控制着放置图片的网站。那么目标的真实IP就在日志中。最重要的就是多多尝试,网站管理员可能会犯很多错误。 5.内容 在某些情况下,直接访问目标服务器IP也会返回网站内容。那么,问题就简单了,网络搜索引擎能帮我们大忙。在网站的源代码中,很可能存在独特的代码片段,以及很多第三方服务的痕迹(例如Google Analytics,reCAPTCHA)。例如,HackTheBox网站的Google Analytics Tracking代码如下: ga(‘create’, ‘UA-93577176-1’, ‘auto’); 通过使用80.http.get.body:参数,我们就可以在Censys的数据中搜索出对应的网站。 当然,普通的搜索字段是有局限性。您可以在Censys上请求研究访问权限,这样就可以通过Google BigQuery进行更强大的查询。而在另一款网络搜索产品Shodan中,我们也可以根据http.html搜索参数进行相同的查询。 示例如下: https://www.shodan.io/search?query=http.html%3AUA-32023260-1 后记 要找到隐藏在Tor或CloudFlare后面的原始IP需要一定的创造力。

黑客自己也被黑,大多数LokiBot都是初始版本的修改版

安全研究人员了解到,大多数流传出去的数恶意软件LokiBot原来都是原始版本的修改版本。 2015年以来,LokiBot就通过从多种流行的网络浏览器、FTP、电子邮件客户端,以及PuTTY等IT管理工具中获取凭证,从而窃取用户的密码和加密货币钱包。 最初的LokiBot是由一个网名叫“lokistov”,又名“Carter”的人开发和销售,价格为300美元,但是后来暗网上很多其他黑客也开始销售同样的恶意软件,价格则相对低得多(一般能低至80美元)。 人们认为,LokiBot的源代码已经被泄漏,使得其他人可以将其编译为各种版本。 不过,Twitter上一个名为“d00rt”的研究人员发现,有些人在没有访问LokiBot源代码的情况下就能对其最初版本进行少量修改(补丁),从而让其他黑客可以定义他们自己的自定义域来接收那些窃取来的数据。 黑客正在积极散播“被劫持”版本的LokiBot 研究人员发现,这款恶意软件所在的C&C服务器位置,也就是被窃取的数据本该被发送到的位置,已经被改为被存储到5个不同的位置——其中四个使用3DES算法加密,还有一个使用简单的XOR算法加密。 该恶意软件有一个名为“Decrypt3DESstring”的功能,可以被用来解密所有加密字符串,以及获取C&C服务器的URL。 研究人员分析了新版LokiBot并且与原始版本进行了比较,发现新版本中的Decrypt3DESstring函数已经被修改,使它总是返回受XOR保护的字符串值,而不是返回受3DES保护的字符串值。 “在所有新版的LokiBot中,3DES保护的URL总是相同的。”研究人员说道。 “另外,这些URL从来没被使用过。Decrypt3DESstring会返回一个解密3DES算法的缓冲器。当然这应该是理想状态,但如前所述,实际上每次调用Decrypt3DESstring时,都会返回解密或加密XOR的URL。” 这些更改使得任何拥有新版本LokiBot的人都能用简单的HEX编辑器来编辑程序,并且添加他们自定义的URL来接收被盗的数据。 解密函数还被用于获取令恶意软件在系统上持久化所需要的注册表值,但由于在修改后,解密函数只会返回URL,所以在设备重新启动后,修改后版本的LokiBot是无法重新启动的。 但是,目前尚不清楚为什么初始版本LokiBot的开发者也将同样的C&C服务器URL,存储在用安全性较低的XOR算法加密过的字符串中,即便这是没有任何必要的。 据悉,目前以超低价格被广泛散布的多种LokiBot版本,也被某些黑客以同样的方式做了修改。 同时,LokiBot的原作者已经发布了新的2.0版本,并且正在多个论坛上在线销售。 要了解更多关于新版本LokiBot的细节,可以阅读发布在GitHub上的研究文章: https://github.com/d00rt/hijacked_lokibot_version/blob/master/doc/LokiBot_hijacked_2018.pdf

DNS反弹Shell

0X01 引子 反弹Shell广泛应用于远程控制下的权限维持,通过反转攻(客户端)和受(服务端)的角色,来实现条件限制,尤其是内网情况下的远程连接。 反弹Shell的工具和实现方法多种多样,只要能够让被控端通过网络发送数据到控制端,并且实现数据的解析即可完成控制过程。 最近在继续了解网络协议,于是突然想在DNS数据包中插入一些伪造的命令来实现解析,本来准备自己尝试写一个DNS服务器和DNS请求程序来实现反弹,不过刚动笔就看到了别人开源的程序,于是直接使用别人的程序来学习了。 https://github.com/ahhh/Reverse_DNS_Shell 为了运行测试更方便,去掉了程序中的加解密功能,额外的Python包只需要dns和dnslib 0X02 DNS 为了关联主机和IP地址对应关系而诞生的DNS本身,不需要我在这里赘述了。跳过域名构成、查询过程等可以轻松在网络查询到的内容,我们直接来看看DNS的包构成 在smtp那篇文章中,我们提过一层一层洋葱状的协议包裹,在这里,我们跳过以太、IP、UDP头,直接到DNS数据的部分。 标志着数据开始的是Tran ID段,所有的问答信息都需要一定的机制来保证对应,这部分应该就是对应机制中的一部分。 紧接着的Flags,0x0100表明了一些查询属性。 Queries中是我们所要查询的host,查询类型。作为A类型查询,得到的是host的IP,这里也是我们做手脚的地方,不过TXT类型可以插入一些附加的信息,更适合我们用来构造命令语句。 服务器回应包如下: 作为回应的Tran ID,它和查询包相同。 Flags中标准回应标志位 重复显示的Queries 回应的Answers信息。通过CNAME查取主机规范名,再通过规范名查取对应IP。 利用这种相互应答的特性,我们初步计划通过以下流程来实现我们的反弹Shell 0X03 程序 原始的程序可以在上面的github中找到,这里贴出我们去掉加解密的部分程序。 先说DNS服务器的部分 这一部分封装了对DNS的应答,payload里是被控端发来的查询信息,也就是上一次命令执行后的回显,而out是我们这一次的命令,封装成了TXT的应答包 这部分对于被控端的查询包进行解析,从中获取到地址和数据,对于数据,解析出其中的命令回显,并且初始化一个应答包。 主函数中使用socket监听相关端口,对于监听到的包按照预定流程进行处理。 再来看看被控端发送的部分 首先是整个流程一览,从程序中可以很清晰的看到建立连接,解析命令,执行命令,发送回显的过程。 构造的url,也就是命令回显,对于没有命令的,会返回nxt。利用回显构造查询语句。 这两段程序对于收到的文本格式的命令进行解析和执行,没有太多的东西可以讲。只是注意格式的截取,并且考虑对Linux和Windows的命令之间转换。 这部分负责发送DNS查询,按照与服务器约定的格式构造包并且进行发送。 0X04 测试 我们需要先执行服务器端程序,然后执行被控端程序。我的服务端程序在一台Ubuntu主机上,被控端在我的Win10机器上。 这是被控端第一次连接时发送的包,因为控制端还没有指令,第一次连接发送的是空包,其中Name的值bnh0就是我之前所说的NXT 而第二个包就是控制端发送的指令,在TXT中发送的就是指令whoami的base64编码, 可以对比和我之前实际抓包的不同之处,对照可以看出我们在DNS包的哪些地方做过修改。 0X05 延伸 其实相关的DNS隧道技术原理应该差不多,都是在本来应该放DNS规定信息的地方放入了其他的东西,来达到一些意想不到的结果。 当然,RFC还有许多协议可以让我随意构造去做测试,下一步考虑写一个多协议支持的Fuzzing工具 :) 点赞 收藏 分享 文章举报 FLy_鹏程万里 博客专家 发布了937 篇原创文章 · 获赞 1031 · 访问量 173万+ 他的留言板 关注

用安狮 WAF,线上不“裸奔”

先上一张世界上最大的数据泄露事件统计图压压惊: 再来一张Motherboard给出的数据泄露事件走势图表: 据Heimdal Security称,今年春天是大型数据泄露事件的多发期,LinkedIn,MySpace, Tumblr几家大公司的数据,大约有5亿已经在暗网兜售。防止信息遭篡改和泄露,保障信息安全成了每家企业必须考虑的问题。 ANS(安狮)应用交付的Web应用防火墙功能模块,是高星文自主研发的一套功能全面的Web应用安全解决方案,可有效防御针对Web和Web服务发起的各种已知及未知的攻击,为企业和服务提供商提供最有效的网络级安全性。 可以修补安全漏洞,防止网站入侵和网页篡改、Cookie篡改和劫持、网站挂马、网络钓鱼、表单关键字泄露、目录遍历等信息遭篡改和泄露危害行为,保障应用交易信息安全。 除了保护Web服务器和网站免受未经授权的访问和恶意程序的滥用,也提供了针对遗留的CGI编码或者脚本,其他Web架构,Web服务器软件和底层操作系统安全漏洞的保护。 可免费试用噢,详情请登录高星文官网 http://www.high-galaxy.com/