一、重要性(Why?)
信息收集在于获取目标信息,掌握目标的详细情况,分析目标弱点。兵家云:“知己知彼,百战不殆”,全面了解对方主将、粮草、兵力等信息,才能有的放矢,准确快速地击败对方。
二、收集哪些信息?(What?)
目标主体:电话、邮箱、密码、whois(站长之家可查)
目标环境:
网络:域名、CDN(后文会说);
前端(最接近用户的层):web语言(如JavaScript、Python)——代码审计、代码泄露;
中间件(可以理解为连接前端和后端的桥梁):Apache、Nginx;
数据库;
CMS(内容管理系统,如:dedecms);
系统:系统类型、开放端口等
目标事件:历史漏洞(可能未修复)、公众号、通知公告(可能存在手机号、邮箱等)等
总而言之,就是收集一切对我们有用的信息,完善社工库,扩大密码撞库成功的可能性等。
三、如何收集?(How?)
1、谷歌语法&搜索引擎
语法:site、inurl、intext、intitle
示例:
site:qq.com intext:“王者荣耀” inurl:"/login.php"
intitle:"netbotz appliance" "ok"
filetype:xls "username | password"
谷歌镜像:http://tools.bugscaner.com/google/,用于在谷歌上进行搜索
爬虫文件,例如:https://www.baidu.com/robots.txt(暂不知如何使用)
扩展思路:
https://www.exploit-db.com/google-hacking-database,查看一些语法
工具:钟馗之眼:扫描暴露在网络上的设备,如路由器、摄像头等、Shodan、fofa
2、端口扫描:Nmap扫描工具
网址:www.nmap.org
功能:
检测存活的主机
检测主机上开放的端口
检测运行在端口上的软件和版本
检测操作系统及软件版本
检测漏洞
常用参数:
-sS:TCP SYN扫描
-p:指定端口号扫描
-v:显示扫描过程
-F:快速扫描
-Pn:禁止ping时使用,穿透防火墙
-A:全面扫描
-sU:UDP扫描
-sT:TCP扫描
-sV:扫描系统和程序版本号
--script=vuln:漏洞扫描
-R:反向域名解析
示例:
nmap -sS -p 端口号 -v <IP>
nmap -Pn -A <IP>
帮助:man nmap
nmap实现whois查询:nmap --script=whois-domain <域名>
nmap解析扫描:nmap --script=dns-brute <域名>
Q:whois可以查到哪些信息?邮箱、联系人、子域名?
官方脚本:svn.nmap.org 有点老
社工密码字典在线
3、子域名&目录扫描
作用:扩大渗透测试范围、找到目标站点突破口
方法:
1、在线:
谷歌语法;
在线爆破(会泛解析出来很多,有些并不是真实的,https://phpinfo.me/domain/);
基于证书(https://crt.sh);
基于DNS记录:https://dns.bufferover.run/dns?q=<域名>
2、Fuzzdomain工具:Sublist3r(github,kali)
枚举:python sublist3r.py -d <域名> -p <端口,如80 443> -o <输出文件名.txt>
3、目标事件找子域及敏感信息
历史漏洞:乌云镜像http:www.anquan.us/
手册、通知
4、御剑扫描敏感目录
5、dirbuster扫描网站目录
原理:通过返回的网页状态码进行判断
6、robots协议的作用
限定可以访问哪些目录,不可以访问哪些目录
“域名/robots.txt”
7、哈勃可以检测所下载的软件有无后门等(https://habo.qq.com/)
4、指纹识别
指纹?特定的属性
CMS:内容管理系统,可快速搭建网站,可以理解为模板。
在线和离线的方式收集指纹信息:
(1)云悉在线:http://www.yunsee.cn,频率不能过高
(2)Whatweb:http://www.whatweb.net
(3)插件:wappalyzer(https://www.wappalyzer.com),好用
(4)CMSeek(kali,github),不太好用
Waf:专门针对web应用攻击的防护产品
工具:WAFW00F(kali,github)
如何绕WAF?
CDN:内容分发网络
Q:检测CDN的作用?绕过CDN,发现背后的真实ip
CDN检测:站长工具、脚本探测(xcdn,kali,github)
都是通过寻找对方未绑定CDN站点进行突破,从而找到真实站点
(下期预告:信息收集实操)