信息收集总结

  小程序备案     |      2023-09-18
信息收集总结

信息收集往往作为渗透测试的第一步至关重要,良好的信息收集是渗透内网的基础。有人说过:渗透测试的本质是信息收集,那么我们从哪里开始信息收集呢?一般是通过域名或者IP地址来进行的。本次总结主要从域名信息采集、子域信息采集、端口信息采集、CMS指纹识别、敏感信息采集、CDN绕过等方面进行总结。

0x01 总体思路

收集域名信息的想法

1.根据域名,通过whois查询相关注册人信息(姓名、邮箱、电话号码)

2、根据注册人信息进行whois反向搜索,找出目标的其他域名信息,形成信息网络

3、根据域名通过搜索引擎和工具查询目标子域名

4、根据域名通过DNS域名解析获取目标域名的IP地址,并找到相同IP的网站

5.根据域名查询目标备案信息

6、根据IP地址查找目标IP的C网段信息,查找该C网段下是否存在目标的其他网站

7、根据IP地址查看域名信息

收集目标站点的想法

1、扫描目标站点的文件,查找是否存在各种敏感信息泄露

机器人.txt

.bak``.zip``.rar``.tar``.tar.gz(备份)

.git

.svn

.swp

.hg

DS_商店

2、扫描目标站点目录,可能存在目录遍历、各种未授权访问、其他Web应用和后台,以下目录可能存在未授权情况

Spring boot:/actuator``/env``/heapdump``/jolokia``/restart``/refresh``/trace

Jboss:/jmx-console

3.对目标站点进行端口扫描,可能存在高危端口和可爆破端口(包括ftp、ssh、snmp、rdp以及数据库相关端口等),以下端口可能是未授权端口

雷迪斯(6379)

mongodb(27017)

内存缓存(11211)

动物园管理员(2181)

桑巴(135-139, 445)

同步(873)

4. 对目标站点进行指纹识别,根据指纹识别结果查找相关漏洞。指纹识别结果包括目标站点使用的脚本语言(前端+后端)、数据库信息、中间件信息、框架信息、CMS信息等。

生存保护信息收集思路

1.如果目标站点有CDN,则需要绕过寻找真实IP

2、如果目标站点是WAF,那么攻击时需要被WAF识别并尝试绕过它

0x02 信息收集

1、域名信息收集

域名是互联网上某台计算机或计算机组名由一串以点分隔的名称组成的名称,主要用于在数据传输过程中标识该计算机的电子位置。一般计算机访问域名时,首先会搜索本地的host文件,找到该域名对应的IP地址(常用于本地域名部署和软件破解)。如果host文件不存在,则返回请求域名服务器获取IP地址。

whois查询

whois是一种用于查询IP、所有者等域名信息的传输协议。包括域名是否已注册、注册域名的详细信息(注册人、注册电子邮件地址、注册商等)。一般中小型网站的域名注册人都是站长,他们可以利用搜索引擎对whois查询的信息进行搜索,以获取更多域名注册人的个人信息。

1、web接口查询

https://whois.aliyun.com/

https://whois365.com/cn/

http://whois.chinaz.com/

http://whois.aizhan.com/

https://who.is/

2、通过命令行查询

whois [域名]

whois baidu.com

在线网站备案查询

网站备案信息是网站所有者根据国家法律法规向国家相关部门申请的备案。如果需要查询企业备案信息(单位信息、备案号、网站负责人、电子邮箱、联系电话、法人信息等)。一般只对国内域名有效。

1、web接口查询

http://www.beianbeian.com/

https://www.tianyancha.com/

https://icp.aizhan.com/

http://cha.fute.com/index/

https://www.qcc.com/

https://aiqicha.baidu.com/

https://beian.miit.gov.cn/#/Integrated/index

http://www.beian.gov.cn/portal/record查询

http://ip.tool.chinaz.com/

http://sh.gsxt.gov.cn/index.html

2、子域名信息收集

子域名是顶级域名的附加部分,例如map.baidu.com是baidu.com的子域名。子域名按照级别数分为二级子域名、三级子域名和多级子域名。通常面对主域的严密防守而不知所措,那么就可以采取迂回战术拿下子域名,无限接近主域。

1、子域名挖掘工具

(1) 子域暴力破解

https://github.com/lijiejie/subDomainsBrute

(2) 子列表3r

