当有一个很大的集团目标时,一般的信息搜集流程如下:
集团结构:
主要提取出历史网站备案,域名、子公司域名、备案号、注册邮箱(邮箱@后的也可能是域名)、手机号。
备案号查同备案的网站
主域名中的跳转链接、JS中的链接搜集
集团结构信息搜集后一般会得到主域名,也就是官网信息,可能有很多跳转链接,也属于他的资产,包括JS中的链接。推荐使用这个工具进行提取:
- jsfinder(扫API和子域名):https://github.com/Threezh1/JSFinder
1
python JSFinder.py -u http://www.baidu.com -d -ou mi_url.txt -os mi_subdomain.txt
深挖更多IP资产:
CDN:
根据域名查是否有CDN:
多地
ping
:https://tools.ipip.net/httphead.php。如果返回都是一样的IP那就没有CDNNslookup
:Win下使用nslookup命令进行查询,若返回域名解析结果为多个ip,多半使用了CDN
CDN绕过找到真实IP:
- 全球
ping
:https://asm.ca.com/en/ping.php(针对小厂CDN,国外访问可能获得真实IP) - 注册查看邮件原文
- 历史解析:
DNSdumpster
(在线):https://dnsdumpster.com/- 历史
DNS
记录:https://rapiddns.io/subdomain
- 配置不当
phpinfo
- 站点同时支持
http
和https
访问,CDN
只配置https
协议,那么这时访问http
就可以轻易绕过。 - 其他信息泄露、
git
、svn
源码
- 通过找到的子域名辅助查找真实IP
- 查询
https
证书:https://censys.io/ipv4
确认是否为真实IP:
- 直接访问IP和访问域名的结果是一样的。
IP资产证明:
当拿到很多IP之后,如何确定是不是目标的资产?
- 查IP归属:https://www.ipip.net/ip.html(如果查到是阿里云或者腾讯云的基本可以放弃)
- 网站logo
- 网站底部版权声明
批量扫描
- goby扫C段(说不定就扫到命令执行了呢)
- nmap扫全端口
- 同IP网站查询其他域名:https://tools.ipip.net/ipdomain.php
子域名搜集,目录扫描:
子域名搜集
通过以上的信息搜集,就会得到很多域名。子域名收集。推荐一个工具OneForAll
能扫到多级目录,多,有标题
1 | python3 oneforall.py --target example.com --port=80,443,8080,8009,7001 --valid=True --path=./subs.csv run |
目录扫描
遇见、swebscan
访问域名404或者403的,权重高的直接批量扫目录(字典要强大,说不定就扫到源码了呢)
拓展资产搜集
FOFA关键词搜集:
师傅这篇文章写的很详细了可以参考一下:链接
微信公众号搜集:
- 很多集团的资产找不到的情况下,可以试一下微信搜公众号,或许会有不一样的发现
- 找其他技术文章也一样,一般精品文章都在微信
APP搜集:
反编译APK并提取所有URL链接Diggy:
注意:
- 需要在linux下使用
- 需要安装配置apktool
icon搜集:
提取集团icon
的hash
然后fofa
搜:
python
几行代码实现:
1 | import mmh3 |
供应链,网站指纹:
一些好用的谷歌插件:
wappalyzer
:查看网站使用了哪些技术,配合上FOFA
就可以更快熟悉目标。FOFA Pro View
:查看网站IP,以及开放的端口,同IP网站等EditThisCookie
:可以很方便修改已保存的cookie
User-Agent
:可以快速修改请求ua(某些url只能用手机访问)X-Forwarded-For Header
:可以很方便的在请求里面加X-Forwarded-For
头JSONView
:美化json
,方便浏览(无图脑补)HackBar
:这个不用介绍,手艺人必备。
社工搜集:
这里没研究过,提供一个思路:
网盘搜关键词找是否有泄露的敏感文件(有些员工分享文件可能会用这个):凌风云网盘
写脚本爬各招聘网站HR的邮箱然后发简历钓鱼
已知集团邮箱后缀,全拼姓名TOP500字典爆破验证存活的邮箱然后针对发邮件(最笨的法子了):链接
针对某个员工生成字典撞库密码字典生成器
漏洞文库:
- 零组文库:零组
- 乌云镜像:https://wooyun.x10sec.org/
常见端口渗透思路:
端口号 | 端口说明 | 渗透思路 |
---|---|---|
21/69 | FTP/TFTP:文件传输协议 | 爆破、内网嗅探 |
22 | SSH:远程连接 | 用户名枚举、爆破 |
23 | Telnet:远程连接 | 爆破、内网嗅探 |
25 | SMTP:邮件服务 | 邮件伪造 |
53 | DNS:域名系统 | DNS域传送\DNS缓存投毒\DNS欺骗\利用DNS隧道技术刺透防火墙 |
389 | LDAP | 未授权访问(通过LdapBrowser工具直接连入) |
443 | https服务 | OpenSSL 心脏滴血(nmap -sV –script=ssl-heartbleed ) |
445 | SMB服务 | ms17_010远程代码执行 |
873 | rsync服务 | 未授权访问 |
1090/1099 | Java-rmi | JAVA反序列化远程命令执行漏洞 |
1352 | Lotus Domino邮件服务 | 爆破:弱口令、信息泄漏:源代码 |
1433 | MSSQL | 注入、SA弱口令爆破、提权 |
1521 | Oracle | 注入、TNS爆破 |
2049 | NFS | 配置不当 |
2181 | ZooKeeper服务 | 未授权访问 |
3306 | MySQL | 注入、爆破、写shell、提权 |
3389 | RDP | 爆破、Shift后门、CVE-2019-0708远程代码执行 |
4848 | GlassFish控制台 | 爆破:控制台弱口令、认证绕过 |
5000 | Sybase/DB2数据库 | 爆破、注入 |
5432 | PostgreSQL | 爆破弱口令、高权限执行系统命令 |
5632 | PcAnywhere服务 | 爆破弱口令 |
5900 | VNC | 爆破:弱口令、认证绕过 |
6379 | Redis | 未授权访问、爆破弱口令 |
7001 | WebLogic中间件 | 反序列化、控制台弱口令+部署war包、SSRF |
8000 | jdwp | JDWP 远程命令执行漏洞(工具) |
8080/8089 | Tomcat/JBoss/Resin/Jetty/Jenkins | 反序列化、控制台弱口令、未授权 |
8161 | ActiveMQ | admin/admin、任意文件写入、反序列化 |
8069 | Zabbix | 远程命令执行 |
9043 | WebSphere控制台 | 控制台弱口令https://:9043/ibm/console/logon.jsp、远程代码执行 |
9200/9300 | Elasticsearch服务 | 远程代码执行 |
11211 | Memcache | 未授权访问(nc -vv 11211) |
27017 | MongoDB | 未授权访问、爆破弱口令 |
50000 | SAP | 远程代码执行 |
50070 | hadoop | 未授权访问 |
结语
信息收集是一个看似琐碎但不可或缺的步骤,在网络攻击和防御的成本都越来越低的当下,信息差往往是决定成败的关键。只有找到更多的资产暴露攻击面,才能找到别人发现不了的漏洞。