渗透测试之信息收集(上篇)

信息收集(知己知彼,百战不殆)

网络空间被誉为“第五空间”,在此空间发生的对抗已经愈演愈烈。而网络空间中应用最为广泛的web应用的安全问题,已经关系到国际民生,所以web安全是重中之重。
强调安全不简单强调防御,而应该从攻击者的角度,思考安全,所以web渗透测试犹为重要,即“未知攻,焉之防”。
既然是攻击者的角度思考防御,那么攻击的手段是多种多样的。若要发起一次成功的攻击,在攻击之前,对目标的全方位的了解是非常重要的。所以信息收集,对于攻击能否成功,起到至关重要的作用。很多时候,精准的信息收集,已经是攻击成功的一半,甚至更多。
既攻击的目标是web应用,那么对于web应用的方方面面的信息,都要尽可能详细准确的收集到。

一、对于一个web应用的信息收集,主要包包括以下方面。

    1.服务器的相关信息
     常规服务器的信息包括:真实的IP地址、服务器操作系统类型及版本、补丁、开放的端口,是否存在网络应用防火墙(waf)
   2.web指纹识别
    其主要包括:CMS及版本,是否CDN、证书,DNS记录
   3.whois信息
   主要包括:web注册人姓名,备案,邮箱,电话反查,从中有可能直接获得管理员名或者通过邮箱反查,能够找到该邮箱注册的其它社交账号。
   4.子域名、旁站、C段收集
   5.利用googlehack有针对性搜索。如PDF文件、编辑器类型、中间件版本、弱口令扫描。
   6.web应用的目录结构,后台,banner,测试文件,备份等第三文件
   7.传输协议、通用漏洞、github源码等
   4.总结下。对于信息收集,我的思路是1域名(子域名)-2服务器()-3文件

二、信息收集的方法

