渗透测试之信息搜集

Christsam 2019-06-28

渗透测试执行标准 PTES(Penetration Testing Execution Standard)
  1. 前期交互 Pre-engagement Interactions
  2. 情报收集 Intelligence Gathering
  3. 威胁建模 Threat Modeling
  4. 漏洞分析 Vulnerability Analysis
  5. 渗透攻击 Exploitation
  6. 后渗透攻击 Post Exploitation
  7. 报告 Reporting

信息收集

一、简介

信息搜集是对目标系统的探查,包括获知它的行为模式、运行机理,以及最终可以如何攻击。

主要分为主动信息搜集和被动信息搜集。

  • 主动信息搜集:与目标主机进行直接交互,从而拿到目标信息,缺点是会记录自己的操作信息。
  • 被动信息搜集:不与目标主机进行直接交互,通过搜索引擎或者社会工程等方式间接的获取目标主机的信息。

二、搜索引擎

1. Google hacking

常用搜索语法:

  • intitle:KEYWORD //搜索网页标题中含有关键词的网页
  • intext:KEYWORD //搜索站点正文中含有关键词的网页
  • inurl:KEYWORD //搜索URL中包含有指定字符串的网址
  • inurl:php?id= //搜索PHP网页
  • site:DOMAIN //在指定站点内查找相关的内容
  • filetype:FILE //搜索指定类型的文件

2. Shodan

Shodan与Google这种搜索网址的搜索引擎不同的是,Shodan是用来搜索网络空间中在线设备的。

  • hostname: //搜索指定的主机或域名
  • port: //搜索指定的端口或服务
  • country: //搜索指定的国家
  • city: //搜索指定的城市
  • org: //搜索指定的组织或公司
  • isp: //搜索指定的ISP供应商
  • product: //搜索指定的操作系统/软件/平台
  • version: //搜索指定的软件版本
  • geo: //搜索指定的地理位置,参数为经纬度
  • before/after: //搜索指定收录时间前后的数据,格式为dd-mm-yy
  • net: //搜索指定的IP地址或子网

3. Zoomeye

ZoomEye是一款针对网络空间的搜索引擎,收录了互联网空间中的设备、网站及其使用的服务或组件等信息。

用户手册:https://www.zoomeye.org/help

三、企业信息

1. 天眼查

天眼查是一款“都能用的商业安全工具”,根据用户的不同需求,实现了企业背景、企业发展、司法风险、经营风险、经营状况、知识产权方面等多种数据维度的检索。

2. 企业信用信息公示系统

3. 工业和信息化部ICP/IP地址/域名信息备案管理系统

四、whois信息

whois(读作“Who is”,非缩写)是用来查询域名的IP以及所有者等信息的传输协议。
whois信息可以获取关键注册人的信息,包括注册商、联系人、联系邮箱、联系电话、创建时间等,可以进行邮箱反查域名,爆破邮箱,社工,域名劫持等等。

常用的工具有:站长工具爱站微步在线 ...

渗透测试之信息搜集

五、子域名收集

子域名收集可以发现更多渗透测试范围内的域名/子域名,以增加漏洞发现机率;探测到更多隐藏或遗忘的应用服务,这些应用往往可导致一些严重漏洞。

常用的工具有:子域名挖掘机Layer、subDomainsBrute、Dnsenum、Dnsmap ...

六、真实IP获取

现在大多数的网站都开启了CDN加速,导致我们获取到的IP地址不一定是真实的IP地址。

CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
  1. 多地Ping法:由CDN的原理,不同的地方去Ping服务器,如果IP不一样,则目标网站肯定使用了CDN。多个地点Ping服务器-站长工具
  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. 指定路径下指定名称的js文件或代码。
  2. 指定路径下指定名称的css文件或代码。
  3. <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文件中的关键字
  13. 404页面
  14. 302返回时的旗标

工具:Whatweb、httprint、云悉BugScanner ...

八、端口扫描