https://github.com/aboul3la/Sublist3r

(3) 一应俱全

https://github.com/shmiylty/OneForAll

(4) 层子域挖掘器

2、搜索引擎

(1) 百度、谷歌

站点:[域名]

网址:QQ.com

(2) 佛法

https://fofa.so/

域='[域名]'

域名='qq.com'

(3)钟馗之眼

https://www.zoomeye.org/

站点:[域名]

网址:QQ.com

3、web接口查询

http://tool.chinaz.com/子域名/

https://dnsdumpster.com/

https://www.t1h2ua.cn/tools/

https://hackertarget.com/find-dns-host-records/

https://x.threatbook.cn/

https://phpinfo.me/域名/

https://ruo.me/

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

https://crt.sh/

https://censys.io/

3. CMS指纹识别

CMS的英文全称是Content management system,即内容管理系统。主要用于集中存储网站相关内容,具有分组管理和版本控制功能。常见的CMS有Dedecms、Discuz、Phpcms、Drupal、WordPress等,通过指纹识别,可以根据CMS的特性和版本,在网络和漏洞库中查找并攻击相应的漏洞。如果CMS是开源的,还可以通过源代码进行代码审计,找到漏洞,然后编写POC和EXP以备将来使用。

1、CMS指纹识别工具

https://github.com/wpscanteam/wpscan

https://github.com/urbanadventurer/WhatWeb

https://github.com/Dionach/CMSmap

https://github.com/Tuhinshubhra/CMSeeK

https://github.com/EASY233/手指

https://github.com/Ms0x0/Dayu

2、web接口查询

http://whatweb.bugscaner.com/look/

https://www.webscan.cc/

https://www.yunsee.cn/

http://finger.tidesec.net/

3、谷歌插件

沃帕利泽

4. 港口信息采集

端口是设备与外界通信的窗口。计算机中的端口对应着各种服务。常见的端口有21、22、23、3389等,默认对应ftp、ssh、talent、远程桌面服务。检测端口的开放可以帮助我们了解计算机提供了哪些服务,同时我们可以完成对服务的相应攻击。比如windows下开放445端口可能存在永恒之蓝漏洞,tomcat开放8009端口可能存在鬼猫漏洞,开放443端口可能存在心血漏洞。

常见端口漏洞信息表

端口号

服务

攻击方式

21/22/69

FTP/TFTP

拆除、嗅探、溢出、后门

22

SSH

爆炸,28 个退格键

23

远程登录

爆破、嗅探

25

邮件传输协议

邮件伪造、爆破

53

域名系统

DNS 区域传输、DNS 劫持、DNS 缓存中毒、DNS 欺骗、穿越防火墙的DNS 隧道

67/68

DHCP

劫持、欺骗

110

流行3

爆破

139

桑巴舞

漏洞利用、未经授权的访问、远程代码执行

143

图像映射

爆破

161

SNMP

爆破

第389章

LDAP

注入,未经授权

512/513/514

操作系统

直接使用rlogin

第873章

同步

未经授权的

1080

插座

爆破、内网渗透

第1352章

莲花

爆破、弱口令、信息泄露(源码)

第1433章

数据库管理系统

喷砂、喷射

1521

甲骨文

爆炸、喷射、TNS远程中毒

2049

网络文件系统

配置不当

2181

动物园管理员

未经授权的

3306

mysql

爆炸、注入、拒绝服务

3389

rdp

爆破、移后门

4848

玻璃鱼

爆破、控制台弱口令、认证绕过

5000

数据库/数据库

喷砂、喷射

5432

PostgreSQL

爆破、弱口令、注入、缓冲区溢出

5632

电脑随处

拒绝服务、代码执行

6379

雷迪斯

未经授权、爆破、弱密码

7001

网络逻辑

反序列化、控制台弱口令、控制台部署webshell

8069

扎比克斯

远程命令执行

8080-8090

网络

常见Web攻击、爆破、中间件漏洞、CMS版本漏洞

9090

网络圈

爆破、控制台弱口令、反序列化

9200/9300

弹性搜索

远程代码执行

11211

内存缓存

未经授权的

27017

蒙古数据库

未经许可爆破

常用的查看本机的开放端口命令

Linux:netstat -ntlp

Windows:netstat -ano

MacOS:netstat -ant

1、端口扫描工具