一、域名及子域名
1、首先,利用站长工具(http://tool.chinaz.com/),将获得的域名,真接丢进whois查询
渗透测试之信息收集(上篇)_第1张图片
注册人whois反查,查看该注册人都注册了什么
渗透测试之信息收集(上篇)_第2张图片
邮箱反查。查询该邮箱都注册了什么域名
渗透测试之信息收集(上篇)_第3张图片
站长工具其实是一个非常好的查询利器,而且还包括很多小工具,居家旅行必备。_
kali下有一个whois工具,类似于站长工具,不过是英文
我们可以通过whois工具进行查询
渗透测试之信息收集(上篇)_第4张图片

二、在我们得到该域名的注册人信息之后,可以查询该域名的备案信息
1,天眼查
2、企查查
3、ICP备案
4、微步社区(与站长工具类似,需要注册才能查询更多信息)
通过企业注册信息查询,有时可以获得注册人的很多个人信息,通过爆破、社工等能深入获得很多非常重要的信息,故要特别关注。
三、域名DNS信息收集
1、通过在线工具
https://tool.lu/dns
http://tool.chinaz.com/dns/
更多在线工具
渗透测试之信息收集(上篇)_第5张图片
备注:在线工具的使用能够帮助我们节省很多时间,有的时候攻击就是敌我双方时间上的较量,毕竟很多本地工具其实也是访问了网络上面相应的接口,而且有些工具使用前还需要一些配置等。

2、通过本地工具
dns记录查询:强烈推荐dnsrecon
渗透测试之信息收集(上篇)_第6张图片
nslookup的使用: 使用 set type 可指定查询记录的类型,通常类型有(A,NS,MX)。(非权威解答)
渗透测试之信息收集(上篇)_第7张图片
使用dig工具。(权威解答)

渗透测试之信息收集(上篇)_第8张图片
四、域名CDN
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。我的简单理解就两条:1是可以一定程度防御DDOS;2是可以提高用户访问速度
判断是域名是否有CDN, 我经常使用http://www.17ce.com,利用多点PING的方式,查看目标是否有CDN
渗透测试之信息收集(上篇)_第9张图片
这也是一个功能很全面的在线工具
渗透测试之信息收集(上篇)_第10张图片
我们可以很直观的通过这个图看到全国各个结点ping目标时反馈的IP解析信息。如果解析都是不同的,则判断该域名存在CDN
上述几个方面,都是为了从各个角度获得域名的真实IP,此外,绕过CDN的方法还可以:
1.内部邮箱资源
一般邮件系统都在系统内部,没有经过CDN,通过注册或者RSS订阅收到邮件的查找。(必须是目标自己的邮件服务系统)
2.子域名
子域名一般不挂CDN
3.国外访问 https://asm.ca.com/en/ping.php
一般CDN只针对国内,国外不好说
4.查询域名的历史解析记录:https://www.netcraft.com
也许目标很久以前没用过CDN

五、网站证书查询(本人很菜,暂时还不知道怎么利用证书!_
4
六、ASN号码查询: 用于查找域的网络块 https://bgp.he.net/ 查询后记下编号,然后Nmap扫描。(这个还不太了解,找时间学习一下-
渗透测试之信息收集(上篇)_第11张图片
七、WAF识别: 我推荐利用工具 (GitHub下载地址:https://github.com/EnableSecurity/wafw00f)
渗透测试之信息收集(上篇)_第12张图片
WAF(网络应用防火墙),这真是个好东东,对于渗透小白来说,简直就是噩梦。¥%……——##%

八、指纹识别
指纹识别首选云悉 http://www.yunsee.cn/finger.html, 一个包含了许多指纹信息的在线工具。指纹识别首选云悉 http://www.yunsee.cn/finger.html, 一个包含了许多指纹信息的在线工具。指纹识别首选云悉 http://www.yunsee.cn/finger.html, 一个包含了许多指纹信息的在线工具。重要的事情讲三遍
在线指纹识别。指纹识别还可以利用工具(如:御剑指纹)
6

九、网络空间搜索引擎
目前主流有四个:
1、钟馗之眼 www.zoomeye.org/
2、censys
3、shodan
4、fofa
这是freebuf某位大佬分享的关于对这个搜索引擎的详细介绍https://www.weiwenku.org/d/316952
搜索引擎不同于浏览器,功能很强大,目前玩得不多,没有太多自己的体会。故摘抄部分网上某大佬分享的使用方法
shodan(撒旦)的搜索摄像头的语法。目前IOT越来越火爆,对于设备安全也格外关注,所以搜索设备越来越不方便。
http.favicon.hash:icon批量搜索冒号后面跟每个公司的icon值,例如: http.favicon.hash:-1083632446,这是所有带百度logo的主机,-1083632446就是百度的icon值。
port:搜索端口,例如:port:“22”。
org:搜索ip所属组织机构,例如:org:“baidu”。
OS:搜索操作系统类型,例如:OS:“windows”。
http.server:搜索http请求返回中server的类型,例如:http.server:apache。
http.status:搜索http请求返回响应码的状态,例如:http.status:200。
city:搜索指定城市,例如:city:“beijing”。
country:搜索指定国家,例如:country:“cn”。
hostname:搜索指定的主机或域名,例如:hostname:“baidu”。
product:搜索指定的操作系统/软件/平台,例如:product:“Apache httpd”。
vuln:CVE漏洞编号,例如:vuln:CVE-2014-0723。
net:搜索一个网段,例如:123.23.1.0/24。

几个搜索摄像头的语法如下:

  1. Basic realm=“IP Camera” Country:CN
  2. JAWS/1.0
  3. Camera Country:CN
  4. webcam country:cn
  5. Webcam Server -Authenticate
  6. MikroTIKs-webs
  7. IP camera
  8. NVR Webserver country:cn
  9. Hikvision-webs
  10. server GNU rsp/1.0

钟馗之眼(zoomeye),侧重于web容器,指纹的搜索。
app:组件名称,例如:app:apache。
ver:组件版本,例如:ver:2.0。
OS:操作系统,例如:os:window。
Service:服务名称,例如:service:。
Cidr:网段,例如:cidr:192.168.1.1/24。
Devic:设备名,例如:devic:router。
keyword:关键字查询,例如:keyword:technology。
指纹搜索:例如:php app:dedecms var:5.7。
尝试弱口令:例如:php app:phpmyadmin。
搜索摄像设备:1.DVRDVS-Webs,2.JAWS等等。

fofa。国内资源搜索引擎非常强大,重点推荐。
domain= 搜索根域名带有xx的网站。例:domain=“baidu.com”
host=从url中搜索网站注意搜索要用host作为名称。例:host= “.edu.cn”
port= 查找对应443端口的资产。例:port=3389
protocol= 搜索制定协议类型(在开启端口扫描的情况下有效)。例:protocol=ssh
cert=搜索证书(https或者imaps等)中带有域名的资产。例:cert=baidu.com
banner= 搜索协议中带有账户文本的资产。例:banner=users && protocol=ftp
type=搜索所有协议资产,支持subdomain和service两种。例:type=servicce
server== 搜索服务器、中间件名称。例:server=apache
高级语法需要用管道符连接如: ‘|| ‘ ‘&&’,如下:
title!=“powered by” && body=discuz 查询指定cms的管理系统
body=”后台”&&domain=”xxx.com” 查询指定域名的后台
Header=”Hikvision” 找摄像头
果真佛法无边
FOFA网络空间资产搜索引擎使用指南,安全客某位大佬分享的关于FOFA的使用说明,咱们也临时抱抱佛脚https://www.anquanke.com/post/id/84865

十、子域名收集(主站防护比较强大,可以从子域名入手)
可以利用子域名挖掘机(layer),顺便还可以看看有无CDN以及中间件是什么
还可以利用在线工具:https://phpinfo.me/domain

十一、端口扫描
通过端口扫描,可以发现目标是否存在某些服务或者漏洞
1、在线工具
http://coolaf.com/tool/port
http://old.tool.chinaz.com/port/
http://tool.cc/port/
https://tool.lu/portscan/
2、nmap
利用nmap进行端口扫描:nmap是十分强大扫描工具,它主要用于端口扫描,此外还可进行漏洞扫描。此工具是每个安全从业者必须熟练掌握的工具。在此详细说明
nmap常用及进阶命令
一、NMAP常用及进阶
参数速查表
参数(注意区分大小写) 说明
-sT TCP connect()扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息。
-sS 半开扫描,很少有系统能把它记入系统日志。不过,需要Root权限。
-sF -sN 秘密FIN数据包扫描、Xmas Tree、Null扫描模式
-sP ping扫描,Nmap在扫描端口时,默认都会使用ping扫描,只有主机存活,Nmap才会继续扫描。
-sU UDP扫描,但UDP扫描是不可靠的
-sA 这项高级的扫描方法通常用来穿过防火墙的规则集
-sV 探测端口服务版本
-Pn 扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项进行扫描
-v 显示扫描过程,推荐使用
-h 帮助选项,是最清楚的帮助文档
-p 指定端口,如“1-65535、1433、135、22、80”等
-O 启用远程操作系统检测,存在误报
-A 全面系统检测、启用脚本检测、扫描等
-oN/-oX/-oG 将报告写入文件,分别是正常、XML、grepable 三种格式
-T4 针对TCP端口禁止动态扫描延迟超过10ms
-iL 读取主机列表,例如,“-iL C:\ip.txt”

1、扫描单个目标
nmap ip
如:nmap 192.168.0.101
2、扫描多个目标
nmap ip1 ip2 适用于目标地址不再同一个网段或在同一网段不连续且数量不多的情况。
如:nmap 192.168.0.101 192.168.0.110
3、扫描一个范围内的目标
nmap xxx.xxx.xxx.xxx-xxx
如:nmap 192.168.0.100-110
4、扫描目标地址所在某网段
namp xxx.xxx.xxx.xxx/xx
如:nmap 192.168.0.1/24
5、扫描包含主机列表的文件中的所有地址
nmap -iL
如:nmap -iL /root/target.txt
6、扫描除了一个目标地址之外的所有地址
nmap ip段 -exclude 被排除的ip
如:nmap 192.168.0.100-110 -exclude 192.168.0.103
nmap 192.168.0.1/24 -exclude 192.168.0.103
7、扫描除了某一个文件中的地址之外的所有地址
nmap ip段 -excludefile
如:nmap 192.168.0.100-110 -excludefile /root/targets.txt
nmap 192.168.0.1/24 -excludefile /root/targets.txt
8、扫描目标地址的指定端口
nmap ip -p 端口1,端口2,端口3……
如:nmap 192.168.0.101 -p 80,8080,3306,3389
9、对目标地址进行路由跟踪
nmap --traceroute ip
如:nmap --traceroute 192.168.0.101
10、扫描目标地址C段的在线主机
nmap -sP ip段
如:nmap -sP 192.168.0.1/24
11、扫描目标地址进行操作系统版本
nmap -O ip
如:nmap -O 192.168.0.101
12、扫描目标所开放的全部端口(半开式)
nmap -sS -p 端口号-多个用逗号(,)隔开 -v ip
如:nmap -sS -p 1-65535 192.168.0.101
13、扫描目标地址开放服务(端口)版本
nmap -sV ip
如:nmap -sV 192.168.0.101
14、探测防火墙
nmap -sF -T4 ip
如:nmap -sF -T4 192.168.0.101
14、绕过防火墙进行全面扫描
nmap -Pn -A ip
如:nmap -Pn -A 192.168.0.101

进阶用法-advanced

nmap --script=xx 使用某个脚本进行扫描
1、弱口令扫描
nmap --script=auth ip 对某个主机或某网段主机的应用进行弱口令检测
如:nmap --script=auth 192.168.0.101
2、暴力破解
nmap --script=brute ip 可以对胡句酷、MB、SNMP等进行简单的暴力破解
如:nmap --script=brute 192.168.0.101
3、扫描常见漏洞
nmap --script=vuln ip
如:nmap --script=vuln 192.168.0.101
4、使用脚本进行应用服务扫描
nmap --script=xxx ip 对常见应用服务进行扫描 如:VNC、MySQL、Telnet、Rync等服务
如VNC服务:nmap --script=realvnc-auth-bypass 192.168.0.101
5、探测局域网内服务开放情况
nmap -n -p xxx --script=broadcast ip
如:nmap --script=broadcast 192.168.0.101
6、Whois解析
nmap -script external url
如:nmap -script external baidu.com
7、扫描Web敏感目录
nmap -p 80 --script=http-enum.nse ip
nmap -p 80 --script=http-enum.nse 192.168.0.101

利用nmap还可以指扫描端口和漏洞
1.我们先利用在线工具将目标站所有子域名爆破出来
2.然后提取其中的域名和IP,并保存为一个txt文件`
3.利用命令nmap -iL 目标.txt --script=auth,vuln,ftp-brute,imap-brute,smtp-brute,pop3-brute,mongodb-brute,redis-brute,ms-sql-brute,rlogin-brute,rsync-brute,mysql-brute,pgsql-brute,oracle-sid-brute,oracle-brute,rtsp-url-brute,snmp-brute,svn-brute,telnet-brute,vnc-brute,xmpp-brute > 结果.txt

这里再加入一些常用工具网站
1

其它信息收集:
lbd检测负载均衡: 检测指定网站后台,是否开启了负载均衡。
渗透测试之信息收集(上篇)_第13张图片
搜索引擎查找: 如下命令查找公司是lyshark的数据查询前500条,并使用bing.com引擎查询。
渗透测试之信息收集(上篇)_第14张图片
TraceRoute: 测试网络命令 linux上是traceroute win10上是tracert(路由跟踪,这是测试从本机到目标站点,中间经过了多少个结点,我觉得 很重要)
渗透测试之信息收集(上篇)_第15张图片
十二、目录结构扫描
常用目录扫描工具。wwwscan、御剑等工具,具体使用百度自行搜索。
利用谷歌语法也可搜索目录后台及敏感文件

DirMap页面爬取(据说很强大)
渗透测试之信息收集(上篇)_第16张图片
这里有篇关于dirmap使用的文章,可以拜读:http://www.freebuf.com/sectool200890.html

十三、C段收集:c段的话我一般都是使用iis put这款工具来扫描,可以自定义扫描1-255的端口并且还有返回服务器banner信息。`还可自定义端口
十四、旁站查询
在线工具:http://s.tool.chinaz.com/same
https://phpinfo.me/bing.php
K8:https://github.com/k8gege/K8CScan

目前本人就掌握这些基本的信息收集,内容整体是原创的,但是引用很多网络文献,在此感谢各位大佬的无私奉献。此文章主要还是用于自己在日常学习中方便查询的,故大佬莫喷,后续有了新的体会会持续更新

你可能感兴趣的:(信息收集)