1. 域名信息搜集
1.1 IP信息
1.什么是IP信息搜集?
渗透测试中,首先通过公司名称获取到目标域名,然后再通过域名获取到目标的真实IP地址。最后的操作都是对IP地址进行操作的。
2.如何进行IP信息搜集?
1.直接ping目标域名就可以获取到一个IP地址(但是这个地址可能是缓存服务器【CDN】的IP地址,需要进行绕过处理)
2.使用三方搜索引擎进行IP信息的获取,Fofa、hunter、Shodan
1.2 子域名信息
1.什么是子域名?
子域名的出现就是为了满足公司中不同的业务需求。比如百度的主域名就是baidu.com,那么www.baidu.com就是百度的一个子域名。
2.网络攻防中子域名获取有什么用?
1.更多的域名信息代表存在更多的系统和中间组件,可以帮助我们探测到更多的漏洞;
2.一些权重较高的域名可能会被架设更多的安全保护,那么此时从一些鲜为人知的域名入手,对应的保护会相对较弱;
3.子域名对应服务器上可能存在关联机器的相关信息(配置信息、账号密码、或者相关的访问权限),可借助相关信息进行后续行动。
3.如何搜集到子域名?
搜集原理:知道了原理,工具基本差别不大,也可以根据自身需求对工具进行修改
1.字典爆破:将常见的子域名收集到字典,与主域进行拼接,尝试访问,查看是否访问成功。
2.爬虫爬取:在主域名的页面中寻找相关链接进行访问。
3.DNS历史搜集:查询DNS的解析记录。
4.证书查询:通过通讯证书进行历史查询。
1.3 whois信息
什么是whois信息?
也就是获取到域名注册的相关信息,主要获取以下信息。但是现在基本都会做隐私保护设置,所以查询到的信息可能不是很多,但是国外站whois信息还是有价值的。
1.注册公司信息:判断目标域名是否为行动的范围
2.注册人信息:在进行爆破时可以作为重要信息添加到字典,还可以查询该注册人注册的其他域名,进行关联性查询
3.注册人邮箱:可以通过邮箱获取到注册人的其他信息
whois信息如何获取?
站长之家whois查询:站长之家
whois命令行查询:kali自带命令
2. 敏感目录搜集
1.敏感目录搜集的作用?
目标网站整体文件结构、后台登录文件、数据库文件、以及一些泄露的文件–比如存储日志的文件、源码文件等。
2.哪些目录可称为敏感目录?
1.robots.txt :存储重要文件
2.crossdomin.xml:
3.sitemap.xml
4.后台目录 :用于爆破后台
5.网站安装包:
6.网站上传目录
7.mysql管理页面
8.phpinfo
9.网站文本编辑器
10.测试文件
11.网站备份文件(.rar、.zip、.7z、.tar、.gz、.bak)
12.DS_Store 文件
13.vim编辑器备份文件(.swp)
14.WEB—INF/web.xml文件
3.如何进行敏感目录搜集?
字典爆破:御剑、dirbuster、wwwscan
网络爬虫:爬行菜刀、webrobot,burp
3. 旁站、C段搜集
3.1 旁站搜集
1.什么叫旁站?
同一台服务器上的其他网站。
2.旁站搜集的作用?
目标站点防护较为全面无从下手,可以尝试从同一台服务器的其他站点入手,找到防护较弱的点进行行动。
3.如何进行搜集?
3.2 C段搜集
1.什么叫C段?
与目标服务器IP在一个C段的IP地址涉及到的主机。
2.C段搜集的作用?
目标站点涉及到的服务器上没有攻击点,可以判断C段服务器和目标服务器是否存在一个机房内,假设存在一个机房内,那么可以从C段其他服务器入手,拿到相关权限和信息后再进行内网横向渗透获取到目标服务器的权限。
3.如何进行搜集?
搜集方式:
验证C段方式:使用windows自带功能tracet进行路由追踪,如何两个IP在一个机房,那么经过的路由就应该相同。
4. 整站信息搜集
1.整站信息搜集涉及到的信息?
服务器类型
服务器平台、版本等
网站容器
搭建网站的服务组件,例如:iis、Apache、nginx、tomcat等
脚本类型
ASP、PHP、JSP、aspx等
数据库类型
access、sqlserver、mysql、oracle、postgresql等
CMS类型
WAF
2.如何进行整站信息搜集?
whatweb:kali自带工具,主动查看
Wappalyzer:chrome在线网络框架查看插件
5. 网络信息搜集
1.需要搜集的目标信息?
网络开放端口:masscan
路由
防火墙:使用nmap发送不同的包进行测试
代理服务器等相关设备的收集
2.如何进行网络信息的搜集?
shodan:网络搜索引擎偏向网络设备以及服务器的搜索–Shodan
censys:搜索引擎功能与shodan类似–censys
FoFa:搜索引擎偏向资产搜索–FoFa
钟馗之眼:搜索引擎偏向web应用层面的搜索–钟馗之眼
6. 后台查找总结
1 弱口令默认后台:admin,admin/login.asp,manage,login.asp等等常见后台
2 查看网页的链接:一般来说,网站的主页有管理登陆类似的东西,有些可能被管理员删掉
3 查看网站图片的属性
4 查看网站使用的管理系统,从而确定后台
5 用工具查找:wwwscan,intellitamper,御剑
6 robots.txt的帮助:robots.txt文件告诉蜘蛛程序在服务器上什么样的文件可以被查看
7 GoogleHacker
8 查看网站使用的编辑器是否有默认后台
9 短文件利用
10 sqlmap --sql-shell load_file(‘d:/wwroot/index.php’);
7. CDN绕过总结
1. 什么是CDN?
CDN就是采用缓存服务器,在用户访问目标网站时,将用户的访问指向最近的缓存服务器上进行资源的获取。例如:百度在ABC三省交界处放置了一台缓存服务器sub_CND,那么我在B地区尝试对百度网站进行访问,那么首先会访问到sub_CND服务器上进行资源的获取。也就类似与京东物流的各地仓库。
2.攻防中CDN造成了什么影响?
CDN的存在可能使得我们得到的IP地址为缓存服务器的IP地址,而不是真实的靶标地址。从而导致行动的方向错误。
3.如何快速识别CDN?
3.1 超级ping检测。就是利用全国各地主机对目标域名进行ping检测,查看目标的IP地址是否相同,相同就说明不存在CDN服务器,否则就大概率存在。
3.2 nslookup 查询,可以使用windows上的nslookup命令查询目标,存在多个地址则表示存在CDN,否则没有
4.行动中如何绕开CDN?
4.1 使用全球ping测试:找一个没听过的国家主机对目标进行ping测试,得到的可能为真实IP地址
4.2 子域名迂回测试:厂商往往会在权重较高的网站上假设CDN,那么可以寻找目标的子域名,测试是否存在CDN,假设不存在,那么可以使用Hosts文件测试的方式进行测试,确认真实IP。
4.3 历史DNS查询测试:找到目标域名解析时的历史对应IP地址,可能存在CDN未假设时的真实IP,然后使用Hosts文件测试即可。
4.4 利用邮箱服务器:主动让目标服务器发邮箱到自身,抓取邮箱服务器IP地址。
hosts文件测试
将要测试的IP地址和域名写入到hosts文件中,再使用域名访问,能访问成功就代表这个IP可能是真实IP地址,但是也可能还是缓存服务器的IP地址,需要不断尝试。