Redteam wiki-信息收集
无论是在渗透过程中或是攻防演练,前期的信息收集工作是必不可少的,<信息收集是渗透的本质>,它为后续的漏洞发现及漏洞利用提供了重要的线索,更或许一次好的信息收集能帮助你拥有“上帝之眼”
本文将从以下三个方向说明信息收集
被动信息收集
主动信息收集
其他信息收集
-
被动信息收集:通过公开渠道获取目标系统的相关信息 例如FOFA (不会在目标系统留下痕迹)
-
主动信息收集:通过直接与目标系统交互来获取相关信息 例如NMAP (会在目标系统留下痕迹)
-
其他信息收集:通过电话、邮件方式侧方位获取目标相关信息(社会工程学)
被动信息收集
- Google、Bing等搜索引擎,通过输入特定的关键词
Google Hacking语法
inurl: 用于搜索网页上包含的URL.这个语法对寻找网页上的搜索,帮助之类的很有用.
intext: 只搜索网页部分中包含的文字(忽略了标题,URL等的文字).
filetype: 搜索文件的后缀或者扩展名
link: 可以得到一个所有包含了某个指定URL的页面列表
- 网络空间搜索引擎
FOFA https://fofa.info/
语法:
title title="beijing" 通过网站标题进行查询
header header="elastic" 通过响应标头进行查询
header_hash header_hash="1258854265" 通过http/https响应头计算的hash值进行查询
有点用但是不严谨的搜索方法
例如网站为www.hahaha.com
直接将hahaha.com贴上去
SHODAN https://www.shodan.io/
语法:
搜索包含指定域名的主机 hostname:seeyon.com
端口检索 port:6379
地址网段 ip:10.10.10.1/24
zoomeye https://www.zoomeye.org/
country:"CN"
搜索国家地区资产
可以使用国家缩写,也可以使用中/英文全称如country:"中国"country:"china"
subdivisions:"beijing"
搜索相关指定行政区的资产
中国省会支持中文及英文描述搜索如subdivisions:"北京"subdivisions:"beijing"
city:"changsha"
搜索相关城市资产
中国城市支持中文及英文描述搜索如city:"changsha"city:"长沙"
其他搜索引擎
HUNTER https://hunter.qianxin.com/
00sec https://0.zone/
360 https://quake.360.net/
微步 https://x.threatbook.com/v5/mapping
谛听 https://www.ditecting.com/
知风 https://zhifeng.io/web/new/
- Whois查询
爱站工具网 https://www.aizhan.com/
查询网 https://ip138.com/
站长之家 https://whois.chinaz.com/
全球whois https://www.whois365.com/cn/
- 备案信息及相关查询
天眼查 https://www.tianyancha.com/
搜狗搜索引擎 https://wx.sogou.com/
企查查 https://www.qcc.com/
ICP备案查询 https://beian.miit.gov.cn/#/Integrated/index
钉钉企典 https://www.dingtalk.com/qidian/home?spm=a213l2.13146415.4929779444.89.7f157166W6H4YZ
小蓝本 https://www.xiaolanben.com/pc
主动信息收集
端口扫描
端口速查表
| port | service | description |
| --------------------- | --------------------------- | ---------------------------------- |
| 21 | ftp/tftp/vsftpd文件传输协议 | 爆破/嗅探/溢出/后门 |
| 22 | ssh远程连接 | 爆破/openssh漏洞 |
| 23 | telnet远程连接 | 爆破/嗅探/弱口令 |
| 25 | smtp邮件服务 | 邮件伪造 |
| 53 | dns域名解析系统 | 域传送/劫持/缓存投毒/欺骗 |
| 67/68 | dhcp服务 | 劫持/欺骗 |
| 81 | IPCam | 登陆绕过/远程命令执行 |
| 110 | pop3 | 爆破/嗅探 |
| 139 | samba服务 | 爆破/未授权访问/远程命令执行 |
| 143 | imap协议 | 爆破 |
| 161/162 | snmp协议 | 爆破/搜集目标内网信息 |
| 389 | ldap目录访问协议 | 注入/未授权访问/弱口令 |
| 443 | openssl | web漏洞/心脏滴血 |
| 445 | smb | ms17-010/ms08-067 |
| 512/513/514 | linux rexec服务 | 爆破/Rlogin登陆 |
| 873 | rsync服务 | 文件上传/未授权访问 |
| 1080 | socks5 | 爆破 |
| 1352 | lotus domino邮件服务 | 爆破/信息泄漏 |
| 1433 | mssql | 爆破/注入/SA弱口令 |
| 1521 | oracle | 爆破/注入/TNS爆破/反弹shell |
| 2049 | nfs服务 | 未授权访问 |
| 2181 | zookeeper服务 | 未授权访问 |
| 2375 | docker remote api | 未授权访问 |
| 2601/2604 | zebra路由软件 | 默认口令zebra |
| 3128/3312 | squid | 远程代码执行 |
| 3306 | mysql | 爆破/注入 |
| 3389 | rdp远程桌面链接 | 爆破/shift后门 |
| 4848 | glassFish控制台 | 未授权/爆破/认证绕过 |
| 5000 | sybase/db2数据库 | 爆破/注入/提权 |
| 5432 | postgresql | 爆破/注入/缓冲区溢出 |
| 5601 | kibana开源分析及可视化平台 | 未授权访问 |
| 5632 | pcanywhere服务 | 抓密码/代码执行 |
| 5672 | rabbitmq开源消息队列服务 | 弱口令 |
| 5900 | vnc | 爆破/认证绕过 |
| 5984 | couchdb | 未授权访问/弱口令 |
| 6082 | varnish | varnish http accelerator cli未授权 |
| 6379 | redis数据库 | 未授权访问/爆破 |
| 7001/7002 | weblogic | java反序列化/控制台弱口令 |
| 80/443 | http/https | web应用漏洞/心脏滴血 |
| 8009 | tomcat-ajp协议 | cve-2020-1938 |
| 8069 | zabbix服务 | 远程命令执行/注入 |
| 8161/61616 | activemq | 弱口令/未授权/写文件/反序列化 |
| 8080/8089 | jboss/tomcat/resin | 爆破/PUT文件上传/反序列化 |
| 8083/8086 | influxdb | 未授权访问 |
| 8649 | ganglia分布式监控系统 | 信息泄露 |
| 9000 | fast-cgi | 远程命令执行 |
| 9090 | websphere控制台 | 爆破/java反序列化/弱口令 |
| 9200/9300 | elasticsearch | 远程代码执行 |
| 8059/10050 | zabbix | 弱口令/远程命令执行/注入 |
| 11211 | memcached | 未授权访问 |
| 27017/27018 | mongodb | 未授权访问/爆破 |
| 50000 | sap | 命令执行 |
| 8080/8088/50060/50070 | hadoop | 未授权访问 |
rustscan https://github.com/RustScan/RustScan
用法:rustscan.exe [FLAGS] [OPTIONS][——<command>]
YujianPortScan #扫描端口的时候顺带识别端口服务 预防目标将mysql等服务端口改为其他端口
NMAP #老牌工具了 https://nmap.org/
个人常用 nmap -PR x.x.x.x
Masscan https://github.com/robertdavidgraham/masscan
扫描某个主机的所有端口
masscan -p 1-65535 192.168.2.26 --rate 1000 # 扫描所有端口,设置速率为1000
端口扫描工具市面五花八门 重点在于如何利用 当然也可以python手写脚本去扫描
rad https://github.com/chaitin/rad/releases
yakit https://github.com/yaklang/yakit
记得安装证书
DNS与子域名枚举
政府域名:.gov
商业域名:.com
教育域名:.edu
二级域名:baidu.com
三级域名:www.baidu.com
DNSRecon https://github.com/darkoperator/dnsrecon
Layer子域名挖掘机
gobuster https://github.com/OJ/gobuster
SubDomainizer https://github.com/nsonaniya2010/SubDomainizer
用法:python3 SubDomainizer.py -u https://www.domain.com
Pentest Tools Subdomain Finder #网页在线
https://pentest-tools.com/information-gathering/find-subdomains-of-domain
dnsx https://github.com/projectdiscovery/dnsx
OneForAll https://github.com/shmilylty/OneForAll
敏感目录和文件扫描
御剑
DirBuster
Dirsearch #现在这款工具衍生出一系列版本 例如绕过403版本
https://github.com/maurosoria/dirsearch
dirsearch.py -u http://xxxx //日常使用
dirsearch.py -u http://xxxx -x 403,404 //排除403,404响应状态
dirsearch.py -u http://xxxx -x 403,404 -e zip,php
dirsearch.py -u http://xxxx -r //递归扫描,不过容易被检测
dirsearch.py -u http://xxxx -r -t 30 --proxy 127.0.0.1:8080 //使用代理
7kbscan-WebPathBrute https://github.com/7kbstorm/7kbscan-WebPathBrute
通常都是一些备份文件例如www.zip back.zip web.zip wwwroot.zip
敏感目录 /admin /root
(好的字典不仅仅是数量还有质量 有针对性的字典或许更能提升信息收集的进度)
后台目录:考虑 弱口令 万能密码 admin' # 这种 根据具体情况而定
上传目录:截断、上传图片马等 绕过方法就很多了 条件竞争 零零截断
mysql管理接口:弱口令、爆破,万能密码
安装页面 :可以二次安装进而绕过
phpinfo:会把配置的信息曝光
编辑器:fck、ke等
CMS指纹识别(利用特征去匹配)
常见指纹信息:
CMS
Discuz、织梦、帝国CMS、WordPress
前端技术
HTML5、jquery、Vue
开发语言
PHP、JAVA、JSP、ASP、ASPX
(根据网站URL来判断 可以多探测一下 看他的主页是index.php 还是index.jsp 一系列)
web服务器
Apache、Nginx、IIS
应用服务器:
Tomcat、Jboss、Weblogic
操作系统信息
Linux、windows
(判断方法
ping 判断,windows的TTL值一般为128,Linux则为64。所以TTL大于100的一般为windows,几十的一般为linux,但是,通过TTL值来判断服务器类型也不是百分之百准确的,有部分windows服务器的TTL值也是几十,而且有的服务器禁止ping,无法通过该方式探测 这里还是不能直接性确认
nmap扫描,可以通过-O或者-A参数来扫描操作系统
windows大小写不敏感,linux则区分大小写,也可以把这个作为判断操作系统的依据,我们在访问的时候可以尝试把路径部分改成大写,然后去访问,看能否请求成功。)
其他组件信息
fastjson、shiro、apache等
OA办公
通达OA 致远OA
(这里是希望大家有一个自备的POC或EXP库 如果刚好测到一个站可以及时检测 例如xx OA <= xx版本
如果是一些攻防演练 你没有备库 当你网上库库找的时候 说不定人家被你扫描到后(自检)直接关站了
有能力的话可以自己写一个Python 导入poc 批量检测)
WhatCMS https://whatcms.org/
BuiltWith https://builtwith.com/
CMSmap https://github.com/dionach/CMSmap
WPScan:一个针对WordPress网站的安全扫描工具
御剑Web 指纹识别
还有一些在线网站
云悉 https://www.yunsee.cn/
BugScaner http://whatweb.bugscaner.com/look/
潮汐指纹识别 潮汐指纹:http://finger.tidesec.net/
谷歌插件
Wappalyzer
WhatRuns
DayDayPoc #Poc的漏洞指纹
火狐插件
netcraft Extension
关于CDN
CDN可以说是一种资源服务器,不仅可以加速网站访问,还可以提供waf服务,如防止cc攻击,SQL注入拦截等多种功能,除此之外,还可以隐藏服务器的真实IP,cdn服务会根据你所在的地区,选择合适的线路给予你访问,所以如何绕过CDN就十分重要了。
CDN检测
使用全球ping:不同的地区访问有着不同的IP,这样就确定了该域名使用了cdn了
http://ping.chinaz.com/
https://ping.aizhan.com/
https://www.17ce.com/
CDN绕过
绕过的核心还是hosts绑定,当发现ip后,可以尝试nc端口探测,也可以用nmap进行服务探测,如果像正常的服务器,就可以模糊确定是真实IP。若发现真实ip,可进行hosts绑定,绕过CDN的防御,直接发起渗透,也可以进行IP反查,通过反查的网站来渗透。
1. 国外dns获取真实IP:部分cdn只针对国内的ip访问,如果国外ip访问域名 即可获取真实IP。
https://www.wepcc.com/
http://www.ab173.com/dns/dns_world.php
https://dnsdumpster.com/
https://who.is/whois/zkaq.cn
2. DNS历史绑定记录
https://dnsdb.io/zh-cn/ # DNS查询,查看A记录有哪些,需要会员。
https://x.threatbook.cn/ # 微步在线,需要登录。
https://viewdns.info/ # DNS、IP等查询。
https://tools.ipip.net/cdn.php # CDN查询IP
https://sitereport.netcraft.com/ # 记录网站的历史IP解析记录
https://site.ip138.com/ # 记录网站的历史IP解析记录
3. 被动获取:让目标连接我们获得真实IP。比如网站有编辑器可以填写远程URL图片,或者有SSRF漏洞。
4. 如果目标有绑定SSL证书 可以从证书查看详细内容
(这里能看的东西还是有几个 例如序列号去转换 放到FOFA上查询 还有直接显示子域的情况)
HTTP标头(注意点)
其他信息收集
社会工程学
通过电话、邮件等方式与目标公司企业的员工进行交流,尝试获取相关信息
这里不止步于通过朋友圈图片定位 或是个人社区
注意避免违法操作
旁站和C段扫描
这里前提是如果目标资产有IP曝露在公网上或是进入内网
------------------------------------
内网资产收集 fscan
arp 探测存活主机
------------------------------------
蜜罐识别(利用特征去匹配)
谷歌插件三部曲
Anti-HoneyPot
AntiHoneypot
Heimdallr
------------------------------------
AppInfoScanner
一款适用于以HW行动/红队/渗透测试团队为场景的移动端(Android、iOS、WEB、H5、静态网站)信息收集扫描工具,可以帮助渗透测试工程师、攻击队成员、红队成员快速收集到移动端或者静态WEB站点中关键的资产信息并提供基本的信息输出,如:Title、Domain、CDN、指纹信息、状态信息等。
ApkAnalyser
https://github.com/TheKingOfDuck/ApkAnalyser
一键提取安卓应用中可能存在的敏感信息
针对于目标有小程序的情况下
------------------------------------
JS信息查找
JSFinder https://github.com/Threezh1/JSFinder
JSFinder是一款用作快速在网站的js文件中提取URL,子域名的工具
JSINFO-SCAN
https://github.com/p1g3/JSINFO-SCAN
https://github.com/sectest2024/jsinfo-scan
递归爬取域名(netloc/domain),以及递归从JS中获取信息的工具
URLFinder https://github.com/pingc0y/URLFinder
URLFinder是一款用于快速提取检测页面中JS与URL的工具。
------------------------------------
bp关注返回包的内容 不要一味的在意死板的内容
信息收集的方法大同小异 比的就是细心与耐心 与一些奇奇怪怪的操作
403
作为普通用户访问特定网页的权限,它会给我们返回 403,表示没有权限访问
绕过方法:
尝试使用不同的请求方法来访问:
HTTP请求方法:
GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK
HTTP头
X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Forwarded: 127.0.0.1
Forwarded-For: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
X-ProxyUser-Ip: 127.0.0.1
X-Original-URL: 127.0.0.1
Client-IP: 127.0.0.1
True-Client-IP: 127.0.0.1
Cluster-Client-IP: 127.0.0.1
X-ProxyUser-Ip: 127.0.0.1
Host: localhost
如果路径受到保护,您可以尝试使用这些其他标头绕过路径保护:
X-Original-URL: /admin/login.php
X-Rewrite-URL: /admin/login.php
路径参数污染方法绕过
sec.com/admin –> HTTP 403 Forbidden
sec.com/ADMIN –> HTTP 200 OK
sec.com/admin/ –> HTTP 200 OK
sec.com/admin/. –> HTTP 200 OK
sec.com//admin// –> HTTP 200 OK
sec.com/./admin/.. –> HTTP 200 OK
sec.com/;/admin –> HTTP 200 OK
sec.com/.;/admin –> HTTP 200 OK
sec.com//;//admin –> HTTP 200 OK
------------------------------------
BlueTeam前期资产排查及检测
AWVS https://www.acunetix.com
Nessus http://www.tenable.com/products/nessus/select-your-operating-system
Appscan https://www.hcltechsw.com/products/appscan
goby https://gobies.org/
OWASP-ZAP https://github.com/zaproxy/zaproxy
WAF
Web应用防护系统
防止常见的各类网络攻击,如:SQL注入,XSS跨站,CSRF,等。
防止各类自动化攻击,暴力破解。
阻止其他常见威胁,爬虫,越权访问,敏感信息泄露,远程恶意包含,扫描。
wafw00f https://github.com/EnableSecurity/wafw00f
nmap识别waf
--script http-waf-detect
--script http-waf-fingerprint
打点是门艺术
最后安利一款"艺术"工具 X R A Y
https://github.com/chaitin/xray
https://xray.cool/