信息收集
信息收集概念
获得目标的信息过程就叫信息收集,俗称踩点。
踩点的目的
1.了解安全架构
使用了哪些安全设备,比如防火墙,waf等
该公司的网络安全人员或网络管理人员的配置情况
该公司的制度完不完善
2.缩小攻击范围
目标公司的ip范围,网络,域名远程访问点等信息
3.建立信息数据库
将收集的数据整理,方便下一步行动
4.绘制网络拓扑
对目标充分了解后就可以绘制该公司大致网络拓扑图
踩点的目标
收集网络信息
域名,网段,端口,运行的服务,授权机制
收集系统信息
用户及组名,路由表,系统标识,系统名称
收集组织信息
员工详情,组织网站,地址,电话,html代码中的注释等
信息收集分类
主动信息收集
主动向目标发送扫描,探测,查看端口,服务版本等,是带有攻击性的行为(nmap,nessus,burpsuit)
被动信息收集
通过第三方查询域名,whois查询,邮箱反查等,(google语法,shodan,fofa搜索)
基本信息收集技术
whois查询
whois是一个查询域名是否已被注册及域名的详细信息的数据库(域名所有人,注册人姓名,邮箱)。
常用网站:
站长之家:http://tool.chinaz.com
virus total:https://www.virustotal.com :提供可疑文件分析服务,也可用于实验免杀
备案信息查询
合法网站都需要备案。
icp备案查询网:http://www.beianbeian.com
天眼查: http://tianyancha.com
google语法
通过构造特殊的关键字语法来搜索敏感信息
site:搜索某一范围内的域名
site:baidu.com
intext:寻找正文中含关键字的网页
intext:后台
intitle:寻找标题中含关键字的网页
intitle:后台
allintitle:寻找标题中含关键字的网页,关键字可以是多个。
allintitle:后台 管理员
inurl:返回url中含关键字的网页
inurl:login
allinurl:同上
filetype:指定访问文件类型
site:baidu.com filetype:pdf
like:指定友链的网页,返回包含指向关键字的的网页
like:www.baidu.com
related:相似类型的网页,与关键词网页布局相似的网页
related:www.baidu.com
info:返回站点指定信息
info:www.baidu.com
define:返回某个词语的定义
define:白帽
index of:发现允许目录浏览的网站,就像本地的普通目录一样
index of /admin
一些例子:
Shodan
参考:https://www.freebuf.com/sectool/121339.html
fofa
常用于漏洞影响范围分析,应用分布统计,应用流行度排名统计等
官网:https://fofa.so/
常用语句
title="后台" 返回标题含关键字的网站
header="thinkphp" 返回头中包含关键字
body="后台" 返回正文中含关键字的网站和ip‘
domain="baidu.com" 返回根域名中带有关键字的网站
host="login" 域名中带关键字的网站
port="3389"&&country=CN 搜索开放3389并位于中国的网站
ip="127.0.0.1" 搜索指定ip或ip段
burpsuit抓包
通过抓包可获得一些server类型及版本,php版本信息等针对性测试
GitHub
可能会有源码泄露,数据库链接信息,邮箱密码,uc-key,一些漏洞的exp等
src漏洞平台
子域名信息收集
子域名检测工具:
layer子域名挖掘机,k8,sydomain,sublist3r,dnsmaper,subDomainsBrute
搜索引擎
Google语法
网站:
https://crt.sh/
https://developers.facebook.com/tools/ct
https://searchdns.netcraft.com/
https://censys.io/
指纹识别
对目标服务器的指纹进行识别,因为只有识别出相应的web容器或者CMS才能查找到相应漏洞。
常见CMS:
Dedecms(织梦),discuz,PHPWEB,PHPWind ,PHPCMS,ECShop,Dvbbs,SiteWeaver,ASPCMS,帝国,Z-Blog,WordPress
扫描工具:
御剑web扫描,whatweb,webRobo,椰树,轻量web指纹识别
在线扫描:
云溪指纹
真实ip
目标服务器不存在CDN,可通过多地ping的方法确定IP
17ce
若存在CDN则需绕过CDN找到目标真实IP
CDN
内容分发服务器,就是把用户经常访问的静态数据资源缓存在节点服务器上,当用户有实际数据交互时才从远程web服务器上响应给用户
判断CDN
可以使用多地ping:
17ce
站长之家
nslookup检测:
控制台直接输入:nslookup URL
有一个则多半没有CDN,有多个则有CDN
绕过CDN
1.查询子域
通常只有主站使用了CDN,但是二级站点并没有,所以我们可以查询分站IP。通过
site:baidu.com
inurl:baidu.com
2.国外访问
部分CDN服务只针对国内,国外访问几乎不使用CDN,所以可以通过国外冷门DNS查询域名。
3.历史解析记录
CDN的IP地址之前就是用的真实IP
历史IP查询
4.邮件查询
很多服务器自带邮件发送功能,可利用他来获取真实IP,让站点主动发送邮件,从而得到真实IP
验证IP
直接IP访问,看返回页面是否与用域名返回的一致。
或者在目标端较大时使用Masscan工具批量对IP段中开放了80,443,8080,端口的IP尝试访问,看是否为目标站点。
整站分析
服务器类型
包括服务器平台,版本等
1.判断是linux系统还是windows系统,查看系统版本,如果版本低可能存在未修复漏洞
方法一:ping, Windows的ttl一般为128,linux的ttl一般为64;
方法二:Windows对大小写不敏感,linux大小写敏感
2.判断服务器版本
nmap:nmap -sV IP
网站容器
搭建网站的服务组件,如IIS,Apache,nginx,tomcat,weblog等
脚本类型
ASP,JSP,PHP,ASPX等
脚本探测:
可根据网站URL判断
site:xxx.com filetype:php/asp/jsp/aspx
可使用Firefox插件判断
burpsuit抓包判断
数据库类型
access,sqlserver,mysql,Oracle,postgresql等
CMS类型
Dedecms(织梦),discuz,PHPCMS,WordPress
WAF
阿里云,安全狗,腾讯云
收集敏感目录文件
探测web目录结构和隐藏的敏感文件,从中可以获取网站的后台管理页面,文件上传页面,甚至扫描出网站源码。
收集方向
后台目录:弱口令,万能密码,爆破
安装包:获取数据库信息,网站源码
上传目录:截断,上传木马等
mysql管理接口:弱口令,爆破,万能密码,脱裤,甚至拿到shell
安装页:可二次安装绕过
phpinfo:会暴露出各种配置信息
编辑器:fck,ke等
IIS短报文利用:条件比较苛刻Windows,apache等
robots.txt文件:可以爆出目录结构。如:www.baidu.com/robots.txt
常用工具
探测目标网站后台目录工具
字典爆破:kali自带工具dirb:dirb URL 对目标完整进行目录扫描
DirBuster wwwscan 御剑后台 Webdirscan
burp QWASP ZAP(自动) AWVS
在线工具
webscan
旁站和c站在线查询
webscan
联网设备扫描
常见开放端口
文件共享服务端口
端口号 | 端口说明 | 攻击方向 |
---|---|---|
21/22/69 | ftp文件传输协议 | 允许匿名上传,下载,爆破和嗅探 |
2049 | NFS服务 | 配置不当 |
139 | sanmba服务 | 爆破,未授权访问,远程代码执行 |
389 | Ldap目录访问协议 | 注入,允许匿名访问,弱口令 |
远程连接服务端口
端口号 | 端口说明 | 攻击方向 |
---|---|---|
22 | ssh远程连接 | 爆破,ssh隧道及内网代理转发,文件传输 |
23 | telnet远程连接 | 爆破,嗅探,弱口令 |
3389 | rdp远程桌面链接 | shift后门(需要wen server2003以下系统),爆破 |
5900 | VNC | 弱口令爆破 |
5632 | PyAnywhere服务 | 抓密码,代码执行 |
常见web服务器端口
端口号 | 端口说明 | 攻击方向 |
---|---|---|
80/443/8080 | 常见web服务器端口 | web攻击,爆破,对应服务器版本漏洞 |
7001/7002 | weblogic控制台 | Java反序列化,弱口令 |
8080/8089 | jboss/Resin/Jetty/jenkins | 反序列化,控制台弱口令 |
9090 | websphere 控制台 | Java反序列化,弱口令 |
4848 | glass fish 控制台 | 弱口令 |
1352 | Lotus domino 邮件服务 | 弱口令,信息泄露,爆破 |
10000 | webmin-web 控制面板 | 弱口令 |
数据库服务端口
端口号 | 端口说明 | 攻击方向 |
---|---|---|
3306 | Mysql | 注入,提权,爆破 |
1433 | MSSQL数据库 | 注入,提权,爆破,sa弱口令 |
1521 | Oracle数据库 | TNS爆破,注入,反弹shell |
5432 | postgreSQL数据库 | 注入,弱口令,爆破 |
27017/27018 | MongoDB | 爆破,未授权访问 |
6379 | Rsdis数据库 | 可尝试未授权访问,弱口令爆破 |
5000 | SysBase/DB2数据库 | 爆破,注入 |
如果网站开放了80端口,但开放了Mysql数据库,没开3306端口,可能是开启了端口转发,或者做了数据库与web服务器分离