扫描端口可以使用Nmap,masscan进行扫描探测,尽可能多的搜集开启的端口好已经对应的服务版本,得到确切的服务版本后可以搜索有没有对应版本的漏洞。

常见的端口信息及渗透方法:

端口服务渗透用途
tcp 20,21FTP允许匿名的上传下载,爆破,嗅探,win提权,远程执行(proftpd 1.3.5),各类后门(proftpd,vsftp 2.3.4)
tcp 22SSH可根据已搜集到的信息尝试爆破,v1版本可中间人,ssh隧道及内网代理转发,文件传输等等
tcp 23Telnet爆破,嗅探,一般常用于路由,交换登陆,可尝试弱口令
tcp 25SMTP邮件伪造,vrfy/expn查询邮件用户信息,可使用smtp-user-enum工具来自动跑
tcp/udp 53DNS允许区域传送,dns劫持,缓存投毒,欺骗以及各种基于dns隧道的远控
tcp/udp 69TFTP尝试下载目标及其的各类重要配置文件
tcp 80-89,443,8440-8450,8080-8089各种常用的Web服务端口可尝试经典的topn,vpn,owa,webmail,目标oa,各类Java控制台,各类服务器Web管理面板,各类Web中间件漏洞利用,各类Web框架漏洞利用等等……
tcp 110POP3可尝试爆破,嗅探
tcp 111,2049NFS权限配置不当
tcp 137,139,445Samba可尝试爆破以及smb自身的各种远程执行类漏洞利用,如,ms08-067,ms17-010,嗅探等……
tcp 143IMAP可尝试爆破
udp 161SNMP爆破默认团队字符串,搜集目标内网信息
tcp 389LDAPldap注入,允许匿名访问,弱口令
tcp 512,513,514Linux rexec可爆破,rlogin登陆
tcp 873Rsync匿名访问,文件上传
tcp 1194OpenVPN想办法钓VPN账号,进内网
tcp 1352Lotus弱口令,信息泄漏,爆破
tcp 1433SQL Server注入,提权,sa弱口令,爆破
tcp 1521Oracletns爆破,注入,弹shell…
tcp 1500ISPmanager弱口令
tcp 1723PPTP爆破,想办法钓VPN账号,进内网
tcp 2082,2083cPanel弱口令
tcp 2181ZooKeeper未授权访问
tcp 2601,2604Zebra默认密码zerbra
tcp 3128Squid弱口令
tcp 3312,3311kangle弱口令
tcp 3306MySQL注入,提权,爆破
tcp 3389Windows rdpshift后门[需要03以下的系统],爆破,ms12-020
tcp 3690SVNsvn泄露,未授权访问
tcp 4848GlassFish弱口令
tcp 5000Sybase/DB2爆破,注入
tcp 5432PostgreSQL爆破,注入,弱口令
tcp 5900,5901,5902VNC弱口令爆破
tcp 5984CouchDB未授权导致的任意指令执行
tcp 6379Redis可尝试未授权访问,弱口令爆破
tcp 7001,7002WebLogicJava反序列化,弱口令
tcp 7778Kloxo主机面板登录
tcp 8000Ajenti弱口令
tcp 8443Plesk弱口令
tcp 8069Zabbix远程执行,SQL注入
tcp 8080-8089Jenkins,JBoss反序列化,控制台弱口令
tcp 9080-9081,9090WebSphereJava反序列化/弱口令
tcp 9200,9300ElasticSearch远程执行
tcp 11211Memcached未授权访问
tcp 27017,27018MongoDB爆破,未授权访问
tcp 50070,50030Hadoop默认端口未授权访问

九、旁站C段查询

旁站:是和目标网站在同一台服务器上的其它的网站。
旁注:通过入侵安全性较差的旁站,之后可以通过提权跨目录等手段拿到目标服务器的权限。
工具:K8_C段旁注工具、WebRobot、御剑、明小子 ...

C段:是和目标机器ip处在同一个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、乌云漏洞库镜像站 ...

相关推荐