主要使用nmap和masscan这两个工具进行端口扫描(当然御剑也不错,但是MacOS系统本身并不常用)。 nmap的优点是扫描信息准确,masscan的优点是速度快,两者的大部分命令是通用的。可以组合起来达到非常好的端口扫描效果。

nmap -sV -Pn -p-1.1.1.1 -oX 结果.xml

Masscan --open --banners -p-1.1.1.1 --rate 1000 -oX result.xml

2、web接口查询

http://coolaf.com/tool/port

5. 敏感信息的收集

敏感信息包括压缩源代码、robots.txt、数据库文件、git文件、svn文件、phpinfo等,通过搜索这些敏感文件,可以找到对应的敏感信息,有时甚至可以直接获取后台登录账号密码进入后台。

1、目录扫描、文件扫描

常用的工具有dirsearch、dirmap、7kbscan、Royal Sword等。

https://www.fujieace.com/hacker/tools/yujian.html

https://github.com/7kbstorm/7kbscan-WebPathBrute

https://github.com/lijiejie/BBScan

https://github.com/H4ckForJob/dirmap

https://github.com/maurosoria/dirsearch

2、谷歌黑客语法

filetype:指定文件类型,如.bak、mdb、inc等。

site:指定域名

#例如查询Access数据库:filetype:mdb 'standard jet'(密码|用户名|用户|pass)

3、github信息收集

邮件配置信息泄露:site:github.com smtp@qq.com

数据库信息泄露:site:github.com sa 密码、site:github.com root 密码、site:github.com User ID='sa' 密码

svn信息泄露:site:github.com svn

综合信息泄露:site:github.com密码、site:github.com ftp密码、site:github.com密码、site:github.com内部

六、CDN绕过

CDN的英文全称是Content Delivery Network,即内容分发网络。主要依靠部署在各地的边缘服务器通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,减少网络拥塞,提高用户访问响应速度。关键是分发和存储技术。

如何判断CDN?

一般用ping命令来判断。根据CDN的原理,它主要依靠部署在各地的边缘服务器进行负载均衡和内容分发。各地部署的服务器IP肯定不同,可以尝试多地ping查看域名。是否部署CDN。

1、多地ping检测

通过不同地区和国家的主机Ping目标。如果您没有在其他地区或国家购买CDN服务,您将获得不同的IP地址以确认真实IP地址。

https://ping.chinaz.com/

http://ping.aizhan.com/

2、历史域名解析记录

通过域名解析记录,您可以查看以前的域名解析记录,其中可能包含真实的IP地址。

https://dnsdb.io/zh-cn/

https://x.threatbook.cn/

https://tools.ipip.net/cdn.php

https://viewdns.info/

3、子域名解析记录

如果子域名和主域名在同一台服务器上,并且子域名没有购买CDN服务,那么也可以确认真实IP地址。

4、邮件服务器查询

一般情况下,邮件服务器可能与Web服务器属于同一个IP,因此在邮件通信时可以查看邮件的源代码来查找真实的IP地址。

5、SSL/TLS证书查询

如果网站部署了SSL/TLS证书,该证书将会绑定到相关的IP地址。一旦网站安装了SSL证书,与服务器的通信就会被加密。虽然这看起来很安全,但当连接到端口443 上的IP 时,SSL 证书将会暴露。

https://myssl.com/

https://crt.sh/

https://censys.io/

https://developers.facebook.com/tools/ct/

https://google.com/transparencyreport/https/ct/

6、http数据包查看

(1)找到http header,放入censys中搜索参数。例如,cloudflare 的http 标头为80.http.get.headers.server:cloudflare。找到之后,再寻找其他特征,最后找到交集,得到真实IP。

(2)找到cookie值并使用F5 LTM解码方法。例如,如果cookie值为BIGipServerpool_8.29_8030=487098378.24095.0000,则提取第一部分中的十进制数487098378,然后将其转换为十六进制,然后从后到前为0a .88.08.1d,转换十进制数到10.136.8.29,得到最终的真实IP。

(3)查找网站的源代码和返回包,例如使用80.http.get.body和http.html进行搜索。

0x03 参考文章

https://www.cnblogs.com/qiudabai/p/9763739.html

https://www.freebuf.com/articles/web/248163.html

https://www.freebuf.com/articles/database/195169.html

https://www.freebuf.com/articles/web/280193.html