OSINT Web信息收集
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
等...太多了
旁站查询接口,感谢原作
查c段的话:
域名解析IP地址历史记录查询:
小网站从无CDN到有CDN,会有一个IP变化的过程,netcraft.com会记录下来,也可以做参考:
域名Whois历史记录查询:
Google Hacking 搜索引擎查询
感谢原作
如何寻找隐藏在CloudFlare或TOR背后的真实原始IP
除了过去的DNS记录,即使是当前的记录也可能泄漏原始服务器IP。例如,MX记录是一种常见的查找IP的方式。如果网站在与web相同的服务器和IP上托管自己的
邮件服务器,那么原始服务器IP将在MX记录中。
毕竟 CDN 还是不便宜的,所以很多站长可能只会对主站或者流量大的子站点做了 CDN,而很多小站子站点又跟主站在同一台服务器或者同一个C段内,此时就可以通过查询子域名对应的 IP 来辅助查找网站的真实IP。
下面介绍些常用的子域名查找的方法和工具:
上文提到的微步在线功能强大,黑客只需输入要查找的域名(如baidu.com),点击子域名选项就可以查找它的子域名了,但是免费用户每月只有5次免费查询机会。
黑客只需输入baidu.com type:A就能收集百度的子域名和ip了。
Google site:baidu.com -www就能查看除www外的子域名
子域名挖掘机仅需输入域名即可基于字典挖掘它的子域名,
Subdomainbrute以windows为例,黑客仅需打开cmd进入它所在的目录输入Python subdomainbrute.py baidu.com --full即可收集百度的子域名,
注:收集子域名后尝试以解析ip不在cdn上的ip解析主站,真实ip成功被获取到。
常见的有以前的钟馗之眼,shodan,fofa搜索。以fofa为例,只需输入:title:“网站的title关键字”或者body:“网站的body特征”就可以找出fofa收录的有这些关键
字的ip域名,很多时候能获取网站的真实ip,
使用给定的域名
此时,如果攻击者扫描0.0.0.0/0,即整个互联网,他们就可以在端口443上获取在xyz123boot.com上的有效证书,进而获取提供给你的Web服务器IP。
目前Censys工具就能实现对整个互联网的扫描,Censys是一款用以搜索联网设备信息的新型搜索引擎,安全专家可以使用它来评估他们实现方案的安全性,而黑客则可以使用它作为前期侦查攻击目标、收集目标信息的强大利器。Censys搜索引擎能够扫描整个互联网,Censys每天都会扫描IPv4地址空间,以搜索所有联网设备并收集相关的信息,并返回一份有关资源(如设备、网站和证书)配置和部署信息的总体报告。
而攻击者唯一需要做的就是把上面用文字描述的搜索词翻译成实际的搜索查询参数。
xyz123boot.com证书的搜索查询参数为:parsed.names:xyz123boot.com
只显示有效证书的查询参数为:tags.raw:trusted
攻击者可以在Censys上实现多个参数的组合,这可以通过使用简单的布尔逻辑来完成。
组合后的搜索参数为:parsed.names: xyz123boot.com and tags.raw: trusted
Censys将向你显示符合上述搜索条件的所有标准证书,以上这些证书是在扫描中找到的。
要逐个查看这些搜索结果,攻击者可以通过单击右侧的“Explore”,打开包含多个工具的下拉菜单。What's using this certificate? > IPv4 Hosts
此时,攻击者将看到一个使用特定证书的IPv4主机列表,而真实原始 IP就藏在其中。
你可以通过导航到端口443上的IP来验证,看它是否重定向到xyz123boot.com?或它是否直接在IP上显示网站?
使用给定的SSL证书
如果你是执法部门的人员,想要找出一个隐藏在cheesecp5vaogohv.onion下的儿童色情网站。做好的办法,就是找到其原始IP,这样你就可以追踪到其托管的服
务器,甚至查到背后的运营商以及金融线索。
隐藏服务具有SSL证书,要查找它使用的IPv4主机,只需将"SHA1 fingerprint"(签名
证书的sha1值)粘贴到Censys IPv4主机搜索中,即可找到证书,使用此方法可以轻松找到配置错误的Web服务器。
借助SecurityTrails这样的平台,任何人都可以在茫茫的大数据搜索到自己的目标,甚至可以通过比较HTTP标头来查找到原始服务器。
特别是当用户拥有一个非常特别的服务器名称与软件名称时,攻击者找到你就变得更容易。
如果要搜索的数据相当多,如上所述,攻击者可以在Censys上组合搜索参数。假设你正在与1500个Web服务器共享你的服务器HTTP标头,这些服务器都发送的是
相同的标头参数和值的组合。而且你还使用新的PHP框架发送唯一的HTTP标头(例如:X-Generated-Via:XYZ框架),目前约有400名网站管理员使用了该框
架。而最终由三个服务器组成的交集,只需手动操作就可以找到了IP,整个过程只需要几秒钟。
例如,Censys上用于匹配服务器标头的搜索参数是80.http.get.headers.server :,查找由CloudFlare提供服务的网站的参数如下:
80.http.get.headers.server:cloudflare
如果原始服务器IP也返回了网站的内容,那么可以在网上搜索大量的相关数据。
浏览网站源代码,寻找独特的代码片段。在JavaScript中使用具有访问或标识符参数的第三方服务(例如Google Analytics,reCAPTCHA)是攻击者经常使用的方法。
以下是从HackTheBox网站获取的Google Analytics跟踪代码示例:
ga('create','UA-93577176-1','auto'); 可以使用80.http.get.body:参数通过body/source过滤Censys数据,不幸的是,正常的搜索字段有局限性,但你可以在Censys请求研究访问权限,该权限允许你通过Google BigQuery进行更强大的查询。
Shodan是一种类似于Censys的服务,也提供了http.html搜索参数。
国内很多 CDN 厂商因为各种原因只做了国内的线路,而针对国外的线路可能几乎没有,此时我们使用国外的主机直接访问可能就能获取到真实IP。
RSS邮件订阅,很多网站都自带 sendmail,会发邮件给我们,此时查看邮件源码里面就会包含服务器的真实 IP 了。
需要找 xiaix.me 网站的真实 IP,我们首先从 apnic 获取 IP 段,然后使用 Zmap 的 banner-grab 扫描出来 80 端口开放的主机进行 banner 抓取,最后在 http-req
中的 Host 写 xiaix.me。
当服务器使用F5 LTM做负载均衡时,通过对set-cookie关键字的解码真实ip也可被获取,例如:Set-Cookie:
BIGipServerpool_8.29_8030=487098378.24095.0000,先把第一小节的十进制数即487098378取出来,然后将其转为十六进制数1d08880a,接着从后至前,以
此取四位数出来,也就是0a.88.08.1d,最后依次把他们转为十进制数10.136.8.29,也就是最后的真实ip。
错误的配置:有些域名只配置了www而没有配置主域名,我们可以通过访问主域名来获取真实ip
网站敏感文件:有些敏感文件可以泄露真实IP的,比如phpinfo.php
感谢原作,很实用,还有很多需要实战积累
.hg源码泄漏
漏洞成因:
hg init的时候会生成.hg
漏洞利用:
工具:dvcs-ripper
.git源码泄漏
漏洞成因:
在运行git init初始化代码库的时候,会在当前目录下面产生一个.git的隐藏文件,用来记录代码的变更记录等等。在发布代码的时候,把.git这个目录没有删除,直
接发布了。使用这个文件,可以用来恢复源代码。
工具:
GitHack
dvcs-ripper
.DS_Store文件泄漏
漏洞成因:
在发布代码时未删除文件夹中隐藏的.DS_store,被发现后,获取了敏感的文件名等信息。
漏洞利用:
注意路径检查
工具:
dsstoreexp
网站备份压缩文件
在网站的使用过程中,往往需要对网站中的文件进行修改、升级。此时就需要对网站整站或者其中某一页面进行备份。当备份文件或者修改过程中的缓存文件因为
各种原因而被留在网站web目录下,而该目录又没有设置访问权限时,便有可能导致备份文件或者编辑器的缓存文件被下载,导致敏感信息泄露,给服务器的安全
埋下隐患。
漏洞成因及危害:
该漏洞的成因主要有以下两种:
服务器管理员错误地将网站或者网页的备份文件放置到服务器web目录下。
编辑器在使用过程中自动保存的备份文件或者临时文件因为各种原因没有被删除而保存在web目录下。
漏洞检测:
该漏洞往往会导致服务器整站源代码或者部分页面的源代码被下载,利用。源代码中所包含的各类敏感信息,如服务器数据库连接信息,服务器配置信息等会因此
而泄露,造成巨大的损失。被泄露的源代码还可能会被用于代码审计,进一步利用而对整个系统的安全埋下隐患。
SVN导致文件泄露
Subversion,简称SVN,是一个开放源代码的版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上越来越多的控制
服务从CVS转移到Subversion。
Subversion使用服务端—客户端的结构,当然服务端与客户端可以都运行在同一台服务器上。在服务端是存放着所有受控制数据的Subversion仓库,另一端是
Subversion的客户端程序,管理着受控数据的一部分在本地的映射(称为“工作副本”)。在这两端之间,是通过各种仓库存取层(Repository Access,简称RA)
的多条通道进行访问的。这些通道中,可以通过不同的网络协议,例如HTTP、SSH等,或本地文件的方式来对仓库进行操作。
漏洞利用:
工具:
dvcs-ripper
Seay-Svn
WEB-INF/web.xml泄露
WEB-INF是Java的WEB应用的安全目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。
WEB-INF主要包含一下文件或目录:
/WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。
/WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中
/WEB-INF/lib/:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件
/WEB-INF/src/:源码目录,按照包名结构放置各个java文件。
/WEB-INF/database.properties:数据库配置文件
漏洞成因:
通常一些web应用我们会使用多个web服务器搭配使用,解决其中的一个web服务器的性能缺陷以及做均衡负载的优点和完成一些分层结构的安全策略等。在使用
这种架构的时候,由于对静态资源的目录或文件的映射配置不当,可能会引发一些的安全问题,导致web.xml等文件能够被读取。
漏洞检测以及利用方法:
通过找到web.xml文件,推断class文件的路径,最后直接class文件,在通过反编译class文件,得到网站源码。
一般情况,jsp引擎默认都是禁止访问WEB-INF目录的,Nginx 配合Tomcat做均衡负载或集群等情况时,问题原因其实很简单,Nginx不会去考虑配置其他类型引
擎(Nginx不是jsp引擎)导致的安全问题而引入到自身的安全规范中来(这样耦合性太高了),修改Nginx配置文件禁止访问WEB-INF目录就好了: location ~
^/WEB-INF/* { deny all; } 或者return 404; 或者其他!
CVS泄漏
漏洞利用
测试的目录
取回源码的命令
这个命令的意思就是把远端一个名为name的repo clone到本地名为dir的目录下。
查看所有的改变的命令,转到download的目录
bk changes
Bazaar/bzr
工具:
dvcs-ripper
工具推荐
Bitkeeper
weakfilescan
Waf识别大多数是根据header来判断头信息来判断的
网站敏感文件之前讲过了敏感文件都有哪些
报错点
可以通过后台获取
web中间件报错信息,例如 IIS
搜索引擎查找error warning mysql等信息
云悉资产
whatweb
这里,主要为大家推荐子域名挖掘机和lijiejie的subdomainbrute()
假如你在xyz123boot.com上托管了一个服务,原始服务器IP是136.23.63.44。 而CloudFlare则会为你提供DDoS保护,Web应用程序防火墙和其他一些安全服务,以保护你的服务免受攻击。为此,你的Web服务器就必须支持SSL并具有证书,此时CloudFlare与你的服务器之间的通信,就像你和CloudFlare之间的通信一样,会被加密(即没有灵活的SSL存在)。这看起来很安全,但问题是,当你在端口443()上直接连接到IP时,SSL证书就会被暴露。
搜索示例:
e.g.
rip-hg.pl -v -u
e.g. 漏洞利用:
GitHack.py
rip-git.pl -v -u
python ds_store_exp.py
e.g.
rip-svn.pl -v -u
返回根信息
返回所有文件的结构
bk clone dir
rip-bzr.pl -v -u
参考