信息收集概念、作用和分类在一次护网行动中再次深刻意识到了信息收集对于渗透测试整个流程的重要性,信息收集的完整性决定了你的渗透测试结果,“知己知彼,百战不殆”。在此,为了使今后的渗透测试工作更加流程化、规范化,提高工作效率为前提,我总结了常见的信息收集经验和技巧,希望对大家有一定帮助。 信息收集概念信息收集是指黑客为了更加有效地实施渗透攻击而在攻击前或攻击过程中对目标的所有探测活动。 信息收集作用1.了解组织安全架构 2.缩小攻击范围 3.描绘网络拓扑 4.建立脆弱点数据库 信息收集分类(1)主动信息搜集:与目标主机进行直接交互,从而拿到目标信息,缺点是会记录自己的操作信息。 (2)被动信息搜集:不与目标主机进行直接交互,通过搜索引擎或者社会工程等方式间接的获取目标主机的信息。 信息收集常用方法根据每个信息收集条目的重要性、收集难易程度和漏洞利用难以程度进行了推荐星数的排序(仅供参考)。 Whois信息推荐星数:★ whois是用来查询域名的IP以及所有者等信息的传输协议。 whois信息可以获取关键注册人的信息,包括注册商、所有者、所有者联系邮箱、联系电话、域名注册时间、域名到期时间、域名状态、DNS服务器等。 whois可以获取的信息:
可通过注册邮箱、注册人等反查相关目标注册过的域名。 Whois信息在线收集地址:
企业信息收集推荐星数:★★
企业信息查询网站:
Github信息推荐星数:★★ Github不仅能托管代码,还能对代码进行搜索,当上传并公开代码时,一时大意,会让某些敏感的配置信息文件等暴露于众。Github主要收集:
SVN信息推荐星数:★★ SVN(subversion)是源代码版本管理软件,造成SVN源代码漏洞的主要原因是管理员操作不规范。“在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。但一些网站管理员在发布代码时,不愿意使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,黑客可以借助其中包含的用于版本信息追踪的entries文件,逐步摸清站点结构。”(可以利用.svn/entries文件,获取到服务器源码、svn服务器账号密码等信息)。 邮箱信息推荐星数:★★ 常见的在线邮箱收集网站,这些网站通过爬虫,搜索引擎等方式,获取互联网上暴露的邮箱地址。 网盘信息收集推荐星数:★★ 漏洞库信息推荐星数:★★ 查询历史漏洞,获取目标之前存在的安全问题,可以利用已知漏洞直接对目标系统进行攻击。 端口、服务信息推荐星数:★★★ 服务和安全是相对应的,每开启一个端口,那么攻击面就大了一点,开启的端口越多,也就意味着服务器面临的威胁越大。 收集方法: (1) Nmap Nmap是主机扫描工具,它的图形化界面是Zenmap,分布式框架为Dnamp。 Nmap可以完成以下任务:
Nmap安装与使用方法可参考: https://blog.csdn.net/m1585761297/article/details/80015726 https://www.cnblogs.com/weihua2616/p/6599629.html (2)御剑高速TCP全端口扫描工具 (3)ScanPort (4)Google浏览器Shodan插件 (5)站长之家http://old.tool.chinaz.com/port/ (6)http://coolaf.com/tool/port 子域名枚举推荐星数:★★★ 子域名枚举是为一个或多个域查找子域的过程,它是信息收集阶段的重要组成部分。 为什么要进行子域名枚举?
子域名枚举在线网站+工具: (1)搜索引擎查询
(2)子域名搜集小工具
(3)在线查询工具 (4)网络空间资产搜索引擎
(5) DNS查询/枚举 DNS查询 host -t a domainNamehost -t mx domainName 优点:非常直观,通过查询DNS服务器的A记录、CNAME等,可以准确得到相关信息,较全。 缺点:有很大的局限性,很多DNS是禁止查询的。 在线查询网站: DNS暴力破解:fierce 参考链接:
(6) 证书透明度公开日志枚举 证书颁发机构(CA)必须将他们发布的每个SSL/TLS证书发布到公共日志中。SSL/TLS证书通常包含域名、子域名和电子邮件地址。因此SSL/TLS证书成为了攻击者的切入点。 SSL证书搜索引擎:
基于HTTPS证书的子域名收集小程序GetDomainsBySSL.py 网站架构推荐星数:★★★
推荐Google插件: Web应用指纹信息推荐星数:★★★
Web应用指纹信息:
敏感文件、目录信息推荐星数:★★★ 由于发布网站时,服务器配置问题,导致目录浏览功能打开,从而引起信息泄露,造成安全隐患。在信息收集过程中,需要收集的敏感目录/文件信息包括:
旁站查询推荐星数:★★★ 旁站信息:旁站是和目标网站在同一台服务器上的其它的网站,主站无法获取权限的情况下,旁站便可以作为攻击入口。 旁站信息收集:
C段信息推荐星数:★★★ C段信息:C段是和目标服务器ip处在同一个C段的其它服务器。 1.在线接口查询 2.扫描工具 Nmap扫描C段: nmap -sP 1.1.1.1/24 探测C段存活主机,可以用|grep up过滤存活的主机. 3.IIS Put Scaner 搜索引擎信息收集推荐星数:★★★ 主要收集的信息包括:
常见后缀名: ".vscode" ".env" ".Trash" ".bashrc" ".git" ".ftpconfig" ".ds_store" ".ssh" ".mysql_history" "WS_FTP.ini" "admin.zip" "dead.letter" "secring.skr" "secring.pgp" "secring.bak" ".bash_history" "README.md" "README.MD" "README" "phpinfo.php" "test.php" "database.propertie" "web.xml" ".gitignore" "_viminfo" ".bak_Edietplus" ".viminfo" ".swp" ".swo" ".swn" ".swm" ".swl" ".save1" ".save2" ".save3" ".svn" ".hg" ".bzr" ".xml" ".yml" ".mail" ".password" ".letter" ".bak" ".back" ".pwd" ".config" ".conf" ".cgi" ".mdb" ".db" ".json" ".ini" ".reg" ".txt" ".zip" ".rar" ".tar.gz" ".7z" ".cab" ".jar" ".lzh" ".ace" ".gzip" ".uue" ".bz2" ".arj" ".iso" ".z" "~" ".idle" ".inc" ".yaml" ".cfg" ".dump" ".sql" ".doc" ".xls" ".pptx" ".docx" ".ppt" ".ssh" ".mdb" ".cfg" ".gov" ".sh" ".desk" ".cnf" ".pl ".dll" ".nsf" ".cfm" ".ctl" 网络空间资产搜索引擎信息收集推荐星数:★★★ 网络空间搜索引擎的作用就是将互联网上公开的网络资产收集和整理,以此方便人们进行查阅和利用。网络空间可以发现了不少企业的脆弱系统,未授权访问、SQL注入、弱口令等等都是存在的。
内网入口点信息推荐星数:★★★
Waf信息推荐星数:★★★★ WAF也称Web应用防护系统,Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。
真实IP地址推荐星数:★★★★★ CND介绍 CDN的全称是Content Delivery Network(内容分发网络),通过在网络各处的加速节点服务器来为网站抵挡恶意流量,把正常流量进行转发。用简单点的话来说,CDN一般有三个作用: 1.跨运营商加速:我们自己的网站常常只属于一个运营商(比如:电信),而加速节点遍布每家运营商,于是和网站不同运营商(比如:联通)的用户访问起来就不会那么慢了。 2.缓存加速:很多的静态资源以及一部分页面更新都是比较慢的(比如首页),这个时候CDN就会根据浏览器的max-age和last-modified值以及管理员的预设值来进行缓存,于是很多流量CDN节点就不会每次都来向网站请求,CDN节点可以直接自作主张地将命中的缓存内容返回。 3.恶意流量过滤:这是CDN非常重要的一个作用,也是很多网站会用CDN的原因,因为CDN能为我们抵挡攻击大流量攻击、普通的攻击(比如注入等),只有正常流量才会转发给网站。 参考链接:11种绕过CDN查找真实IP方法 https://www.cnblogs.com/qiudabai/p/9763739.html 验证是否存在CDN (1)使用各种多地 ping 的服务,查看对应IP地址是否唯一,如果不唯一多半是使用了CDN,多地 Ping 网站有: (2)修改本地hosts文件,强行将域名与IP解析对应,然后访问域名查看页面是否变化。 绕过CDN查找网站真实IP (1)查看IP与域名绑定的历史记录,可能会存在使用CDN前的记录。
(2)SecurityTrails平台 在搜索字段中输入网站域名,然后按Enter键即可,这时“历史数据”就可以在左侧的菜单中找到真实原始IP 。 (3)查询子域名 CDN是不便宜的,所以很多站长可能只会对主站或者流量大的子站点做了CDN,而很多小站子站点又跟主站在同一台服务器或者同一个C段内,此时就可以通过查询子域名对应的IP来辅助查找网站的真实IP,收集方法同子域名收集。 Subdomainbrute为例,仅需打开cmd进入它所在的目录输入Python subdomainbrute.py baidu.com –full即可收集百度的子域名,收集子域名后尝试以解析ip不在cdn上的ip解析主站,直到真实ip成功被获取到。 (4)网络空间搜索引擎 常见的有以前的钟馗之眼,shodan,fofa搜索。以fofa为例,只需输入:title:“网站的title关键字”或者body: “网站的body特征”就可以找出fofa收录的有这些关键字的ip域名,很多时候能获取网站的真实ip。 (5)利用SSL证书寻找真实原始IP 假如在www.wangsu.com上托管了一个服务,原始服务器IP是136.23.63.44,而wangsu会为你提供DDoS保护,Web应用程序防火墙等服务,以保护你的服务免受攻击。为此,你的Web服务器就必须支持SSL并具有证书。 目前Censys工具就能实现对整个互联网的扫描,Censys是一款用以搜索联网设备信息的新型搜索引擎,能够扫描整个互联网,Censys每天都会扫描IPv4地址空间,以搜索所有联网设备并收集相关的信息,并返回一份有关资源(如设备、网站和证书)配置和部署信息的总体报告。 (6)使用国外主机解析域名 国内很多 CDN 厂商因为各种原因只做了国内的线路,而针对国外的线路可能几乎没有,此时我们使用国外的主机直接访问可能就能获取到真实IP。 (7)网站漏洞查找 目标敏感文件泄露,例如:phpinfo之类的探针、GitHub信息泄露等。 XSS盲打,命令执行反弹shell,SSRF等。 无论是用社工还是其他手段,拿到目标网站管理员在CDN的账号,从而在从CDN的配置中找到网站的真实IP。 (8)网站邮件订阅查找 RSS邮件订阅,很多网站都自带sendmail,会发邮件给我们,此时查看邮件源码里面就会包含服务器的真实 IP 了。 (9)nmap扫全网 首先从apnic获取IP段,然后使用Zmap的banner-grab扫描出来80端口开放的主机进行banner抓取,最后在http-req中的Host写需要寻找真实IP的域名。 综合收集推荐星数:★★★★★
参考链接:https://www.jianshu.com/p/aeadbdb3fa08 总结信息收集阶段应尽量可能多的获取目标Web应用的各种信息。信息收集工作是Web渗透测试最基础、也是最重要的阶段, 收集的有用信息, 可大大提高渗透测试的成功率。 |