本文参考自t7前辈的课程,侵删
信息收集
一、简介
什么是信息搜集? 信息搜集也称踩点,信息搜集毋庸置疑就是尽可能的搜集目标的信息,包括端口信息、DNS信息、员工邮箱等等看似并不起眼的一些信息都算是信息搜集,这些看似微乎其微的信息,对于渗透测试而言就关乎到成功与否了。 信息搜集的重要性 信息搜集是渗透测试的最重要的阶段,占据整个渗透测试的60%,可见信息搜集的重要性。根据收集的有用信息,可以大大提高我们渗透测试的成功率。 信息搜集的分类 1、主动式信息搜集(可获取到的信息较多,但易被目标发现) 2、通过直接发起与被测目标网络之间的互动来获取相关信息,如通过Nmap扫描目标系统。 3、被动式信息搜集(搜集到的信息较少,但不易被发现) 4、通过第三方服务来获取目标网络相关信息。如通过搜索引擎方式来搜集信息。
二、搜索引擎
1. Google hacking
常用搜索语法: intitle:KEYWORD //搜索网页标题中含有关键词的网页 intext:KEYWORD //搜索站点正文中含有关键词的网页 inurl:KEYWORD //搜索URL中包含有指定字符串的网址 inurl:php?id= //搜索PHP网页 site:DOMAIN //在指定站点内查找相关的内容 filetype:FILE //搜索指定类型的文件
我们可以同时附加多个条件进行筛选,比如 inurl:admin intitle:农具 两个筛选条件之间用空格隔开
2. Shodan Shodan与Google这种搜索网址的搜索引擎不同的是,Shodan是用来搜索网络空间中在线设备的。
3. Zoomeye(钟馗之眼) ZoomEye是一款针对网络空间的搜索引擎,收录了互联网空间中的设备、网站及其使用的服务或组件等信息。
搜索语法 1、app:nginx 组件名 2、ver:1.0 版本 3、os:windows 操作系统 4、country:”China” 国家 5、city:”hangzhou” 城市 6、port:80 端口 7、hostname:google 主机名 8、site:thief.one 网站域名 9、desc:nmask 描述 10、keywords:nmask’blog 关键词 11、service:ftp 服务类型 12、ip:8.8.8.8 ip地址 13、cidr:8.8.8.8/24 ip地址段
通过以上不同种类的搜索引擎我们可以获得相当多的有用的信息,甚至平时搜索东西我们也可以通过zoomeye来找到自己想要的东西
三、企业信息
1. 天眼查
天眼查是一款“都能用的商业安全工具”,根据用户的不同需求,实现了企业背景、企业发展、司法风险、经营风险、经营状况、知识产权方面等多种数据维度的检索。
2. 企业信用信息公示系统
3. 工业和信息化部ICP/IP地址/域名信息备案管理系统
以上几个可以用来深入了解渗透目标网站所属企业的相关信息
四、whois信息
whois(读作“Who is”,非缩写)是用来查询域名的IP以及所有者等信息的传输协议。 whois信息可以获取关键注册人的信息,包括注册商、联系人、联系邮箱、联系电话、创建时间等,可以进行邮箱反查域名,爆破邮箱,社工,域名劫持,寻找旁站等等。 常用的工具有:
站长工具、爱站、微步在线
…
五 Nslookup的用法
例如: 1.设置类型为ns
2.下面的例子查询baidu.com使用的DNS服务器名称:
3.下面的例子展示如何查询baidu.com的邮件交换记录:
4.查看网站cname值。
5.查看邮件服务器记录(-qt=MX)
6.同样nslookup也可以验证是否存在域传送漏洞,步骤如下:
- nslookup进入交互式模式
- Server 设置使用的DNS服务器
- ls命令列出某个域中的所有域名
但是实际应用中,可能会出现问题,所以这个不做过多介绍
六、子域名收集
子域名收集可以发现更多渗透测试范围内的域名/子域名,以增加漏洞发现机率;探测到更多隐藏或遗忘的应用服务,这些应用往往可导致一些严重漏洞。 常用的工具有:子域名挖掘机Layer、subDomainsBrute、Dnsenum、Dnsmap …
这里推荐一个在线收集子域名的网站 https://phpinfo.me/domain/ 但是可能会出现遇到泛解析防御机制的情况
七、真实IP获取
现在大多数的网站都开启了CDN加速,导致我们获取到的IP地址不一定是真实的IP地址。 什么是CDN呢? CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。 如果想获取真实IP,我们可以使用以下几种方法 1.多地Ping法:由CDN的原理,不同的地方去Ping服务器,如果IP不一样,则目标网站肯定使用了CDN。 这里推荐一个网站可以多个地点ping服务器,https://asm.ca.com/en/ping.php
2.二级域名法:目标站点一般不会把所有的二级域名放cdn上。通过在线工具如站长帮手,收集子域名,确定了没使用CDN的二级域名后。本地将目标域名绑定到同IP(修改host文件),如果能访问就说明目标站与此二级域名在同一个服务器上;如果两者不在同一服务器也可能在同C段,扫描C段所有开80端口的IP,然后挨个尝试。
3.nslookup法:找国外的比较偏僻的DNS解析服务器进行DNS查询,因为大部分CDN提供商只针对国内市场,而对国外市场几乎是不做CDN,所以有很大的几率会直接解析到真实IP。
4.Ping法:直接ping example.com而不是www.example.com,因为现有很多CDN厂商基本只要求把www.example.com cname到CDN主服务器上去,那么直接ping example.com有可能直接获得真实IP。
八、指纹识别
通过识别目标网站所使用的操作系统、CMS、服务器与中间件信息,可以帮助我们进一步了解渗透测试环境,可以利用已知的一些CMS漏洞或中间件漏洞来进行攻击。 1.可以在以下地方获取信息: 1.指定路径下指定名称的js文件或代码。
2.指定路径下指定名称的css文件或代码。
<title>
中的内容,有些程序标题中会带有程序标识,但不是很多。
4.meta标记中带程序标识<meta name="description"/><meta name="keywords"/><meta name="generator"/><meta name="author"/><meta name="copyright"/>
5.display:none中的版权信息。
6.页面底部版权信息,关键字© Powered by等。
7.readme.txt、License.txt、help.txt等文件。
8.指定路径下指定图片文件,如一些小的图标文件,后台登录页面中的图标文件 等,一般管理员不会修改它们。
9.注释掉的html代码中<!–
10.http头的X-Powered-By中的值,有的应用程序框架会在此值输出。
11.cookie中的关键字
12.robots.txt文件中的关键字 robots.txt 中禁止的路径很可能说明站点就有这些路径 而且robots.txt 多是可访问的
13.404页面
14.302返回时的旗标
2.大小写
访问网站: http://www.xxx.com/index.html http://www.xxx.com/inDex.html Windows操作系统不区分大小写,Linux系统大小写敏感,用此方法能够判断是Windows还是Linux系统。
工具 :云悉指纹、Whatweb、httprint、Bugscanner、浏览器插件 wappalyzer
有的时候HTTP返回报文的server也可能泄露相关信息,详见我的HTTP学习笔记
九、端口扫描
扫描端口可以使用Nmap,masscan进行扫描探测,尽可能多的搜集开启的端口好已经对应的服务版本,得到确切的服务版本后可以搜索有没有对应版本的漏洞。 常见的端口信息及渗透方法:
端口 ———————————— 服务 —————————— 渗透用途(加黑斜体为重点) tcp 20,21 FTP 允许匿名的上传下载,爆破,嗅探,win提权,远程执行(proftpd 1.3.5),各类后门(proftpd,vsftp 2.3.4)
tcp 22 SSH 可根据已搜集到的信息尝试爆破,v1版本可中间人,ssh隧道及内网代理转发,文件传输等等
tcp 23 Telnet 爆破,嗅探,一般常用于路由,交换登陆,可尝试弱口令
tcp 25 SMTP 邮件伪造,vrfy/expn查询邮件用户信息,可使用smtp-user-enum工具来自动跑
tcp/udp 53 DNS 允许区域传送,dns劫持,缓存投毒,欺骗以及各种基于dns隧道的远控
tcp/udp 69 TFTP 尝试下载目标及其的各类重要配置文件
tcp 80-89,443,8440-8450,8080-8089 各种常用的Web服务端口 可尝试经典的topn,vpn,owa,webmail,目标oa,各类Java控制台,各类服务器Web管理面板,各类Web中间件漏洞利用,各类Web框架漏洞利用等等……
tcp 110 POP3 可尝试爆破,嗅探
tcp 111,2049 NFS 权限配置不当
tcp 137,139,445 Samba 可尝试爆破以及smb自身的各种远程执行类漏洞利用,如,ms08-067,ms17-010,嗅探等……
tcp 143 IMAP 可尝试爆破
udp 161 SNMP 爆破默认团队字符串,搜集目标内网信息
tcp 389 LDAP ldap注入,允许匿名访问,弱口令
tcp 512,513,514 Linux rexec 可爆破,rlogin登陆
tcp 873 Rsync 匿名访问,文件上传
tcp 1194 OpenVPN 想办法钓VPN账号,进内网
tcp 1352 Lotus 弱口令,信息泄漏,爆破
tcp 1433 SQL Server 注入,提权,sa弱口令,爆破
tcp 1521 Oracle tns爆破,注入,弹shell…
tcp 1500 ISPmanager 弱口令
tcp 1723 PPTP 爆破,想办法钓VPN账号,进内网
tcp 2082,2083 cPanel 弱口令
tcp 2181 ZooKeeper 未授权访问
tcp 2601,2604 Zebra 默认密码zerbra
tcp 3128 Squid 弱口令
tcp 3312,3311 kangle 弱口令
tcp 3306 MySQL 注入,提权,爆破
tcp 3389 Windows rdp shift后门[需要03以下的系统],爆破,ms12-020
tcp 3690 SVN svn泄露,未授权访问
tcp 4848 GlassFish 弱口令
tcp 5000 Sybase/DB2 爆破,注入
tcp 5432 PostgreSQL 爆破,注入,弱口令
tcp 5900,5901,5902 VNC 弱口令爆破
tcp 5984 CouchDB 未授权导致的任意指令执行
tcp 6379 Redis 可尝试未授权访问,弱口令爆破
tcp 7001,7002 WebLogic Java反序列化,弱口令
tcp 7778 Kloxo 主机面板登录
tcp 8000 Ajenti 弱口令
tcp 8443 Plesk 弱口令
tcp 8069 Zabbix 远程执行,SQL注入
tcp 8080-8089 Jenkins,JBoss 反序列化,控制台弱口令
tcp 9080-9081,9090 WebSphere Java反序列化/弱口令
tcp 9200,9300 ElasticSearch 远程执行
tcp 11211 Memcached 未授权访问
tcp 27017,27018 MongoDB 爆破,未授权访问
tcp 50070,50030 Hadoop 默认端口未授权访问
PS:个人感觉8888端口也比较容易出现管理后台,可以尝试弱口令爆破一波
十、Nmap
Nmap是一个网络连接端口扫描软件,用来扫描网上电脑开放的网络连接端口。确定哪些服务运行在哪些连接端口,并且推断计算机运行哪个操作系统。它是网络管理员必用的软件之一,以及用以评估网络系统安全。 功能: 1、 主机发现 2、 端口扫描 3、 版本侦测 4、 OS侦测
nmap工具的使用会在另一篇博客提到,就不在这里细说了。
十一、旁站C段查询
旁站:是和目标网站在同一台服务器上的其它的网站。
旁注:通过入侵安全性较差的旁站,之后可以通过提权跨目录等手段拿到目标服务器的权限。
工具:K8_C段旁注工具、WebRobot、御剑、明小子 …
C段:每个IP有ABCD四个段,也就是说是D段1-255中的一台服务器,然后利用工具嗅探拿下该服务。比如192.168.3.0-255的设备都处于同一个c段。
C段入侵:目标ip为192.168.1.128,可以入侵192.168.1.*的任意一台机器,然后利用一些黑客工具嗅探获取在网络上传输的各种信息。
工具:Cain、Sniffit 、Snoop、Tcpdump、Dsniff …
十二、其他信息
Web敏感文件 robots.txt、crossdomin.xml、sitemap.xml、源码泄漏文件 …
WAF信息 WAF识别大多基于Headers头信息,还可以使用Wafw00f,Sqlmap的waf脚本,Nmap的http-waf-detect和http-waf-fingerprint脚本等等。
相关漏洞 漏洞查询站点:exploitdb、hackerone、CNVD、0day5、乌云漏洞库镜像站 …
今天文章到此就结束了,感谢您的阅读。