0x00 收集域名信息

1. Whois查询

​ Whois是一个标准的互联网协议,可以收集网络注册信息,如域名、IP地址、服务商、域名拥有者、邮箱、电话、地址等。

– 爱站工具网(whois.aizhan.com

– 站长之家(whois.chinaz.com

– VirtusTotal(virustotal.com

2. 备案信息查询

– ICP备案查询网:beianbeian.com

– 天眼查:tianyancha.com

0x01 收集敏感信息

各种搜索引擎的黑客语法可以用来获取数据库文件、SQL注入、配置信息、源代码泄漏、未授权访问和robots.txt等敏感信息。

常见的Google语法如下:

关键字说明
Site指定域名
InurlURL中存在关键字的网页
Intext网页正文中的关键字
Filetype指定文件类型
Intitle网页标题中的关键字
linklink:baidu.com即表示返回所有和baidu.com做了链接的URL
Info查找指定站点的一些基本信息
cache搜索Google里关于某些内容的缓存

0x02 收集子域名信息

1. 常用工具

– Layer子域名挖掘机 简单易用,安全测试人员常用

– subDomainBrute 可以用小字典递归发现多级域名

– Sublist3r 可以列举多种资源,如Google、Yahoo、Bing、Netcraft、ThreadCrowd等查到的子域名

2. 搜索引擎枚举

3. 第三方聚合应用枚举

也可以用DNSdumpster网站(dnsdumpster.com)、在线DNS侦查和搜索工具挖掘出指定域潜藏的大量子域。

4. 证书透明度公开日志枚举

证书授权机构会将每个SSL/TLS证书发布到公共日志中。一个SSL/TLS证书通常包含域名、子域名和邮箱地址。

– crt.sh: crt.sh

– censys: censys.io

– 子域名爆破网站(phpinfo.me/domain

– IP反查域名绑定网站(aizhan.com

0x03 收集常用端口信息

常见端口号对应服务如下表

文件共享服务类

端口号端口说明攻击方向
21/22/69Ftp/Tftp文件传输协议允许匿名的上传、下载、爆破和嗅探
2049Nfs服务配置不当
139Samba服务爆破、未授权访问、远程代码执行
389Ldap目录访问协议注入、允许匿名访问、弱口令

远程连接服务类

端口号端口说明攻击方向
22SSH远程连接爆破、SSH隧道及内网代理转发、文件传输
23Telnet远程连接爆破、嗅探、弱口令
3389Rdp远程桌面连接Shift后门(需要Windows Server 2003一下系统)爆破
5900VNC弱口令爆破
5632PyAnywhere服务抓密码、代码执行

Web 应用服务类

端口号端口说明攻击方向
80/443/8080常见的Web服务端口Web攻击、爆破、对应服务器版本攻击
7001/7002WebLogic控制台Java反序列化、弱口令
8080/8089Jboss/Resin/Jetty/Jenkins反序列化、控制台弱口令
9090WebSphere控制台Java反序列化、弱口令
4848GlassFish控制台弱口令
1352Lotus domino邮件服务弱口令、信息泄漏、爆破
10000Webmin-Web控制面板弱口令

数据库服务类

端口号端口说明攻击方向
3306MySQL注入、提权、爆破
1433MSSQL数据库注入、提权、SA弱口令、爆破
1521Oracle数据库TNS爆破、注入、反弹shell
5432PostSQL数据库注入、爆破、弱口令
27017/27018MongoDB爆破、未授权访问
6379Redis数据库可尝试未授权访问、弱口令爆破
5000SysBase/DB2数据库爆破、注入

邮件服务类

端口号端口说明攻击方式
25SMTP邮件服务邮件伪造
110POP3协议爆破、嗅探
143IMAP协议爆破

网络常见协议类

端口号端口说明攻击方式
53DNS域名系统允许区域传送、DNS劫持、缓存投毒、欺骗
67/68DHCP服务劫持、欺骗
161SNMP协议爆破、搜集目标内网信息

特殊服务类

端口号端口说明攻击方式
2181ZooKeeper服务未授权访问
8069Zabbix服务远程执行、SQL注入
9200/9300Elasticsearch服务未授权访问
11211Memcache服务未授权访问
512/513/514Linux Rexec服务爆破、Rlogin服务
873Rsync服务匿名访问、文件上传
3690Svn服务Svn泄漏、未授权访问
50000SAP Management Console远程执行

0x04 指纹识别

​ 应用程序一般在html、js、css等文件中会存在一些特征码,比如WordPress在robots.txt中会包含wp-admin首页index.php中会包含generator=wordpress 3.xx等信息。这就叫做该CMS的指纹。

​ 常见的CMS有Dedecms(织梦)、Discuz、PHPWEB、PHPWind、PHPCMS、ECShop、Dvbbs、SiteWeaver、ASPCMS、帝国、Z-Blog、WordPress等。

​ 代表工具也有御剑Web指纹识别、WhatWeb、WebRobo、椰树等,当然也可以利用一些在线网站查询CMS指纹识别:

– BugScanner:whatweb.bugscaner.com/look/

– 云悉指纹: www.yunsee.cn/finger.html

– WhatWeb:whatweb.net

0x05 查找真实IP

1. 判断目标网站是否使用了 CDN (即内容分发网络,可以提高网站的响应速度)

​ 如果目标服务器有CDN服务,我们直接ping域名的话,得到的会是离我们最近的一台目标节点的CDN服务器,这时我们可以利用在线网站17CE(17ce.com)进行全国多地区的ping服务器操作,然后对比每个地区的ping出IP的结果,看看是否一致,如果都是一样的,那么目标不存在CDN服务器,如果IP大多不一样或着有规律性,则可以尝试查询这些IP的归属地,判断是否有CDN。

2. 绕过 CDN 寻找真实 IP

– 内部邮箱源。一般的邮件系统存在内部,没有经过CDN的解析,通过目标网站用户注册或者RSS订阅功能,查看邮件、寻找邮件头中的邮件服务器域名IP,ping这个邮件服务器域名,就能获取目标真实IP(当然这个服务器必须是目标自己的,若是第三方公共邮箱就没有意义了)

– 扫描网站测试文件,如phpinfo、test等,从而找到真实的IP。

– 分站域名。一般的都是主站挂CDN但是分站没有,可能会出现不是同一个IP但是在同一个c段下的情况。从而可以判断出目标的真实IP段。

– 国外访问。国内的CDN只针对国内用户访问加速,但是国外的CDN就不一定了。通过国外在线代理网站APP Synthetic Monitor(asm.ca.com/en/ping.php)访问,可能会得到真实的IP。

– 查询域名的解析记录。可以通过网站NETCRAFT(netcraft.com)来观察域名的IP历史记录,也可以大致分析出目标的真实IP段。

– 如果目标网站有自己的App,可以尝试抓包,从数据包内分析真实IP

– 绕过CloudFlare CDN查找真实IP。很多网站都使用了CloudFlare提供的CDN服务,可以尝试通过在线网站CloudFlareWatch(www.crimeflare.us/cfs.html#box)对CloudFlare客户网站进行真实的IP查询

3. 验证获取的 IP

最简单的就是访问IP,比较访问域名返回的结果是否一致,若目标段较大,可以借助Masscan的工具批量扫描对应IP段中所有开了80、8080、443端口的IP,逐个访问。

0x06 收集敏感目录文件

在渗透测试中,探测Web目录结构和隐藏的敏感文件是一个必不可少的环节,从中可以获取网站的后台管理页面、文件上传界面,甚至源代码。

针对网站目录扫描主要有:DirBuster、御剑后台扫描珍藏版、wwwscan、Spinder.py、Sensitivefilescan、Weakfilescan等工具。也可以访问在线网站WebScan(www.webscan.cc/)

0x07 社会工程学

针对人来下手。