-
为什么要进行信息收集
信息收集对于渗透测试前期来说是非常重要的,如果没有信息收集,后面渗透测试的范围就很盲目。因为只有我们掌握了目标网站或目标主机足够多的信息之后,我们才能更好地对其进行漏洞检测。
-
信息收集的种类
外围信息收集
主动信息收集
web应用敏感信息收集
课程以www.testfire.net为目标 ,testfire.net是一个模拟银行网站 ,上面会有很多常见的web安全漏洞
1.外围信息收集
-
1.1 DNS信息
在收集DNS信息的时候,主要关注域名注册商,管理员联系方式,电话和邮箱,子域名等信息
1.1.1Whois查询
whois查询域名信息数据库,属于公开的渠道,域名信息有时候会隐藏
利用集成在kali下的小工具whois来查询域名注册信息
1.1 2Whois反查
除了利用whois查询外,还可以进行whois反查。
whois反查 | 说明 |
---|---|
邮箱反查 | 这些邮箱注册过哪些域名 |
电话反查 | 这个电话注册过哪些域名 |
注册人反查 | 这个注册人注册过哪些域名 |
-
1.2子域名查询
子域名就是比所指域名低一个级别的域名,利用如下工具查询子域名:
利用HTTPS证书
利用搜索引擎
子域名爆破:利用字典进行爆破
工具:
子域名挖掘机
-
1.3 DNS to IP
通过DNS解析找到IP地址
通过ping命令
nslookup
dig
dnsenum
利用网站工具
-
CDN问题
CDN也叫内容分发网络,相当于代理。做域名解析的时候解析到的不是真实ip地址,而是CDN服务器,同一个域名会解析多个ip地址
1.提高访问速度,服务器在北京,设置一个镜像节点在广东,广东的IP访问域名解析的时候,优先解析到广东的CDN节点,因为做的是镜像,提供服务是一样的 2.安全性高,可以抵抗大流量
如何绕过CDN找到真实的IP地址呢?思路如下:
1.多地ping看是否有cdn
2.邮件订阅
3.二级域名可能不会做cdn
4.nslookup http://xxx.com 国外dns
5.查找域名历史解析记录
6.一个网站有icon 可以根据icon hash 来查找真实IP
-
1.5利用搜索引擎收集信息
-
传统的搜索引擎:
利用搜索引擎的语法,达到精准搜索信息的目的
Google Hacking
-
bing用法:
功能 | 语法 |
---|---|
检索标题中含有关键词的网页 | intitle:百度 |
检索url中包含关键词的网页 | inurl:php?id=1 |
检索某个正文中含有关键词的网页 | intext:"后台登录"、intext:login |
搜索范围限定在特定的站点中 | site:testfire.net |
限定搜索文件类型 | filetype:php |
搜索允许目录浏览的网页 | index of /admin |
搜索phpinfo() | intext:PHP version ext:php、intext:allow_url_include intext:php.in |
........ |
搜索语法可以组合使用
-
网络空间搜索引擎:
app:"Apache httpd" +os:"linux" +country:"china" +city:"changsha" site:baidu.com
-
1.5网站信息
基本信息、网页信息、组件信息、相关漏洞等信息
2.主动信息收集
-
2.1Namp介绍
Nmap被称为"扫描神器"
Nmap用于列举网络主机清单、管理服务升级调度、监控主机或服务运行状况。Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。
部分命令如下:
-sP ping扫描(跳过端口检测)
-P 指定端口扫描
-sT TCP全连接扫描
-sS SYN半连接扫描
-sF FIN扫描
-A 全面扫描
-T1、T2、T3... 扫描速度
......
-
2.2主机发现
收集主机信息时,对活动主机的探测是扫描工作的第一步,主机发现是为了确认主机是否存活
有两种方式确定存活主机:
网段内存活的ip地址
根据MAC地址找到IP地址
Nmap ping扫描
利用Namp工具,通过ping测试发现存活主机,跳过端口扫描
namp -sP 192.168.175.144/24
-
2.3端口扫描
向目标主机的某个端口,发送建立链接的请求,如果对方开放了这个端口,就会响应;如果没有没开放,则不会响应。根据这个原理,向一些常用的端口逐个建立链接,就能知道对方开放了哪些端口。
简单扫描
默认扫描TOP1000常见的端口
nmap 192.168.175.144
指定端口扫描
namp -p 192.168.175.144 80 nmap -p 192.168.175.144 80,3389 nmap -p 192.168.175.144 1-100
3.web应用敏感信息收集
-
web应用指纹信息
在web应用开发过程中,通常会使用一下现成的CMS、框架等来提高开发的高效性,这些信息也将会为我们进行渗透测试时提供思路
-
信息泄露
搜索引擎可以通过robots文件可以获知哪些页面可以爬取,哪些页面不可以爬取
-
网站源代码泄露:
git源码泄露
Git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个.git目录,用来记录代码的变更记录等。发布代码的时候,如果没有把.git这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码
例如攻防世界-mfw,git源码泄露
其他形式的源码泄露:
SVN 源码泄露
hg源码泄漏
CVS泄露
Bazaar/bzr泄露
网站备份压缩文件
WEB-INF/web.xml 泄露
DS_Store 文件泄露
SWP 文件泄露