小迪安全--信息打点(2)
业务资产
查询平台:
小蓝本 | https://www.xiaolanben.com/ |
---|---|
爱企查 | https://aiqicha.baidu.com/ |
业务类型
WEB 应用 2. APP 应用 3. PC 端应用 4. 小程序应用 5. 微信公众号 6. 其他产品等
Web应用
工具大全
主要资产内容
- WEB 应用 2. APP 应用 3. PC 端应用 4. 小程序应用 5. 微信公众号 6. 其他产品等
查询工具:
名称 | 地址 |
---|---|
天眼查 | https://www.tianyancha.com/ |
小蓝本 | https://www.xiaolanben.com/ |
爱企查 | https://aiqicha.baidu.com/ |
企查查 | https://www.qcc.com/ |
国外企查 | https://opencorporates.com/ |
启信宝 | https://www.qixin.com/ |
查询重点
- 业务方向:网站、APP、PC端应用、小程序、微信公众号等
- 知识产权:域名、商标、专利等
- 关联企业:分公司、子公司等关联企业信息
公众号信息
名称 | 地址 |
---|---|
搜狗微信搜索 | https://weixin.sogou.com/ |
Web单域名
- 备案信息 2. 企业产权 3. 注册域名 4. 反查解析
备案信息
名称 | 地址 |
---|---|
备案信息查询 | http://www.beianx.cn/ |
备案管理系统 | https://beian.miit.gov.cn/ |
查询备案信息方法:
- 通过业务资产方法查询到的备案信息
- 备案信息查询
- 门户网站最底部
未备案的域名无法进行查询
注册域名
名称 | 地址 |
---|---|
域名注册查询 | https://buy.cloud.tencent.com/domain |
备案信息查询 | https://beian.miit.gov.cn/ |
查询内容
- 目标企业注册的所有域名
- 域名注册时间、到期时间
- 域名持有人信息
IP 反查
根据获取到的IP进行反向查询域名信息
名称 | 地址 |
---|---|
IP 反查域名 | https://x.threatbook.cn/ |
IP 反查域名 | http://dns.bugscaner.com/ |
Web子域名
- DNS 数据 2. 证书查询 3. 网络空间 4. 威胁情报 5. 枚举解析
DNS 数据
名称 | 地址 |
---|---|
dnsdumpster | https://dnsdumpster.com/ |
证书查询
名称 | 地址 |
---|---|
CertificateSearch | https://crt.sh/ |
网络空间
名称 | 地址 |
---|---|
FOFA | https://fofa.info/ |
全球鹰 | http://hunter.qianxin.com/ |
360 | https://quake.360.cn/quake/ |
钟馗之眼 | https://www.zoomeye.org/ |
零零信安 | https://0.zone/ |
Shodan | https://www.shodan.io/ |
Censys | https://censys.io/ |
ONYPHE | https://www.onyphe.io/ |
FullHunt | https://fullhunt.io/ |
Soall Search Engine | https://soall.org/ |
Netlas | https://app.netlas.io/responses/ |
Leakix | https://leakix.net/ |
DorkSearch | https://dorksearch.com/ |
威胁情报
名称 | 地址 |
---|---|
微步在线 情报社区 | https://x.threatbook.cn/ |
奇安信 威胁情报中心 | https://ti.qianxin.com/ |
360 威胁情报中心 | https://ti.360.cn/#/homepage |
VirusTotal 在线查杀平台 | https://www.virustotal.com/gui/ |
VenusEye 威胁情报中心 | https://www.venuseye.com.cn/ |
绿盟科技 威胁情报云 | https://ti.nsfocus.com/ |
IBM 情报中心 | https://exchange.xforce.ibmcloud.com/ |
天际友盟安全智能平台 | https://redqueen.tj-un.com |
华为安全中心平台 | https://isecurity.huawei.com/sec |
安恒威胁情报中心 | https://ti.dbappsecurity.com.cn/ |
AlienVault | https://otx.alienvault.com/ |
深信服 | https://sec.sangfor.com.cn/ |
丁爸情报分析师的工具箱 | http://dingba.top/ |
听风者情报源 start.me | https://start.me/p/X20Apn |
GreyNoise Visualizer | https://viz.greynoise.io/ |
URLhaus 数据库 | https://urlhaus.abuse.ch/browse/ |
Pithus | https://beta.pithus.org/ |
枚举解析
名称 | 地址 |
---|---|
在线子域名查询 | http://tools.bugscaner.com/subdomain/ |
DNSGrep 子域名查询 | https://www.dnsgrep.cn/subdomain |
工具强大的子域名收集器 | https://github.com/shmilylty/OneForAll |
Web 架构资产
- 程序语言 2. 框架源码 3. 搭建平台 4. 数据库类 5. 操作系统
指纹识别
名称 | 地址 |
---|---|
在线 cms 指纹识别 | http://whatweb.bugscaner.com/look/ |
Wappalyzer | https://github.com/AliasIO/wappalyzer |
TideFinger 潮汐 | http://finger.tidesec.net/ |
云悉指纹 | https://www.yunsee.cn/ |
WhatWeb | https://github.com/urbanadventurer/WhatWeb |
数字观星 Finger-P | https://fp.shuziguanxing.com/#/ |
特殊场景
当web服务器是内网环境如何进行识别呢?
在线指纹识别平台是无法使用的,只能使用工具进行测试
GitHub - newbe3three/gotoscan: 由Go语言实现的一款CMS指纹识别工具。
使用方法:
gotoscan.exe -host https://localhost.com
gotoscan.exe -hosts hosts.txt
框架源码
开源源码
- 利用指纹识别找到CMS
- 官网下载
闭源源码
源码泄露
#后端-闭源-配置不当-源码泄漏
参考:https://www.secpulse.com/archives/124398.html
敏感目录文件扫描
CVS:https://github.com/kost/dvcs-ripper
GIT:https://github.com/lijiejie/GitHack
SVN:https://github.com/callmefeifei/SvnHack
DS_Store:https://github.com/lijiejie/ds_store_exp
- .git泄露
- 通过web站点扫描工具,扫到.git
- 使用githack进一步获取源码
- .svn泄露
- 通过web站点扫描工具,扫到.svn
- 使用svnhacker进一步获取源码
- .ds_store泄露
- 通过web站点扫描工具,扫到.ds_store
- 使用Dump all(源码泄露集成工具)
- 网站压缩文件
- 直接下载
- composer文件泄露(php特有)
- composer.josn就像是一个网站说明性文件,里面可能会包括源码
码云资源搜索
1、提取特征关键文件
如网站的js文件名、脚本文件名
2、进行信息搜索(通过浏览网站页面获取)
查看是否存在QQ号、邮箱地址、作者名、关键注释信息
3、对收集的信息进行搜索
使用git、gitee、oschina
GITHUB资源搜索:
in:name test #仓库标题搜索含有关键字
in:descripton test #仓库描述搜索含有关键字
in:readme test #Readme文件搜素含有关键字
stars:>3000 test #stars数量大于3000的搜索关键字
stars:1000..3000 test #stars数量大于1000小于3000的搜索关键字
forks:>1000 test #forks数量大于1000的搜索关键字
forks:1000..3000 test #forks数量大于1000小于3000的搜索关键字
size:>=5000 test #指定仓库大于5000k(5M)的搜索关键字
pushed:>2019-02-12 test #发布时间大于2019-02-12的搜索关键字
created:>2019-02-12 test #创建时间大于2019-02-12的搜索关键字
user:test #用户名搜素
license:apache-2.0 test #明确仓库的 LICENSE 搜索关键字
language:java test #在java语言的代码中搜索关键字
user:test in:name test #组合搜索,用户名test的标题含有test的
关键字配合谷歌搜索:
site:Github.com smtp
site:Github.com smtp @qq.com
site:Github.com smtp @126.com
site:Github.com smtp @163.com
site:Github.com smtp @sina.com.cn
site:Github.com smtp password
site:Github.com String password smtp
黑产源码
JS信息收集
与后端语言的差异
后端语言:php、java、python、.NET 浏览器段看不到真实的源代码
前端语言:JS和JS框架 浏览器段可以看到真实的源代码
识别方法
- 使用插件wappalyer
- 源代码简短
- 引入多个js文件(关注admin.js、login.js)
- 一般有/static/js/app.js等顺序的js文件
- 一般有cookie中有connect.sid
PHP等后端应用:Wappalyzer显示主要语言为PHP,JS仅作为辅助库,十有八九不是JS前端架构
纯前端应用:编程语言显示为JavaScript,框架显示Vue/React等
常见框架
Vue、NodeJS、jQuery、Angular等
存在的安全隐患
- 源代码泄露
- 未授权访问(js里面分析更多的url地址确定接口路径)
- 敏感key泄露(js文件中可能配置了接口信息如云应用、短信、邮箱、数据库等)
- API接口安全(代码中加密提交的参数传递,更多的URL路径)
测试方法
人工测试
浏览器:
- 打开浏览器开发者工具(F12)
- 切换到Network面板筛选JS文件
- 重点分析包含关键字的文件(如login/admin)
- 使用Ctrl+Shift+F全局搜索接口路径
全局搜索关键字:
- src=
- path=
- method:”get”
- http.get(“
- method:”post”
- http.post(“
- $.ajax
- http://service.httppost
- http://service.httpget
Burp插件收集
HaE:https://github.com/gh0stkey/HaE
通过规则库正则匹配数据包中的敏感数据,并高亮展示匹配到的数据包。
BurpAPIFinder:https://github.com/shuanx/BurpAPIFinder
JS敏感信息匹配插件,且据作者说信息匹配除正则外还支持多种模式,集成了HaE、APIKit等敏感信息指纹等。
依据其配置文件规则匹配,听说该插件支持递归扫描、深入挖掘,因此能获取到更多的信息。不过缺点就是,扫描速度慢,刷新时内存占用高。
自动化工具收集
浏览器插件 → FindSomething
该插件会收集当前标签页源码&JS链接,并将收集到的JS链接再次加载以获取JS源码,随后从获取到的html&js源码中通过正则匹配其中的敏感信息并展示。
JSFinder:https://github.com/Threezh1/JSFinder
依据正则检索Web js文件中的URL、子域名等信息。
URLFinder:https://github.com/pingc0y/URLFinder
作者说由于JSFinder项目长时间无人维护,因此自己写了一个。项目较新,检索速度快&内容多,对于自动化工具JS信息收集,更推荐该项目。 相较于JSFinder,使用URLFinder获取到的信息除URL&子域名外,还有各种经规则匹配的敏感信息。
ffuf:https://github.com/ffuf/ffuf
使用模糊测试的方法,通过大字典去跑目标Web可能存在的JS文件,主要针对部分JS文件可能存在但并未被发送至客户端的情况,从而获取更多信息。
其实就跟目录扫描差不多,只不过这里扫的全是js文件罢了。由于使用ffuf需要提前准备字典,字典网站:https://wordlists.assetnote.io/
Packer-Fuzzer:https://github.com/rtcatc/Packer-Fuzzer
由于WebPack会自动将打包后的JS代码进行混淆,导致上述JS信息收集方式收集到的信息不那么准确,因此针对WebPack站点,建议使用对口工具。Packer-Fuzzer,主要目标为WebPack站点,针对被打包的JS文件进行敏感信息收集,且支持部分漏洞检测,扫描完成后会自动生成检测报告。
该项目会先将整个WebPack打包文件拖下来,再对拖下来的文件内容进行收集敏感信息,最后给出报告。因此实际中使用该工具跑一遍站点速度较慢。
jjjjjjjjjjjjjs:https://github.com/ttstormxx/jjjjjjjjjjjjjs
针对WebPack站点的敏感信息收集工具。相较于Packer-Fuzzer,该项目仅匹配JS文件中的敏感信息,而不会拖取被打包文件
框架组件
识别框架能快速判断目标系统是否存在已知漏洞
PHP开发框架
ThinkPHP、Laravel、Yii
Python开发框架
Django和Flask
Java开发框架
- 常见Web容器: Tomcat、JBoss、Jetty等是Java Web开发中常用的Web容器
- 数据库组件: Hibernate、MyBatis、MySQL、Oracle、SQL Server、PostgreSQL、MongoDB等是Java常用的数据库相关组件
- 缓存数据库: Redis是Java中常用的缓存数据库
- 消息队列: Kafka、RabbitMQ等消息队列组件
- 其他功能组件: 包括负载均衡、分布式数据库、日志收集、搜索类、系统监控、分库分表、微服务等各类功能组件
Java组件
日志记录组件: Log4j、Logback、SLF4J等,用于实现日志记录功能
安全认证组件: JWT、Shiro等,用于用户认证和权限管理
文件处理组件: POI用于处理Office文件,PDFBox用于处理PDF文件
数据解析组件: Jackson、Fastjson、Gson等,用于JSON数据解析
Web开发三种模型
- 基础模型:完全手写功能代码,无框架和组件依赖(风险较高–>常规代码审计)
- 以框架为核心实现功能(内置安全防护,漏洞可预测—>历史漏洞利用)
- 框架+第三方组件(可能存在历史、版本漏洞—>框架+组件组合测试)
Python框架
Django识别
识别方法
- 插件工具识别(如Wappalyzer)
- 数据包特征:Set-Cookie字段包含CSRF token等特定字段
- 管理页面路径通常包含”/admin”
- 返回包头常见”X-Powered-By: Django”
- 页面底部可能显示”Django site admin”
Flask识别
识别方法
- 数据包特征:ETag字段包含flask
- 插件工具识别(如Wappalyzer)
- 错误页面可能会显示Flask调试信息
不是所有Flask应用都会暴露框架信息
PHP框架
- 插件直接识别ThinkPHP框架
- 返回包头包含”X-Powered-By: ThinkPHP”
- 特定错误页面样式
- favicon.ico图标特征

这些固定特征通常出现在Cookie、响应头或HTML源代码中:
Laravel
- 包含”laravel_session”、”XSRF-TOKEN”等关键字
- Set-Cookie: 含有XSRF-TOKEN、laravel_seesion等关键字- Yii
- Set-Cookie: 包含”YII_CSRF_TOKEN”、”yii”等关键字
- ThinkPHP
- 包含特定格式的Cookie或响应头
JAVA识别
识别方法
- 通过数据包特征识别(如remember me字段识别Shiro)
- 通过URL后缀识别(如.do、.action识别Struts)
- 通过默认页面/图标识别(如Spring Boot的默认错误页面和图标)
- 通过端口识别(如Solr默认端口8983)
FastJson/Jackson
在提交Json数据包中修改测试:
—FastJson组件会将01解析为1 F: id:01 正常
—Jackson组件在解析01时会抛出异常 J: id:01 报错
Shiro(验证用户身份的组件)
请求包的cookie中存在rememberMe字段
返回包中存在set-cookie:rememberMe=deleteMe
请求包中存在rememberMe=X时,响应包中存在rememberMe=deleteMe
有时服务器不会主动返回rememberMe=deleteMe,直接发包即可,将cookie内容改为rememberMe=1,若响应包中有rememberMe=deleteMe,基本可以确定网站是apache shiro搭建的
Struts2
使用Struts2框架后后缀一般带do或action
Springboot
1、通过web应用程序网页标签的小绿叶图标识别
2、通过Springboot框架默认的报错页面识别
Solr
一般开放8983端口,访问页面也可以探针到
其他思路
1、使用CMS识别到源码体系TP开发
用cms进行识别,如识别出来是api admin但小程序核心仍然是ThinkPHP。
2、使用工具扫描
3、使用空间测绘搜索相关图标信息识别

WAF防火墙
定义: Web应用防火墙(Web Application Firewall,简称WAF),是专门保护Web应用的安全防护系统。
核心功能
- 保护Web应用免受攻击
- 阻止常规攻击手段
类比说明: 类似于电脑杀毒软件,但专门针对Web应用而非主机安全
保护范围
- 仅保护Web应用层面
- 不保护主机渗透、数据库渗透等非Web应用攻击
WAF分类
- 云WAF
- 由云服务商提供(如腾讯云、阿里云、华为云、百度云、亚马逊云等)
- 集成在云产品中,用户不可见
- 有免费版和收费版
- 硬件WAF
- 由安全公司研发的专用硬件设备(如深信服、绿盟、永信至诚、知道创宇等)
- 部署在客户机房
- 升级可能需要更换设备
- 软件WAF
- 可下载安装的软件(如D盾、安全狗、宝塔等)
- 直接安装在服务器上
- 代码级WAF
- 通过代码实现的过滤规则
- 集成在网站源代码中
WAF识别
识别方法
- 拦截页面识别:通过观察网站拦截页面特征进行人工判断,不同WAF产品有独特的拦截界面样式
- 工具识别:使用自动化工具(如wafw00f)进行检测,支持国内外84种常见WAF产品的识别
- 网络空间测绘:通过搜索引擎查询目标网站使用的安全产品信息
工具识别
WAFW00F
检测命令:
进入waf00f文件夹:python main.py 目标URL
支持列表:工具内置支持阿里云WAF、安全狗、华为云WAF、腾讯云WAF等国内外主流产品
IdentYwaf
GitHub - stamparm/identYwaf: Blind WAF identification tool
检测命令
Usage: python identYwaf.py [options] <host|url>
空间测绘平台
工作原理: 通过爬取互联网设备信息建立数据库
网络空间测绘,网络空间安全搜索引擎,网络空间搜索引擎,安全态势感知 - FOFA网络空间测绘系统
蜜罐系统
常见蜜罐系统
- AMUN IMAP蜜罐
- DIONAEA HTTP/SMBD/MSSQL/Memcached/FTP蜜罐
- HONEYPY HTTP/ES蜜罐
- KIPPO SSH蜜罐
- HFISH蜜罐管理后台
- CONPOTS7工业控制系统蜜罐
- ELASTICSEARCH蜜罐
- WEBLOGIC蜜罐等
本质:一种安全威胁检测技术,通过引诱和欺骗攻击者来记录其攻击手段
核心目的
- 刻画攻击者画像
- 还原攻击手法
- 实现时间消耗战术
分类标准:基于交互程度等级
- 低交互蜜罐:仅建立单次连接(”简单玩一下就完了”)
- 中交互蜜罐:提供多阶段交互(”再玩一玩”)
- 高交互蜜罐:深度持续交互(”很深入的玩,像交朋友一年”)
核心功能
- 节点管理(可自定义开放端口)
- 攻击行为记录(包括IP、时间、尝试的凭证等)
- 实时攻击态势展示(大屏可视化)
攻击模拟
- 提供虚假登录界面(如admin/admin)
- 记录所有异常访问尝试
- 生成攻击者指纹信息
识别特征
- 非常规端口服务(如4433)
- 过于明显的漏洞暴露
- 系统响应存在固定模式
蜜罐识别方法
浏览器插件识别法
Heimdallr
GitHub - Ghr07h/Heimdallr: 一款完全被动监听的谷歌插件,用于高危指纹识别、蜜罐特征告警和拦截、机器特征对抗
Heimdallr是一款致力于被动嗅探浏览器流量,用于提示漏洞框架指纹、告警拦截蜜罐请求、对抗浏览器特征追踪(浏览器持久化、webRTC、Canvas画布等)的Chrome插件。
- 识别原理:通过检测指纹特征判断是否为蜜罐系统,会显示”敏感信息存在手机号码”等告警提示
- 准确性问题:存在较高误报率,例如打开微信公众号文章也可能被误判为蜜罐
Quake
GitHub - 360quake/quake_rs: Quake Command-Line Application
quake.exe init 【360quake apikey】
quake.exe honeypot 目标
空间测绘识别
网络空间测绘,网络空间安全搜索引擎,网络空间搜索引擎,安全态势感知 - FOFA网络空间测绘系统
人工识别
- 端口特征分析
- 多端口开放:蜜罐通常会开放大量端口(如80/81/82等连续端口)
- 规律性排列:端口号呈现规律性递增(如901/902/903…)
- 非标准端口:避免占用常见应用端口,使用非标准端口模拟服务
- Web访问特征
- 协议异常:用HTTP协议访问非Web服务端口(如MySQL的3306)时会出现下载行为
- 设计原理:蜜罐采用JSONP技术传输攻击者输入的账号密码,导致协议解析异常
- 设备指纹识别
- 特定返回值:不同蜜罐产品有固定指纹特征(如SSH蜜罐有特定banner)
- 产品特征库:需要收集整理各蜜罐产品的指纹特征进行比对
综合判定策略
- 三重验证法
- 使用网络空间测绘平台(如夸克、鹰图)初步识别
- 结合专用工具进行二次验证
- 最后通过人工分析端口特征、Web行为等确认
CDN绕过
CDN基本概念
- 传统访问模式:用户访问域名→解析服务器IP→直接访问目标主机
- CDN访问模式:用户访问域名→CDN节点→真实服务器IP→访问目标主机
- WAF防护模式:用户访问域名→CDN节点(WAF防护)→真实服务器IP→访问目标主机
配置方式
CDN配置要素
- 加速域名:需要启用加速的具体域名(如www.xiaodi8.com)
- 加速区域:国内/海外等不同地区的加速选择
- 加速类型:静态资源/动态资源等不同类型的内容加速
IP差异
- 传统访问返回真实服务器IP(如47.75.212.15)
- CDN访问返回虚拟节点IP(如202.96.134.33)
信息收集失效:端口扫描等主机级信息收集会作用于CDN节点而非真实服务器
业务影响范围:仅影响IP相关资产探测,其他业务数据(如API接口)仍正常交互
CDN判断技术
Nslookup
Win下使用nslookup命令进行查询,若返回域名解析结果为多个ip,多半使用了CDN,是不真实的ip。
多地ping查询
使用不同区域ping,查看ping的ip结果是否唯一。若不唯一,则目标网站可能存在CDN。
查询网站:
使用工具直接查询
查询网站:https://www.ipip.net/ip.html
CDN绕过技术
针对子域名未配置CDN、前期未配置过CDN记录
识别方法
- 子域名查询:通过未加速的子域名获取真实IP
- 历史记录查询:利用DNS历史解析记录
- 证书查询:通过SSL证书信息反查
工具推荐
- 子域名收集:DNSGrep(https://www.dnsgrep.cn)
- 网络空间测绘:fofa.so、quake.360.cn
- 备案查询:https://www.yunsee.cn
针对CDN配置的加速域名范围
绕过原理:当加速区域限定为中国内地时,海外访问请求会直连源站
绕过方法
- 检查历史解析记录(DNS缓存投毒)
- 利用子域名加速配置缺陷(如bbs.baidu.com未加速)
- 国外节点请求(部分CDN未部署海外节点)
工具推荐
- 超级Ping工具:https://ping.chinaz.com/
- 全球节点检测:https://tools.ipip.net/cdn.php
- IP反查接口:https://get-site-ip.com/
子域名入手
针对子域名未配置CDN、CDN配置的限定加速域名范围
1、有些站点的主站使用了CDN,或者部分域名使用了CDN,某些子域名可能未使用。
2、主站可能只配置了中国地区加速,未配置其他地区加速
绕过方法:
- 使用子域名爆破,查询存在的子域名
- 使用工具进行检测
- 超级Ping工具:https://ping.chinaz.com/
- 全球节点检测:https://tools.ipip.net/cdn.php
- 子域名收集:DNSGrep(https://www.dnsgrep.cn)
- 网络空间测绘:fofa.so、quake.360.cn
- 备案查询:https://www.yunsee.cn
FOFA icon_hash
编写python
1 | import mmh3 |
使用
之后结合fofa快速定位目标相关资产:
利用网站漏洞
定义:利用网站存在的功能漏洞(如SSRF),使服务器主动向外发起请求暴露真实IP
典型漏洞
- SSRF漏洞:服务器端请求伪造,可强制服务器访问指定URL
- 远程图片加载:文章发布/头像设置等需要加载外部资源的功能
实现原理:构造特殊请求让服务器主动连接攻击者控制的监听服务器,通过访问日志获取真实IP
注意:需要配置web服务器来接收服务器的访问
遗留文件
使用web目录结构扫描爆破、获取相关的服务器配置信息文件
- 调试文件:phpinfo.php(SERVER_ADDR、HTTP_HOST)等包含服务器配置信息的文件
- 配置文件:web.config、.env等可能包含IP信息的文件
- 版本说明:README.md、CHANGELOG等开发文档
该方法具有偶然性,依赖管理员未删除调试文件
特殊端口/历史记录
特殊端口:尝试访问非标准端口(如8080、8443)的服务
查询ip与域名绑定历史记录,可能会发现使用CDN之前的目标ip
历史记录:查找网站早期未使用CDN时的DNS解析记录
查询网站
邮件系统
寻找真实IP的原理:通过邮件系统寻找真实IP主要基于两点:一是邮件服务器通常不做CDN服务;二是邮件通信具有主动发送的特性。
不做CDN的原因
- 邮件系统使用MX记录类型,而CDN服务通常只支持CNAME记录和A记录
- 部分厂商不支持MX记录做CDN加速服务
实现方法
被动接收法
- 触发网站发送邮件的功能(如找回密码、用户注册、邮件订阅等)
- 查看邮件原文中的Received字段获取发送方IP
- 示例:通过”忘记密码”功能让网站发送验证邮件
主动发送法
- 向目标域名的不存在邮箱地址发送邮件
- 接收退回邮件获取真实IP
- 注意:此方法需使用自建邮件服务器,第三方邮箱(如QQ)会屏蔽真实IP
有效性验证
- 发件人邮箱必须使用目标域名(如xxx@target.com)
- 不能是第三方邮箱服务(如126、QQ等)
IP验证
- 查看邮件头中的Received字段
- 确认IP是否属于目标域名所有
国外查询接口
通过国外得一些冷门得DNS或IP去请求目标,很多时候国内得CDN对国外得覆盖面并不是很广,故此可以利用此特点进行探测。 通过国外代理访问就能查看真实IP了,或者通过国外的DNS解析,可能就能得到真实的IP查询网站
IP反查接口:https://get-site-ip.com/
https://tools.ipip.net/cdn.php
IP接口合集:https://github.com/ihmily/ip-info-api
全网扫描
定义:当常规方法无法获取真实IP时采用的终极手段,通过特殊标识符在全网寻找相似IP节点
成功率:完全取决于扫描范围和精度,属于”没有办法的办法”
类比:与”以量打量”原理相似,都是通过消耗资源来获取真实信息
- 判断CDN厂商、备案信息
- 使用纯真IP库进行信息查询(如:阿里云)
- 使用工具对查询的IP段进行扫描
- GitHub - Tai7sy/fuckcdn: CDN真实IP扫描,易语言开发
- 扫描IP段中开放指定端口的设备(详细见github)
- 访问开放端口验证关键字
- 保存匹配结果到result.txt
- GitHub - Tai7sy/fuckcdn: CDN真实IP扫描,易语言开发
其他工具:
https://github.com/Pluto-123/Bypass_cdn
主机架构分析
常见服务
- 常见类型:Apache、Nginx、IIS、lighttpd等
- 应用服务器:Tomcat、Jboss、Weblogic、Websphere等
- 数据库服务:Mysql、SqlServer、Oracle、Redis、MongoDB等
web服务器
识别方法
Server字段识别(通过HTTP响应头中的Server字段可以判断服务器类型)
- Server: Apache/2.4.46 (Win32) OpenSSL/1.1.1g mod_fcgid/2.3.9a 表示Apache服务器
- 该方法简单直接,是识别WEB服务器最常用的方式
使用指纹识别工具
应用服务器
定义: 应用服务器是中间件的一种特殊类型,主要用于支持特定语言开发的应用程序运行。
常见类型: Tomcat、Jboss、Weblogic、Websphere等,这些通常与Java应用相关。
与Web服务器区别
- 端口特性: 应用服务器安装后会默认开放特定端口(如Tomcat默认8080,Weblogic默认7001),而Web服务器通常使用80/443端口。
- 业务支持: 应用服务器针对特定语言开发的程序(如Java)有更好的支持性,例如Weblogic对Java应用的支持优于IIS。
识别方法
- 端口扫描: 必须通过端口扫描识别,无法像Web服务器那样通过浏览器返回包判断。
- 常见端口
- 7001: Weblogic
- 8080: Jboss/Tomcat
- 8009: Tomcat AJP协议
- 9080-9081: Websphere
数据库服务
- 关系型数据库: MySQL、SQL Server、Oracle等
- 非关系型数据库: Redis、MongoDB等
- 渗透测试关注点
- MySQL: 注入提权、爆破
- Redis: 未授权访问、弱口令爆破
- MongoDB: 爆破、未授权访问(默认端口27017)
- 关键端口服务
- 22/SSH: 爆破、隧道转发
- 23/Telnet: 路由设备弱口令
- 25/SMTP: 邮件伪造
- 53/DNS: 区域传送攻击
- 80-89/Web: 中间件漏洞利用
- 11211/Memcached: 未授权访问
内网环境特征
- 业务端口部分映射到外网
- 造成”看到的≠实际的”现象
- 典型场景:
- Web端口80映射成功
- 数据库端口3306未映射
解决方案
- 无直接解决办法
- 需结合其他信息收集手段
- 重要提示:扫描结果需结合架构分析
端口扫描
端口/端口范围 | 协议 | 服务/用途 | 渗透测试用途 |
---|---|---|---|
20,21 | TCP | FTP | 匿名上传下载、爆破、嗅探、提权(如ProFTPd 1.3.5)、后门利用、中间人攻击(v1)、SSH隧道/内网代理、文件传输 |
22 | TCP | SSH | 爆破、嗅探、路由/交换机弱口令 |
23 | TCP | Telnet | 邮件伪造、VRFY/EXPN查询用户信息(smtp-user-enum工具) |
25 | TCP | SMTP | 邮件伪造、用户信息枚举 |
53 | TCP/UDP | DNS | 区域传送漏洞、DNS劫持/缓存投毒/欺骗、DNS隧道远控 |
69 | TCP/UDP | TFTP | 配置文件下载 |
80-89,443,8080-8089 | TCP | Web服务 | TopN漏洞、VPN/OWA/Webmail/OA漏洞、中间件/框架漏洞、Java控制台、Web管理面板、爆破/嗅探 |
110 | TCP | POP3 | 权限配置不当 |
111,2049 | TCP | NFS/Samba | 爆破、远程执行漏洞(如MS08-067、MS17-010)、嗅探 |
137,139,445 | TCP | SMB | 爆破、远程执行漏洞 |
161 | UDP | SNMP | 默认团体字符串爆破、内网信息搜集 |
389 | TCP | LDAP | 注入攻击、匿名访问、弱口令爆破 |
512,513,514 | TCP | Rexec/Rlogin | Linux远程执行、匿名访问 |
873 | TCP | Rsync | 未授权访问、文件上传 |
1194 | TCP | OpenVPN | 弱口令、信息泄露、爆破 |
1352 | TCP | Lotus | 注入、提权 |
1433 | TCP | SQL Server | SA弱口令、爆破、TNS注入、弹Shell |
1521 | TCP | Oracle | 弱口令爆破 |
1723 | TCP | PPTP | 爆破、VPN钓鱼 |
2082,2083 | TCP | cPanel | 弱口令、未授权访问 |
2181 | TCP | ZooKeeper | 默认密码访问 |
2601,2604 | TCP | Zebra | 弱口令 |
3128 | TCP | Squid | 弱口令、Kangle代理 |
3306 | TCP | MySQL | Shift后门(需Windows 2003以下)、爆破、MS12-020漏洞 |
3389 | TCP | RDP | 爆破、MS12-020漏洞 |
3690 | TCP | SVN | SVN泄露、未授权访问 |
4848 | TCP | GlassFish | 爆破、注入 |
5000 | TCP | Sybase/DB2 | 爆破、注入、弱口令 |
5432 | TCP | PostgreSQL | 弱口令、注入 |
5900-5902 | TCP | VNC | 弱口令爆破、未授权命令执行 |
5984 | TCP | CouchDB | 未授权访问、弱口令爆破 |
6379 | TCP | Redis | Java反序列化、弱口令 |
7001,7002 | TCP | WebLogic | 控制台弱口令、反序列化漏洞 |
7778 | TCP | Kloxo | 弱口令 |
8000 | TCP | Ajenti | 管理面板漏洞 |
8009 | TCP | Tomcat AJP | AJP协议漏洞(如CVE-2020-1938) |
8443 | TCP | Plesk | 远程执行、SQL注入 |
8069 | TCP | Zabbix | 反序列化、控制台弱口令 |
8080-8089 | TCP | Jenkins/JBoss/WebSphere | 反序列化、控制台弱口令 |
9080-9081,9090 | TCP | WebSphere | 远程执行漏洞 |
9200,9300 | TCP | ElasticSearch | 未授权访问 |
11211 | TCP | Memcached | 未授权访问、爆破 |
27017,27018 | TCP | MongoDB | 默认未授权访问 |
50070,50030 | TCP | Hadoop | 未授权访问、命令执行 |
收集方式:
- 主动收集:通过自身工具发送请求并分析返回信息(如Nmap、Masscan)
- 被动收集:通过第三方平台查询目标信息(如网络空间)
工具分类:目前最常用的三种端口扫描工具是网络空间、Nmap和Masscan
Nmap
- 基本介绍:老牌安全扫描工具,提供图形化界面(Zenmap)和命令行版本
- 扫描模式
- Intense scan:常规扫描模式
- Intense scan plus UDP:扫描所有TCP/UDP端口
- Intense scan no ping:不带ping的扫描
- Quick scan:快速扫描模式
- Quick scan plus:增强版快速扫描(最常用)
- 常用参数
- -T4:设置扫描速度
- -A:启用操作系统检测和版本检测
- -v:显示详细输出
- -sV:探测服务版本
- -O:操作系统检测
- 特点:扫描结果全面但耗时较长
扫描状态:
- open:服务正在监听该端口
- closed:端口可达但无服务监听
- filtered:端口被防火墙/安全设备阻断
Masscan
- 编译环境:需要使用Visual Studio进行编译
- 参考资源
- 特点:扫描速度极快,适合大规模扫描任务
编译方法:
下载源码:从GitHub下载Masscan的源码。
安装编译器:使用Visual Studio 2019进行编译(其他版本也可,但需自行调整配置)。
配置编译环境
在
Source Files->misc->string_s.h
中添加编译配置,根据编译器版本修改_MSC_VER
的值。选择Release模式编译
点击”生成解决方案”生成exe文件
编译输出:成功编译后在bin目录生成masscan.exe可执行文件
基本语法
- masscan -p<端口> <IP>
- 例:masscan -p80 10.0.0.0/8
多端口扫描
- 支持逗号分隔和范围指定
- 例:masscan -p80,8000-8100 10.0.0.0/8
结果输出
- -oB:二进制格式输出
- -oX:XML格式输出
空间测绘平台
工作原理: 通过爬取互联网设备信息建立数据库
网络空间测绘,网络空间安全搜索引擎,网络空间搜索引擎,安全态势感知 - FOFA网络空间测绘系统
1、输入端口扫描的IP
2、使用IP聚合
APP资产
搜集APP资产
爱企查
爱企查-工商查询_专业企业信息查询平台_公司查询_老板查询_工商信息查询系统
- 查询方法:通过企业名称在知识产权栏查询软件著作权信息
- 案例演示:查询”中邮邮惠万家银行”显示3个APP:邮惠万商APP、邮惠万村app、邮惠万家银行App
- 会员获取:可在拼多多购买7天试用超级会员(1元)
小蓝本
- 特点:免费使用,支持地区筛选
- 查询语法:关键词+空格+地区=地区筛选
- 案例结果:查询到”邮惠万家银行”APP信息
七麦数据
七麦数据 -专业移动产品商业分析平台-关键词优化-ASA优化-七麦科技
- 功能:支持iOS/安卓双平台查询
- 局限性:查询结果相对较少,需配合其他平台使用
- 会员价格:350元/月(较贵)
点点数据
点点数据-App数据查询分析,AppStore排行榜,ASO,ASM优化平台
- 优势:数据量最全,支持多维度分析
- 功能:可查看开发者其他应用、版本历史等
- 案例:查询”隆基绿能”发现3个相关APP
查询技巧
- 多平台交叉验证
- 必要性:不同平台收录结果可能不同(如点点查到3个APP,七麦只查到2个)
- 验证方法:至少使用2个平台进行比对
- 开发者关联查询
- 操作路径:点击APP详情页的”开发者”信息
- 作用:可发现目标企业开发的其他关联APP
从APP提取资产
抓包提取
通过抓取APP运行时的网络数据包获取敏感信息
- 资产信息:IP地址、域名、网站、接口等基础设施
- 泄露信息:配置密钥(k)、源码资源文件等敏感数据
- 代码信息:Java代码安全问题等程序实现细节
优缺点:
- 优点
- 获取的数据都是实际使用的
- 没有”假阳性”结果
- 缺点
- 无法获取未触发的功能
- 需要人工操作可能遗漏部分功能
- 对复杂APP覆盖率有限
反编译提取
逆向工程获取APP源码后提取关键信息
动态与静态分析
- 静态分析
- 定义:通过反编译APP获取源码后提取信息
- 特点:可能包含未实际使用的代码和配置
- 动态分析
- 定义:通过运行APP抓取实际交互数据
- 特点:只反映实际被调用的功能
- 示例:用户操作触发的网络请求
- 关键区别
- 静态提取可能获得未使用的”死代码”
- 动态提取只能获取实际触发的功能
- 两者提取方法和技术完全不同
优缺点:
- 优点
- 理论上可以获取APP所有代码
- 覆盖面更完整
- 缺点
- 可能提取大量无用信息
- 需要额外筛选有效数据
- 技术门槛较高
静态分析
平台分析:
工具:
GitHub - kelvinBen/AppInfoScanner
- 扫描Android应用的APK文件、DEX文件、需要下载的APK文件下载地址、保存需要扫描的文件的目录
1 python app.py android -i <Your APK File or DEX File or APK Download Url or Save File Dir>
- 扫描iOS应用的IPA文件、Mach-o文件、需要下载的IPA文件下载地址、保存需要扫描的文件目录
1 python app.py ios -i <Your IPA file or Mach-o File or IPA Download Url or Save File Dir>
- 扫描Web站点的文件、目录、需要缓存的站点URl
1 python app.py web -i <Your Web file or Save Web Dir or Web Cache Url>
尽量搭配抓包进行补充
动态分析
推荐工具: MobSF(Mobile Security Framework)
环境要求
- 需本地安装(服务器安装无法进行动态调试)
- 配合逍遥模拟器使用
安装流程
- 下载所需组件
- 运行steep.bat自动配置环境
- 执行run.bat启动服务(默认8000端口)
核心功能
动态分析
- 自动检测安卓运行时环境
- 支持活动启动、屏幕截图等基础操作
安全测试
- 检测证书校验机制(如根CA、公钥固定等)
- 提供绕过方案(集成Frida框架)
流量监控
- 捕获HTTPS明文通信
- 记录用户操作产生的请求
调试报告
- 包含屏幕操作记录
- 提取的域名信息(如sso域名)
- 接口调用详情(如登录请求参数)
- 安全风险分析(如SQL注入点)
优势对比
- 相比静态分析能获取运行时数据
- 相比单纯抓包提供更全面的调试功能
- 本地部署避免在线平台的会员限制
小程序应用
小程序获取
主要平台
- 微信
- 支付宝
- 抖音头条
- 百度
小程序结构
主体文件(必须放在根目录)
- app.js:入口文件,类似于Java中的main方法
- app.json:全局配置文件
- app.wxss:全局样式文件
页面组成(每个页面由4个文件组成)
- xxx.js:页面逻辑
- xxx.json:页面配置
- xxx.wxml:页面结构
- xxx.wxss:页面样式
目录结构
- pages:存放页面文件
- utils:工具类文件夹
- project.config.json:项目配置文件
- sitemap.json:配置小程序是否允许被索引
搜索方法
- 直接在平台搜索框输入关键词即可查找目标小程序
- 可搜索的内容包括:小程序名称、网站标题、备案信息等
- 示例:在微信搜索”小迪”会显示相关关键词的小程序列表
小程序信息收集
抓包技术
获取小程序通信的IP或域名,为后续安全测试提供目标
- 核心工具:使用Proxifier与Burp Suite联动
Proxifier需要设置规则为监听WeChatApp.exe
收集内容
- 域名信息(如m.yht7.com)
- API接口(如/api/inews/9/8)
- 请求参数和响应数据
小程序逆向
文档参考
小程序多功能助手
操作流程
- 扎到Wechat文件存储的目录
- 清空wxapkg缓存文件
- 运行目标小程序生成新包
- 使用工具选择_APP_.wxapkg文件
- 先执行解包再反编译(新版/旧版根据小程序版本选择)
- 通过微信开发者工具导入反编译后的源码
查缺补漏
公众号信息收集
获取公众号
1、爱企查查询
- 查询方法:在爱企查平台搜索企业名称,查看”知识产权”和”网站备案”栏目
- 关键信息:部分企业会在知识产权中泄露微信公众号信息,如成都生动网络科技有限公司案例
- 注意事项:显示微信号为零不代表真实没有,可能是收益手段
2、搜狗微信
- 搜索技巧:
- 直接搜索企业全称(如”成都生动网络科技有限公司”)
- 若无结果可尝试去掉部分关键词或使用简称
- 可通过”搜文章”功能查找相关交互内容
- 验证方法:搜索结果需人工判断是否为目标公众号
GitHub信息收集
收集方式
思路一
查询源码泄露信息或数据泄露信息
基础语法:
- in:name test:仓库标题搜索
- in:description test:仓库描述搜索
- stars:>3000 test:stars数量过滤
高级技巧:组合使用password in:file等语法可发现敏感信息
eg.1
x-bull.com password in:file
通过结果进行人工检查泄露信息与目标的关联性
其他语句
- 库标题搜索:使用in:name test可搜索仓库标题含关键字的项目
- 描述搜索:in:description test可搜索仓库描述含关键字的项目
- Readme搜索:in:readme test可搜索Readme文件含关键字的项目
- 星标筛选:
- stars:>3000 test筛选星标大于3000的项目
- stars:1000..3000 test筛选星标在1000-3000之间的项目
- 分支筛选:
- forks:>1000 test筛选分支数大于1000的项目
- forks:1000..8000 test筛选分支数在1000-8000之间的项目
思路二
收集人员和邮箱信息
- 域名搜索:基于目标网站域名进行信息收集,如搜索”edu.cn”等教育机构域名
- 人员信息搜索:通过开发人员姓名、邮箱等个人信息进行检索,适用于查找个人相关的代码提交
- 混合搜索:可同时使用”域名+邮箱”等组合条件提高搜索精准度
Github监控
通过监控github检测是否有源代码泄露
工具推荐
- NHPT/FireEyeGoldCrystal: 一个GitHub监控和信息收集工具,支持监控和收集CVE、免杀、漏洞利用等内置关键字和自定义关键字。
- VKSRC/Github-Monitor: Github Sensitive Information Leakage Monitor(Github信息泄漏监控系统)
- madneal/gshark: Scan for sensitive information easily and effectively.
确保与GitHub的稳定连接
网盘信息收集
主要收集
存储企业招标人员信息、业务产品和业务员资料等各类文件(包括但不限于网站源码、公司Excel表格、企业招标信息、企业介绍文档等)
搜索方式:
软件推荐:
混合盘 - 自定义规则类APP - 可搜索全网网盘、磁力资源
通常作为辅助手段
证书搜索
- 核心原理:通过SSL/TLS证书关联资产
- 操作方法:
- 获取目标网站证书
- 提取证书域名信息
- 使用特定语法搜索(如cert:)
- 支持平台:Fofa、Quake等网络空间搜索引擎
暴力破解
通过枚举的方式,爆破目录信息或者子域名信息
- OneForAll:https://github.com/shmilylty/OneForAll
- ksudbomain:https://github.com/knownsec/ksubdomain
- subDomainsBrute:https://github.com/lijiejie/subDomainsBrute
- Sublist3r: https://github.com/aboul3la/Sublist3r
- 子域名挖掘机:https://github.com/euphrat1ca/LayerDomainFinder
- dirsearch:https://github.com/maurosoria/dirsearch
自动化工具推荐
F8X自动化部署工具
项目地址
ffffffff0x/f8x: 红/蓝队环境自动化部署工具 | Red/Blue team environment automation deployment tool
项目概述
f8x是一款红蓝队环境自动化部署工具,支持多种场景的渗透测试、开发和代理环境搭建。
功能特色:
- 支持一键部署ARL、MobSF等常见安全工具环境
- 可自动安装CobaltStrike、Metasploit等红队工具
- 支持Docker环境快速部署
使用方法:
- wget :
wget -O f8x https://raw.githubusercontent.com/ffffffff0x/f8x/main/f8x
- curl :
curl -o f8x https://raw.githubusercontent.com/ffffffff0x/f8x/main/f8x
1 bash f8x -h
AsamF综合资产测绘工具
项目地址
Kento-Sec/AsamF: AsamF是集成Fofa、Quake、Hunter、Shodan、Zoomeye、Chinaz、0.zone及爱企查的一站式企业信息资产收集、网络资产测绘工具。
项目概述
AsamF集成了Fofa、Hunter、Quake、Zoomeye、Shodan、爱企查、Chinaz、0.zone、subfinder。AsamF支持Fofa、Hunter、Quake、Zoomeye、Shodan、Chinaz、0.zone配置多个Key,在搜索前加入对应选择key的flag可以自由切换需要使用的key。可以通过info命令来查看该key的账户信息。Union命令将联合Fofa、Hunter、Quake、Zoomeye内置的语法格式进行搜索。所有的命令、子命令都支持短命令使用。
使用方法
1 | AsamF_windows_amd64.exe -h |
ENScan Go 企业信息收集工具
项目地址:wgpsec/ENScan_GO: 一款基于各大企业信息API的工具,解决在遇到的各种针对国内企业信息收集难题。一键收集控股公司ICP备案、APP、小程序、微信公众号等信息聚合导出。支持MCP接入
使用方法
1、初次使用生成配置文件
1 ./enscan -v2、使用参数
Usage of enscan-v1.2.1-windows-amd64.exe:
-api
API模式运行
-branch
查询分支机构(分公司)信息
-branch-filter string
提供一个正则表达式,名称匹配该正则的分支机构和子公司会被跳过
-debug
是否显示debug详细信息
-deep int
递归搜索n层公司 (default 1)
-delay int
每个请求延迟(S)-1为随机延迟1-5S
-f string
批量查询,文本按行分隔
-field string
获取字段信息 eg icp
-hold
是否查询控股公司
-i string
公司PID
-invest float
投资比例 eg 100
-is-branch
深度查询分支机构信息(数量巨大)
-is-group
查询关键词为集团
-is-pid
批量查询文件是否为公司PID
-is-show
是否展示信息输出 (default true)
-json
json导出
-mcp
MCP模式运行
-n string
关键词 eg 小米
-no-merge
开启后查询文件将单独导出
-out-dir string
结果输出的文件夹位置(默认为outs)
-out-type string
导出的文件后缀 默认xlsx (default “xlsx”)
-out-update string
导出指定范围文件,自更新
-proxy string
设置代理
-supplier
是否查询供应商信息
-timeout int
每个请求默认1(分钟)超时 (default 1)
-type string
查询渠道,可多选 (default “aqc”)
-v 版本信息
ARL灯塔
项目地址
使用方法
1、安装
1
2
3
4
5
6
7
8
9 国外
wget https://raw.githubusercontent.com/Aabyss-Team/ARL/master/misc/setup-arl.sh
chmod +x setup-arl.sh
./setup-arl.sh
国内
wget https://raw.gitcode.com/msmoshang/ARL/blobs/24b06ec7efb32b9be380ab01ebf505e77c7811bf/setup-arl.sh
chmod +x setup-arl.sh
./setup-arl.sh2、访问web页面
源码安装后,请前往ARL-Web页面:
https://IP:5003/
原账号密码:
admin
,arlpass
新版账号密码为随机生成,会打印在控制台
Nemo 信息收集平台
项目地址
hanc00l/nemo_go: Nemo是用来进行自动化信息收集的一个简单平台,通过集成常用的信息收集工具和技术,实现对内网及互联网资产信息的自动收集,提高隐患排查和渗透测试的工作效率。
安装方法
https://github.com/hanc00l/nemo_go/blob/main/v3/docs/install.md
使用方法
https://github.com/hanc00l/nemo_go/blob/main/v3/docs/quickstart.md
All-Defense-Tool武器库
项目地址: