1.1收集域名信息
知道目标域名后,首先要获取域名的注册信息(包括该域名的DNS服务器信息和注册人的联系信息)
1.1.1Whois查询
Whois是一个标准的互联网协议,可用于收集网络注册信息,注册的域名,IP地址等信息(在kali系统中whois默认安装,只需要输入查询的域名即可,
例如: sudo su ------>whois sec-redclub.com)
1.1.2备案信息查询
ICP备案查询网:http://www.beianbeian.com
天眼查:天眼查-商业查询平台_企业信息查询_公司查询_工商查询_企业信用信息系统
1.2收集敏感信息
Google常用语法
关键字 说明
Site 指定域名
Inurl URL中存在关键字的网页
Intext 网页正文中的关键字
Filetype 指定文件类型
Intitle 网页标题中的关键字
Link link:baidu.com即表示返回所有和baidu.com做了链接的URL
Info 查找指定站点的一些基本信息
Cache 搜索Google里关于某些内容的缓存
1.3收集子域名信息
子域名:二级域名,顶级域名下的域名,如果我们的目标网络规模比较大,直接从主域入手显然是很不理智的,一般其主域都是重点防护区域,所以可以先从目标的某个子域入手
1.3.1子域名检测工具
Layer子域名挖掘机机(推荐)
K8,wydomain,Sublist3r,dnsmaper,subDomainsBrute,Maltego,CE
1.3.2搜索引擎枚举
Google语法搜索子域名
1.3.3第三方
DNSdumpster网站:http:/dnsdumpster.com/
在线DNS侦查
1.4收集常用端口信息
工具:Nmap,无状态端口扫描工具Masscan,ZMap
文件共享服务端口
端口号 | 端口说明 | 攻击方向 |
21/22/69 | Ftp/Tftp文件传输协议 | 允许匿名的上次,下载,爆破和嗅探操作 |
2049 | Nfs服务 | 配置不当 |
139 | Samba服务 | 爆破,未授权访问,远程代码执行 |
389 | Ldap目录访问协议 | 注入,允许匿名访问,弱口令 |
远程连接服务端口
端口号 | 端口说明 | |
22 | SSH远程连接 | 爆破,SSH隧道及内网代理转发,文件传输 |
23 | Telnet远程连接 | 爆破,嗅探,弱口令 |
3389 | Rdp远程桌面连接 | Shift后门,爆破 |
5900 | VNC | 弱口令爆破 |
5632 | PyAnywhere服务 | 抓密码,代码执行 |
Web应用服务端口
端口号 | 端口说明 | 攻击 方向 |
80/443/8080 | 常见Web服务窗口 | Web攻击,爆破,对应服务器版本漏洞 |
7001/7002 | WebLogic控制台 | Java反序列化,弱口令 |
8080/8089 | Jboss/Resin/Jetty/Jenkins | 反序列化,控制台弱口令 |
9090 | WebSphere控制台 | Java反序列化,弱口令 |
4848 | GlassFish控制台 | 弱口令 |
1352 | Lotus domino邮件服务 | 弱口令,信息泄露,爆破 |
10000 | Webmin/Web控制面板 | 弱口令 |
数据库服务端口
端口号 | 端口说明 | 攻击方向 |
3306 | MySQL | 注入,提权,爆破 |
1433 | MSSQL数据库 | 注入,提权,SA弱口令,爆破 |
1521 | Oracle数据库 | TNS爆破,注入,反弹shell |
5432 | PostgreSQL数据库 | 爆破,注入,弱口令 |
27017/27018 | MongoDB | 爆破,未授权访问 |
6379 | Redis数据库 | 可尝试未授权访问,弱口令爆破 |
5000 | SysBase/DB2数据库 | 爆破,注入 |
邮件服务端口
端口号 | 端口说明 | 攻击方向 |
25 | SMTP协议 | 邮件伪造 |
110 | POP3协议 | 爆破,嗅探 |
143 | IMAP协议 | 爆破 |
网络常用协议端口
端口号 | 端口说明 | 攻击方向 |
53 | DNS域名系统 | 允许区域传送,DNS劫持,缓存投毒,欺骗 |
67/68 | DHCP协议 | 劫持,欺骗 |
161 | SNMP协议 | 爆破,搜集目标内网信息 |
特殊服务窗口
端口号 | 端口说明 | 攻击方向 |
2181 | Zookeeper服务 | 未授权访问 |
8069 | Zabbix服务 | 远程执行,SQL注入 |
9200/9300 | Elasticsearch服务 | 远程执行 |
11211 | Memcache服务 | 未授权访问 |
512/513/514 | Linux Rexec服务 | 爆破,Rlogin登录 |
873 | Rsync服务 | 匿名访问,文件上传 |
3690 | Svn服务 | Svn泄露,未授权访问 |
50000 | SAP Management Console | 远程执行 |
1.5指纹识别
(网站CMS指纹,计算机操作系统及Web容器的指纹识别)
1.5.1指纹的好处:终身不变性,唯一性,方便性
1.5.2应用程序一般在html,js,css等文件中会包含一些特征码,当碰到其他网站也存在1.5.3此特征时,就能快速识别出该CMS,所以叫做指纹识别。
只有识别出相应的Web容器或者CMS,才能查找相关的漏洞,然后才能进行相应的渗透操作。
1.5.4CMS:又称整站系统或文章系统,常见的CMS有Dedecms,Discuz,PHPWEB,PHPWind,PHPCMS,ECShop,Dvbbs,SiteWeaver,ASPCMS,帝国,WordPress等
工具:御剑Web指纹识别,WhatWeb,WebRobo,椰树,轻量WEB指纹识别
在线网站:BugScaner,云悉指纹,和WhatWeb
1.6查找真实IP
若目标服务器不存在CDN,可以直接通过www.ip138.com来获取目标的一些IP以及域名信息
1.6.1目标服务器存在CDN
CDN即内容分发网络,主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题,说的简单点,就是一组在不同运营商之间的对接节点上的高速缓存服务器,把用户经常访问的静态数据资源(例如静态的html,css,js图片等文件)直接缓存到节点服务器上,当用户再次请求时,会直接分发到离用户近的节点服务器上响应给用户,当用户要实际数据交互时才会从远端Web服务器上响应,这样可大大提高网站的相应速度及用户体验。
如果渗透目标购买了CDN服务,可以直接ping目标的域名,但得到的并非真正的Web服务器,只是离我们近的一台目标节点的CDN服务器(无法直接得到目标的真实IP段范围)
1.6.2判断目标是否使用了CDN
通过ping目标主域观察域名的解析情况来判断是否使用了CDN
利用网站17CE进行全国多地区的ping服务器操作,对比每个地区ping出来的IP结果是否一致,如果是一样的,则极有可能不存在CDN,如果IP大多不一样或者规律性很强,可以尝试查询这些IP的归属地,判断是否存在CDN。
1.6.3绕过CDN寻找真实IP
1. 内部邮箱源:一般的邮件系统都在内部且没有经过CDN的解析,通过目标网站用户注册或者RSS订阅功能,查看邮件,寻找邮件头中的邮件服务器域名IP,ping这个域名,就能获得目标的真实IP(必须是目标自己的邮件服务器)
2. 扫描网站测试文件,如phpinfo,test
3. 分站域名,由于某些网站主站的访问量会比较大,所以主站一般都会挂CDN,而分站可能没有挂CDN,可以通过ping二级域名获取分站IP,会出现分站和主站不是同一个IP但在同一个c段下面的情况,从而判断出目标的真实IP段
4. 如果目标网站有自己的APP,可以尝试利用Burp Suite抓取APP的请求,在里面找到目标的真实IP
5. 国外访问
6. 绕过CloudFlare CDN查找真实IP
1.6.4验证获取的IP
1. 如果是Web,可以尝试直接用IP访问
1.7收集敏感目录文件
在渗透测试中,探测Web目录结构和隐藏的敏感文件是一个必不可少的环节,从中可以获取网站的后台管理页面,文件上传界面,甚至可能扫描出网站的源代码。
工具:DirBuster(针对网站目录的扫描):是OWASP开发的一款基于Java编写的,专门用于探测Web服务器的目录和隐藏文件。需要在Java的运行环境下安装。
1.8社会工程学
1.8.1例子:若攻击者针对某一家公司进行渗透测试,正在收集目标的真实IP段,此时就可以利用收集到的这家公司的某位销售人员的电子邮箱,首先给这位销售人员发送邮件,若销售人员回复邮件,这样攻击者可以通过分析邮件头来收集这家公司的真实IP地址及内部电子邮件服务器的相关信息。
1.8.2利用社工库获取想要得到的信息