外网渗透中,最让人头疼的问题,莫过于CDN了,关于获取真实IP都没有比较好的方案。为了让各地用户能快速访问网站,现在的网站基本都带有CDN加速。没有真实IP,有0day的情况下,可能某些站点可直接打,如果是1day、Nday,即使目标存在漏洞,有些CDN可能拦截POC,导致无法获取权限。找到真实IP,才能进行下一步C段的资产探测、端口扫描识服务、设备、CMS等的漏洞挖掘。没有真实IP,很难开展下一步工作,所以本文的重点是教大家如何查找真实IP。
Ladon 10.0 20221208
[+]TrueIP 多种方式探测域名真实IP[u]Ladon Study 新增保存功能[u]Ladon Study 一些常用功能按钮高亮[+]GetHead 新增获取网页返回头模块[+]GetHtml 新增获取网页返回头+网页源码模块
[+]GetDomain 新增获取IP或网页中的域名 可扫C段IP中的域名[u]WhatCMS 重新放开Banner长度改为80 不能因为个别放弃大量[u]WebScan 传入https也可探测机器名 无html内容也能机器名[+]扫IP、CIDR、IP列表等 可添加https 或 http 配合相应模块使用
[+]TelnetScan Telnet密码爆破 默认字典ZTE弱口令[u]TomcatScan 新增默认密码[u]WeblogicScan 新增默认密码[-]SubDomain 移除子域名爆破 绝对本地用的功能不加 需要的话另行优化[u]RdpInfo only 20 or 35[u]sshscn 新增默认密码 修复扫出正确密码 莫明继续跑的BUGLadon Study 20221201 让小白快速入门网络安全=============================================Ladon Study包含网络资产探测、漏洞检测、漏洞EXP、密码审计、信息收集、横向移动、密码读取、本地提权等150个功能。使用超级简单,只需填写目标IP、URL、域名、IP段、TXT等,点击对应按钮一键操作。如下图,填好C段IP后,使用ICMP探测C段存活主机。
有些人可能会说Ladon不是内网扫描器吗?也能用来探测外网域名真实IP?内网扫描那只是最开始的定位,前几年主打内网,并不是说Ladon只能用于内网,这是模块化扫描器,随时可扩展功能,早期公开就提供有一些针对外网的POC,今年不是也发了不少针对外网漏洞的复现吗?即便在内网同样也需要用到相应WEB漏洞啊,无论内外网,只要目标开放相应端口或服务、部署有相应站点,外网能用的方法内网也能用,内网能用的方法,外网也能用,如早期的MS17010外网也能打不少权限啊,即使是现在也还有一些,毕竟全网那么大,总有很多菜鸡管理员,大家一定要学会举一反三,不要教什么就只会什么,我演示用内网IP,实战你就不懂换成对应IP了?外网开放445,你不懂打外网。密码审计本机127.0.0.1就相当于跑本地机器密码,一般用不到,不代表不具备这功能。比方说本机存在MS17010漏洞,打本机就相当于提权,很多人死脑筋只懂得打其它机器,所以思路要变通。本文要讲的探测真实IP的方法,实际上Ladon早已提供,只是你没想到它还能这样用。其实有些方法可能在个别群也提到过,但一直没把工具完善,很多人可能就觉得这是表面原理,这家伙只是吹牛B,表面理论谁不会说。好了废话不多说,上才艺,GO!
方法一 多Ping(不准)
网上有一些文章称,使用多Ping看ping值小的比较接近真实域名。没错有时候使用它刚好拿到真实IP,但实际上很多情况,并不见得ping值小就离真实IP近。打个比方,你的服务器在北京,你在北京或其它省ping北京真实IP,ping值是100ms,ping美国某CDN的ip仅30ms,因为ping值小,你就认为真实IP在美国吗?下图是实战某域名真实IP,ping值小的基本是香港、SG等,但实际上真实IP并不在这些地区,且Ping值是60ms。所以该方法不是一个靠谱的方法,有点类似于网上很多LowB的POC扫描器,单纯检测到目标CMS是某个版本或某个页面存在,就说存在漏洞一样。这和单纯看到发烧就说是新冠没有区别,如果对方刚好是阳性,歪打正着去隔离叫牛B,但人家啥事没有,这个就是害了很多人。多ping的值我尝试过不少目标,依然无法成为判定依据,如果目标都类似于测试目标,得手工访问多少个IP验证啊,那么多Ping值低的,竟没一个是真的... 该方法靠运气,不建议使用
方法二 Fofa等搜索引擎
通过Fofa可搜集到很多域名相关IP,想得到真实IP,需要语法上过滤CDN,如果CDN只有几个还好,但是CDN有很多,我们压根就不知道,还是得先人工一个一个看,然后把CDN加上,使用过滤语句过滤,CDN很多的话,语句就很长,剩下的查看是否真实IP。对于没有绑定主机头的IP来说,可能一些关键字或特定图标也可识别出真实IP,但是到绑定域名的IP来说,直接访问就没用。还有一个问题,很多时候些IP明明就是CDN且IP访问也是CDN提示的无效,还99%的概率...方法二可用,就是比较费时,麻烦。如果出个一键过滤CDN功能就好了,即便不全,能过滤掉大部分已知的也好。
方法三 Ladon模块DnsScan 探测多网卡主机、真实IP、子域名、相关域名
Ladon的DnsScn模块在内网渗透时,可用于识别多网卡主机,在外网渗透可识别IP对应域名,CDN主机的域名基本都是提供商的,而真实主机则是目标域名或子域名,利用该原理,我们可以通过获取IP绑定的域名来判定是否真实IP。
CDN主机回显如下图
该方法对于那些必须使用域名才能访问的IP也有效,首先我们通过Fofa或多Ping获取域名有关的IP,越全越好。使用以下命令或LadonStudy一键探测。确认其中一个IP为真实IP后,我们再针对它的C段进行识别,看有哪些子域名,或者其它域名。比方说我们渗透的目标是k8.org,但kkk.org,xxoo.com也是k8的,那么我们可以通过这两域名再次查找。
Ladon48 noping ip.txt DnsScanLadon48 noping 192.168.1.8/24 DnsScanLadon48 noping ip24.txt DnsScan 当然也可以直接批量C段
下图为探测到某个真实IP后,获取C段上目标子域名以及相关域名
方法四 Ladon模块SslInfo
通过SSL证书,可以探测域名、组织机构、甚至网络设备、如路由器等,CDN的证书返回的信息就是CDN的。如果信息中出现域名或域名机构特有关键字,那么就是真实主机。命令如下:
Ladon48 https://192.168.1.8 SslInfoLadon48 noping ip.txt SslInfoLadon48 noping 192.168.1.8/24 SslInfoLadon48 noping ip24.txt SslInfo 当然也可以直接批量C段
其它用法参考文章: Ladon9.1.7利用SSL证书探测信息
方法五 Ladon模块WebScan
通过主机名或Banner、标题等也可判定出真实IP,有些CDN的banner就是CDN厂商,如果域名的banner或标题比较特别,也能发现真实IP。
Ladon48 https://192.168.1.8 WebScanLadon48 noping ip.txt WebScanLadon48 noping 192.168.1.8/24 WebScanLadon48 noping ip24.txt WebScan 当然也可以直接批量C段
方法六 Ladon模块PortScan
PortScan模块为加强版端口扫描器,可单个可批量C段、B段、A段,默认扫描常见高危端口服务。可识别端口相关Banner,不是单纯的检测是否开放。邮服、文件服务器等IP一般很少经过CDN,常见的25、110、587等10多个端口,可能会回显相关域名,使用Ladon探测端口Banner也能发现真实IP。
Ladon48 192.168.1.8 PortScan 587,465,25 扫描指定端口Ladon48 noping ip.txt PortScan 默认扫常见高危端口Ladon48 noping 192.168.1.8/24 PortScanLadon48 noping ip24.txt PortScan 当然也可以直接批量C段
方法七 Ladon模块GetHtml
CDN主机IP,访问时大部分回显如下,因为厂商不可能只帮你一个人加速,不指定主机头,不可能显示你一个人的内容,没花钱,帮你白打广告??而真实要么返回默认页面内容、403、404等,要么返回域名对应内容。
Ladon48 https://192.168.1.8 GetHtmlLadon48 noping ip.txt GetHtmlLadon48 noping 192.168.1.8/24 GetHtmlLadon48 noping ip24.txt GetHtml 当然也可以直接批量C段
大部分CDN主机返回内容如下,使用Ladon批量时基本都返回400,利用该特性,即可过滤掉大量CDN主机
真实IP绑定主机头,无法直接访问IP
真实IP回显内容(本图与域名一样)
利用该原理,可以通过Ladon批量获取IP对应HTML源码,利用CDN特性以及HTML源码中的特定关键字,同样也可以发现真实IP
方法八 Ladon模块GetHead
有的同学可能会说,方法七中目标IP中没源码或者绑定了主机头,直接访问IP,就像方法七里提到的一样,访问不了,怎么办?别担心,Ladon想你所想,解决你的疑问,还有一招,获取返回头啊。就算目标给访问,可能需要重定向跳转后才回显源码,这种情况单纯获取源码,无法判定,因为没跳转,获取的源码只会有个301等字样,无法做出任何判断。但有时候跳转是设置在头里面,根据该思路,使用GetHead同样可以发现真实主机IP。
Ladon48 https://192.168.1.8 GetHeadLadon48 noping ip.txt GetHeadLadon48 noping 192.168.1.8/24 GetHeadLadon48 noping ip24.txt GetHead 当然也可以直接批量C段
如下图有些域名出现在Location字段中,有些又出现在自定义头中,因此单纯获取location也不准,所以Ladon全部获取。
其它字段中出现目标域名
方法九 Ladon模块GetDomain
该模块可提取URL中的域名,从方法七中我们可以看到CDN源码中几乎没有什么内容,都报400错误(注意只是大部分没说全部啊,有些也是返回正常的),而真实IP可正常访问。目标域名一般友情链接也是同类站点,或者网页中有同现子域名等情况,通过该原理也可发现真实IP。大家不要慌,这么方便的功能,Ladon又帮你实现了,除了用于发现真实IP,顺便也能收集一波子域名以及和目标有关的其它域名。
Ladon48 https://192.168.1.8 GetDomainLadon48 noping ip.txt GetDomainLadon48 noping 192.168.1.8/24 GetDomainLadon48 noping ip24.txt GetDomain 当然也可以直接批量C段
如图获取某个视频站点真实IP上出现的子域名
该模块包含CMS识别、Banner、SSL,通过该模块也可发现真实IP,原理和WebScan以及SSL差不多,但多了一个CMS来判定,假设IP回显与域名对应的CMS有可能也是真实IP,因为从方法七中我们已确认CDN源码差异,没有相关关键字是无法识别出CMS的,对于IP上出现CMS,意味着部署有站点,所以该方法也可发现真实IP。
Ladon48 https://192.168.1.8 WhatCMSLadon48 noping ip.txt WhatCMSLadon48 noping 192.168.1.8/24 WhatCMSLadon48 noping ip24.txt WhatCMS 当然也可以直接批量C段
有些CDN的Banner如下
真实IP的SSL和Banner都不是CDN的信息
方法十一 Ladon模块TrueIP
如果你想偷懒,可使用TrueIP多协议探测真实IP模块一键识别,该模块使用,需提供关键字,可以是域名、邮箱、公司名等特定关键字信息。
Ladon ip.txt TrueIP k8gege.orgLadon 192.168.1.8/24 TrueIP k8gege.orgLadon ip.txt TrueIP "K8哥哥"Ladon 192.168.1.8/24 TrueIP "K8哥哥"
注意:相关域名的关键字和IP不一样,想要获取更全内容,实际上本文所述方法,可能也要用到,因为在本文我有提到过,可能xxoo.com博客名叫哈哈哈,实际上可能也是k8gege的站点,但关键字和域名并没直接和k8有关,这种情况下你得能过GetDomain或GetHtml查看相关域名或关键字吧
方法十二 多种协议探测主机信息
你以为出现TrueIP这功能,文章就结束了,Ladon就只能有这些方法能用?非也实际上上述方法,只是说通用,以下方法可能仅限于Win主机或设备。如目标开启SMB,可通过SMB解析得到域名,通过类似以下8个模块也能发现真实IP,比方说CDN主机可能有固定标识符,WIN主机名不一定是域名,假设扫描同百个IP,如果不是域名我们只能确认是真实IP,但无法确认是哪个域名的IP,除非说主机名有明显特征,该方法可用,只是有一定局限性,也不通用。
Ladon48 noping ip.txt DnsScanLadon48 noping 192.168.1.8/24 DnsScanLadon48 noping ip24.txt DnsScan 当然也可以直接批量C段0
这么多方法,是不是看完后,可能就忘了,没关系,LadonStudy上全写着呢。只用大概知道就行,不记得看一下该文章。使用时,基本就是一键点个按钮就完事。
Ladon扫描web模块时添加https或http
有些WEB模块扫描,大家要注意一下,当提交的是IP时,默认只扫描http,但是目标C段上大部份IP全是需要https访问,这种情况下,使用一些模块可能就无法探测。比如扫192.168.1.8/c,或ip.txt或ip24.txt,想让它扫描时,是https://192.168.1.1怎么办?解决方案如下,模块末尾加https或http即可
Ladon48 noping ip.txt DnsScanLadon48 noping 192.168.1.8/24 DnsScanLadon48 noping ip24.txt DnsScan 当然也可以直接批量C段1
PS:注意模块是web才需要使用该参数,不要无脑使用,比如说smbinfo、MS17010等相关模块,压根就不是URL,你瞎鸡巴加个http/s干嘛。密码审计也是一样,人家不是Tomcat不是WordPress你用WPscan跑密码干嘛,或者说人家不开放445端口,你跑SMB弱口令干嘛。因为参数前强制加了个HTTPS,正确smb协议是smb://xxxx,正确Ftp协议是ftp://xxxx,当你对ip加了个https://传到模块里最终变成了smb://https://xxx,它能扫描吗?虽然我可以完全程序判断,但因为模块太多了,一下字不去加这些功能,再者本身这也是常识问题,信息安全,至少基本协议得懂吧,不是说要懂背后原理。而是这种1+1的常识,比如ftp和http协议的写法,ftp://xxxxx和http://xxxx这些要了解,这两个不是同一个东西。连个基本常识都不懂,Ladon绝对是最简单的安全工具,现在出个中文的Study几乎都是一键了,不懂哪些模块该加哪些不该加就得打屁股了。
最后:还是希望大家,多提些建议或反馈Bug
还没有评论,来说两句吧...