在对一个站进行渗透测试的过程中,信息收集是非常重要的。信息收集的详细与否可能决定着此次渗透测试的成功与否。本文详细介绍信息收集的八大方法,快来Get吧
《渗透测试最强秘籍》系列文章将会按以下主题陆续分享给大家,欢迎大家持续关注绿盟科技博客!
测试对象:testphp.vulnweb.com
尝试在谷歌中搜索:“site: testphp.vulnweb.com”,得到基本的爬虫结果如下:
使用查询发现了更多有用的信息:
参考:
http://www.mrjoeyjohnson.com/Google.Hacking.Filters.pdf
Web 服务器指纹是渗透测试的关键任务。了解正在运行的 web 服务器的版本和类型能够让测试人员确定已知的漏洞以及在测试过程中使用适当的方法。
a)黑盒测试:
确认web 服务器身份的最简单最基本的方式是利用netcat查看 HTTP 响应报头中的服务器字段。
b)测试对象:
nc google.com 80
GET
/ HTTP/1.1
Host: google.com
enter
enter
c)自动测试工具:
httprint, Burpsuite
d)在线测试:
https://www.netcraft.com/
e)示例:
参考:
网络蜘蛛/机器人/爬虫检索 (访问) 一个网页, 然后递归遍历超链接, 以检索进一步的 web 内容。他们的行为是由web根目录中robots.txt文件的Robots Exclusion Protocol指定的。
测试对象:abc.com/robots.txt
工具: 利用wget(例如: wget http://google.com/robots.txt)
参考:http://www.robotstxt.org/
示例:http://local/mutillidae/robots.txt
Tag位于每个 HTML 文档的 HEAD 部分, 并且应该在一个 web 站点上的下述事件中保持一致:机器人/蜘蛛/爬虫的起始点不是从 webroot 以外的文档链接开始的。
网络蜘蛛/机器人/爬虫可以故意忽略 “<META NAME=”ROBOTS”>” tag。
工具: BurpSuite
a) url:
b) 端口:
最基本和最简单的方法是使用端口扫描仪 (如 nmap)。例如:
nmap 0-65535 192.168.1.1
c) 域名:
cmd
nslookup
all
set type=all
example.com
http://searchdns.netcraft.com/?host
-Domain tools reverse IP: http://www.domaintools.com/reverse-ip/ (require free
membership)
– MSN search: http://search.msn.com syntax: “ip:x.x.x.x” (without the quotes) o webhosting info: http://whois.webhosting.info/
-DNSstuff: http://www.dnsstuff.com/
d) 谷歌hack技术
示例:
e) 工具
对于程序员来说, 在源代码中添加详细注释和元数据是非常普遍的,甚至是推荐的。但是, HTML 代码中包含的注释和元数据可能会对潜在攻击者暴露内部信息。应对源代码中的注释和元数据进行审查以确定是否泄露了任何信息。
工具:
请求:
响应:
工具:
一些注意事项:
在开始安全测试之前, 了解应用程序的结构是至关重要的。如果不彻底了解应用程序的布局, 就不可能对其进行彻底的测试。
a)测试目的
b)自动蜘蛛工具
c)自动化蜘蛛示例
Web 框架指纹是信息采集过程中的一个重要子任务。了解框架的类型会有很大的优势,特别是当这种类型已经被渗透测试过。不仅是版本中已知的漏洞使得指纹处理如此重要, 框架以及已知文件结构中的特定错误同样如此。
a) 黑盒测试
为了定义当前框架, 有几个最常见的位置可供查找
b) HTTP 标头
c) Cookies
确定当前 web 框架的另一个类似的、更可靠的方法是特定框架的 cookie。
d) HTML 源代码
此技术基于在 HTML 页面源代码中查找某些模式。我们可以找到很多信息, 帮助测试人员识别特定的 web 应用程序。
e)特定文件和文件夹
每个应用程序在服务器上都有自己的特定文件和文件夹结构。我们可以使用工具或手动访问它们。
f)Dirbusting 示例
https://www.exploit-db.com/ghdb/4675/
g)常见应用程序标识符
h)Nikto
i)Whatweb
https://packetstormsecurity.com/files/download/146830/web-application-security-testing.pdf