信息收集
信息搜集是渗透测试的最重要的阶段,占据整个渗透测试的60%,可见信息搜集的重要性。根据收集的有用信息,可以大大提高我们渗透测试的成功率。
信息搜集的分类
1、主动式信息搜集(可获取到的信息较多,但易被目标发现)
2、通过直接发起与被测目标网络之间的互动来获取相关信息,如通过Nmap扫描目标系统。
3、被动式信息搜集(搜集到的信息较少,但不易被发现)
4、通过第三方服务来获取目标网络相关信息。如通过搜索引擎方式来搜集信息。
横向信息收集
- 1.whois信息
whois是用来查询域名的IP以及所有者等信息的传输协议。
whois信息可以获取关键注册人的信息,包括注册商、联系人、联系邮箱、联系电话、创建时间等,可以进行邮箱反查域名,爆破邮箱,社工,域名劫持,寻找旁站等等。
工具:
站长之家:http://whois.chinaz.com
Bugscaner:http://whois.bugscaner.com
国外在线:https://bgp.he.net
微步:https://x.threatbook.cn/
利用方式:- 在社工库查询邮箱和手机号,若查到,可尝试登陆服务器商或域名商。
- 利用注册人电话,邮箱等信息通过自由拼接组合成针对网站的社工字典。最后利用字典进行爆破或社工钓鱼,也可用过邮箱和手机号反查找到更多注册域名。
- DNS解析记录可以查ip,查NS、mx邮件交换记录。
- MX记录是邮件服务交换记录,邮件服务经常搭建在目标办公网络,可以让快速我们定位目标核心区域并展开渗透。
还有可查一些企业备案信息,方式有:
天眼查:https://www.tianyancha.com/
ICP备案查询网:http://www.beianbeian.com/
国家企业信用信息公示系统:http://www.gsxt.gov.cn/index.html
-
2.域名信息收集
往往在主站找不到突破口的时候,我们从子域名入手,有时候你会发现惊喜就到了
小技巧:在GitHub 可以搜索子域名。-
1.Google hacking语法查询
- 通过Google和百度这样的搜索引擎进行搜索,语法如下所示。能找到目标特定的域名。
intitle:搜索网页标题中包含有特定字符的网页。
inurl:搜索包含有特定字符的URL。
intext: 搜索网页正文内容中的指定字符
Filetype: 搜索指定类型的文件。
Site:找到与指定网站有联系的URL。
查找后台地址:site:域名 inurl:login|admin|manage|member|admin_login|login_admin|system|login|user|main|cms
查找文本内容:site:域名 intext:管理|后台|登陆|用户名|密码|验证码|系统|帐号|admin|login|sys|managetem|password|username
查找可注入点:site:域名 inurl:aspx|jsp|php|asp -
2.通过shodan、zoomeye、fofa等浏览器进行子域名查询。 同样是查找特定域名。
-
fofa:FOFA是白帽汇推出的一款网络空间资产搜索引擎。它能够帮助用户迅速进行网络资产匹配、加快后续工作进程。例如进行漏洞影响范围分析、应用分布统计、应用流行度排名统计等。
语法:domain="qq.com" 搜索根域名带有qq.com的网站。
title="abc" 从标题中搜索abc。
header="abc" 从http头中搜索abc。
host=".gov.cn" 从url中搜索.gov.cn,注意搜索要用host作为名称。
city="Beijing" 搜索指定城市的资产。
region="Zhejiang" 搜索指定行政区的资产。
body="abc" 从html正文中搜索abc。
country="CN" 搜索指定国家(编码)的资产。
高级搜索:可以使用括号 和 && || !=等符号,如
title="powered by" && title!=discuz
title!="powered by" && body=discuz
( body="content="WordPress" || (header="X-Pingback" && header="/xmlrpc.php" && body="/wp-includes/") ) && host="gov.cn"
新增==
完全匹配的符号,可以加快搜索速度,比如查找qq.com所有host,可以是domain=="qq.com"
app="海康威视-视频监控" 搜索海康威视设备. -
zoomeye:钟馗之眼,侧重于Web层面的资产发现,是一款针对网络空间的搜索引擎,收录了互联网空间中的设备、网站及其使用的服务或组件等信息。
显示帮助 shift+/
隐藏该帮助 ESC
回到首页 shift
高级搜索 Shift +s
聚焦搜索框 s技巧:
app:组件名称
ver:组件版本
port:端口号
OS:操作系统名称
service:服务名称
country:国家名
city:城市名
CIDR:网段区域
Site:网站域名
Hostname:主机名
Device:设备名
Keyword:关键词
ip:8.8.8.8 ip地址
cidr:8.8.8.8/24 ip地址段
-
-
2.在线网站查询
-
3.脚本工具进行爆破枚举
工具:subDomainsBrute
工具从GitHub上下载:https://github.com/lijiejie/subDomainsBrute
作用:用于渗透测试目标域名收集。高并发DNS暴力枚举,发现其他工具无法探测到的域名。
操作:使用命令pip2 install dnspython gevent
需要下载dnspython 、gevent两个模块.解压后从文件路径进入cmd,用命令:python2 subDomainsBrute.py +二级域名
运行,成功后会生成一个TXT文档。
工具:layer
下载:https://www.webshell.cc/6384.html
作用:Layer子域名挖掘机可以帮助你查询网站子域名,服务接口、暴力枚举、同服挖掘辅助软件。
操作:直接添加二级域名运行。结果会显示所有子域名。
工具:OneForAll
工具从码云上下载:
作用:是用来收集和爆破子域名的
操作:目录文件下进入cmd,执行命令:# python -m pip install --user -U pip setuptools wheel -i https://mirrors.aliyun.com/pypi/simple/
# pip3 install --user -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
用命令python oneforall.py --target example.com run
进行收集
python aiobrute.py --target example.com run
进行爆破 -
4 .基于SSL证书查询:
查找一个域名证书的最简单方法是使用搜索引擎来收集计算机的CT日志,并让任何搜索引擎搜索它们。
HTTP:超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。
特点:
1.无状态:协议对客户端没有状态存储,对事物处理没有“记忆”能力,比如访问一个网站需要反复进行登录操作
2.无连接:HTTP/1.1之前,由于无状态特点,每次请求需要通过TCP三次握手四次挥手,和服务器重新建立连接。服务器并不能区别是否已经响应过用户的请求,所以每次需要重新响应请求,会耗费不必要的时间和流量。
3.基于请求和响应:基本的特性,由客户端发起请求,服务端响应
4.简单快速、灵活
5.通信使用明文、请求和响应不会对通信方进行确认、无法保护数据的完整性
HTTPS:全称:Hyper Text Transfer Protocol over SecureSocket Layer,是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在 HTTP 的基础下加入 SSL 层,HTTPS 的安全基础是 SSL。
特点:
1.内容加密:采用混合加密技术,中间者无法直接查看明文内容
2.验证身份:通过证书认证客户端访问的是自己的服务器
3.保护数据完整性:防止传输的内容被中间人冒充或者篡改
查询网站有:
1.https://crt.sh/
2.https://censys.io/
-
-
3.IP信息查询:
即域名对应的真实ip,只有真实IP才能进行C段渗透。一般是因为网站开启了CDN加速。CDN的全称是Content Delivery Network,即内容分发网络。起到一定的防护作用。
绕过方法:
1.超级ping工具多地ping。推荐站点:https://asm.ca.com/en/ping.php
2.查询DNS解析记录:CDN 的 IP 地址之前所用的 IP 就是真实 IP
3.查询子域名:许多情况下只有主站使了CDN,二级站点并没有,所以我们就可以直接查询分站的IP。
4.国外访问:国内部分 CDN 服务只针对国内,对国外的访问几乎不使用 CDN。个人认为最有效的是子域名查找。
-
4.旁站、C段信息
旁站: 是和目标网站在同一台服务器上的其它的网站。
C段: 是和目标服务器ip处在同一个C段的其它服务器。
在线站点:https://phpinfo.me/bing.php
the WebofWebScan: https://webscan.cc/
扫描工具:Router Scan、御剑
下载地点:吾爱破解。 -
5.社工信息
1、姓名 2、性别 3、出生日期 4、身份证号 5、身份证家庭住址 6、身份证所在公安局 7、快递收货地址 8、大致活动范围 9、qq 10、手机号 11、邮箱 12、银行卡号(银行开户行)13、支付宝 14、贴吧、百度、微博、猎聘、58、同城、网盘、微信等 15、常用ID 16、学历(小/初/高/大学/履历)17、目标性格详细分析 18、常用密码 19、照片。这一切信息都可利用。使用字典生成密码字典可对账号进行爆破。
纵向信息收集
-
1.端口探测
-
nmap扫描
Nmap是一个网络连接端口扫描软件,用来扫描网上电脑开放的网络连接端口。确定哪些服务运行在哪些连接端口,并且推断计算机运行哪个操作系统。它是网络管理员必用的软件之一,以及用以评估网络系统安全。
功能:1、 主机发现
2、 端口扫描
3、 版本侦测
4、 OS侦测 -
nmap常见命令:
-
常用端口:
-
-
2.网络构架探测
操作系统,中间件,脚本语言,数据库,服务器,web容器等等
通常存在:
1.指定路径下指定名称的js文件或代码。
2.指定路径下指定名称的css文件或代码。
3.<title>
中的内容,有些程序标题中会带有程序标识,但不是很多。
4.meta标记中带程序标识
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返回时的旗标
常用方法有:- nmap扫描-O命令
- cms指纹识别
云悉:http://www.yunsee.cn/info.html
其他的还有御剑指纹识别、Webrobot工具、whatweb工具、还有在线查询的网站等等 - 浏览器插件
wappalyzer插件——火狐插件
-
3.敏感信息探测
目录大概有:
(1)Git、(2)hg/Mercurial、(3)svn/Subversion
、(4)bzr/Bazaar、(5)Cvs、(6)WEB-INF泄露、(7)备份文件泄露、配置文件泄露常用工具:
dirsearch-github上下载。
githack-GitHub上下载,能下载/.git/
源码。
御剑 -
4.其他资产
通用:办公自动化(OA系统),VPN访问内网、公众号、APP、天眼查、GitHub上查厂商域名
假性社工:关注内部群,员工 和客服。
等都能获得一定信息。