【学习笔记】基础--信息收集及打点
资产收集
推荐的社区棱角社区
企业收集
拓展企业目标,了解企业规模
爱企查(收费很便宜)
直接拼多多或者咸鱼买会员就行
主要是关注知识产权、邮箱地址、域名
然后从业务资产中提取出web应用、app应用、小程序等
小蓝本(免费)
虽然免费,但是不如爱企查等收费的更全面
域名查询
从企业收集那里获取资产域名,然后再对域名进行进一步的信息收集
备案查询
域名注册
url
从域名注册里直接查更多同公司注册的域名,一种思路
ip反查域名
子域名收集
dns数据
查dns历史记录,看历史解析
https://dnsdumpster.com/
一般域名记录都用A记录、邮箱用MX记录
证书查询
url带有https的都是有证书的,可以通过查询这个证书的使用范围来收集子域名
https://crt.sh/
网络空间(fofa、hunter、shodan那些)
威胁情报
微步、360、奇安信
枚举
工具:ofa
安装流程
1 | git clone https://github.com/shmilylty/OneForAll.git |
创建存放虚拟环境的目录(推荐在用户目录)
1 | mkdir -p ~/.venvs |
为 OneForAll 创建独立虚拟环境
1 | python3 -m venv ~/.venvs/ofa |
编辑 shell 配置文件(根据你使用的 shell)
1 | nano ~/.bashrc |
在文件末尾添加以下函数
1 | ofa() { |
保存文件后执行
1 | source ~/.bashrc |
启动虚拟环境(会自动跳转到项目目录)
1 | ofa |
然后按官方文档来就行了
1 | python3 -m pip install -U pip setuptools wheel -i https://mirrors.aliyun.com/pypi/simple/ |
web架构资产
主要看:1、程序语言 2、框架源码 3、搭建平台 4、数据库类 5、操作系统
指纹识别
表格
源码泄露
开源(通过指纹识别扫出来的)
那就直接搜索对应的框架,然后下载源码
闭源(没扫出具体框架)
思路
一般从如下几种入手
网站备份文件
:目录扫描扫出来,一般御剑、dirsearch
composer.json泄露
git源码泄露
:用githack,直接给目标url加上/.git
githack使用
1 | python .\GitHack.py url/.git/ |
大概就这样,有东西的话会直接下载
svn源码泄露
:用svnhack
需要python2环境,安装如下
下载 Python 2.7 源码
1 | wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz |
解压并编译
1 | tar -xvf Python-2.7.18.tgz |
验证安装
1 | python2 --version |
然后使用工具
DS_Store文件泄露
这个文件一般会造成文件目录结构的泄露,利用工具限制太多了,先不管
利用码云资源网站查询(gitee、github、oschina)或者对口资源网站(如互站)
通过浏览器里记录的加载文件去寻找
一般都看js文件,找具有特征的,不太常见的文件
找源码泄露的时候可以用谷歌语法搜
架构识别
js架构
主要测试以下几种安全问题
源码泄漏
未授权访问=JS 里面分析更多的 URL 访问确定接口路径
敏感 key 泄漏=JS 文件中可能配置了接口信息(云应用,短信,邮件,数据库等) API 接口安全=(代码中加密提交参数传递,更多的 URL 路径)
手工测试
文件内容一般就看
1 | src= |
通过搜索找到接口,然后根据相应代码的拼接规则进行拼接
半自动测试
burp自带插件
运用burp,代理以后刷新网站,然后从目标中直接搜脚本文件
结果如下:
burp官方插件–JS Link Finder & Js Miner
burp第三方插件—HaE&Unexpected_information
快速安装就直接从release里下jar包然后导入
hae
全自动测试
ffuf–为了找多更多的js文件,分析更多的信息
需要go环境
1 | git clone https://github.com/ffuf/ffuf;cd ffuf;go get;go build |
端口扫描
nmap
空间测绘
端口 | 服务 | 渗透用途 |
---|---|---|
tcp 20,21 | FTP | 允许匿名的上传下载, 爆破, 嗅探, win 提权, 远程执行(proftpd 1.3.5), 各类后门(proftpd, vsftp 2.3.4) |
tcp 22 | SSH | 可根据已搜集到的信息尝试爆破, v1 版本可中间人, ssh 隧道及内网代理转发, 文件传输等等 |
tcp 23 | Telnet | 爆破, 嗅探, 一般常用于路由, 交换登陆, 可尝试弱口令 |
tcp 25 | SMTP | 邮件伪造, vrfy/expn 查询邮件用户信息, 可使用 smtp-userenum 工具来自动跑 |
tcp/udp 53 | DNS | 允许区域传送, dns 劫持, 缓存投毒, 欺骗以及各种基于 dns 隧道 的远控 |
tcp/udp 69 | TFTP | 尝试下载目标及其的各类重要配置文件 |
tcp 80-89,443,8440-8450,8080-8089 | 各种常用的 Web 服务端口 | 可尝试经典的 topn, vpn, owa, webmail, 目标 oa, 各类 Java 控制台, 各类服务器 Web 管理面板, 各类 Web 中间件漏洞利用, 各类 Web 框架漏洞利用等等…… |
tcp 110 | POP3 | 可尝试爆破, 嗅探 |
tcp 111,2049 | NFS | 权限配置不当 |
tcp 137,139,445 | Samba | 可尝试爆破以及 smb 自身的各种远程执行类漏洞利用, 如 ms08-067, ms17-010, 嗅探等…… |
tcp 143 | IMAP | 可尝试爆破 |
udp 161 | SNMP | 爆破默认团队字符串, 搜集目标内网信息 |
tcp 389 | LDAP | ldap 注入, 允许匿名访问, 弱口令 |
tcp 512,513,514 | Linux rexec | 可爆破, rlogin 登陆 |
tcp 873 | Rsync | 匿名访问, 文件上传 |
tcp 1194 | OpenVPN | 想办法钓 VPN 账号, 进内网 |
tcp 1352 | Lotus | 弱口令, 信息泄漏, 爆破 |
tcp 1433 | SQL Server | 注入, 提权, sa 弱口令, 爆破 |
tcp 1521 | Oracle tns | 爆破, 注入, 弹 shell… |
tcp 1500 | ISPmanager | 弱口令 |
tcp 1723 | PPTP | 爆破, 想办法钓 VPN 账号, 进内网 |
tcp 2082,2083 | cPanel | 弱口令 |
tcp 2181 | ZooKeeper | 未授权访问 |
tcp 2601,2604 | Zebra | 默认密码 zerbra |
tcp 3128 | Squid | 弱口令 |
tcp 3312,3311 | kangle | 弱口令 |
tcp 3306 | MySQL | 注入, 提权, 爆破 |
tcp 3389 | Windows rdp | shift 后门[需要 03 以下的系统], 爆破, ms12-020 |
tcp 3690 | SVN | svn 泄露, 未授权访问 |
tcp 4848 | GlassFish | 弱口令 |
tcp 5000 | Sybase/DB2 | 爆破, 注入 |
tcp 5432 | PostgreSQL | 爆破, 注入, 弱口令 |
tcp 5900,5901,5902 | VNC | 弱口令爆破 |
tcp 5984 | CouchDB | 未授权导致的任意指令执行 |
tcp 6379 | Redis | 可尝试未授权访问, 弱口令爆破 |
tcp 7001,7002 | WebLogic | Java 反序列化, 弱口令 |
tcp 7778 | Kloxo | 主机面板登录 |
tcp 8000 | Ajenti | 弱口令 |
tcp 8009 | tomcat Ajp | Tomcat-Ajp 协议漏洞 |
tcp 8443 | Plesk | 弱口令 |
tcp 8069 | Zabbix | 远程执行, SQL 注入 |
tcp 8080-8089 | Jenkins, JBoss | 反序列化, 控制台弱口令 |
tcp 9080-9081,9090 | WebSphere | Java 反序列化/弱口令 |
tcp 9200,9300 | ElasticSearch | 远程执行 |
tcp 11211 | Memcached | 未授权访问 |
tcp 27017,27018 | MongoDB | 爆破, 未授权访问 |
tcp 50070,50030 | Hadoop | 默认端口未授权访问 |
waf识别
能绕过就饶过,不能绕过就放弃
识别工具:wafw00f
蜜罐识别
chrome插件直接下载release包,然后解压导入到chrome
都有误报
cdn绕过
网站一般三种情况
1.传统访问:用户访问域名–>解析服务器 IP–>访问目标主机
2.普通 CDN:用户访问域名->CDN 节点–>真实服务器 IP–>访问目标主机
3.带 WAF 的 CDN:用户访问域名–>CDN 节点(WAF)–>真实服务器 IP–>访问目标主机
思路
利用超级ping然后查子域名和域名的ip
可能只加速子域名,未加速原本域名,直接查根域名可能得到ip
子域名与根域名可能处于同一网段或者就是同一ip
通过显示的ip和备案号地区比对
主动漏洞
ssrf漏洞对于查找很有效
在自己服务器上起一个http服务,然后在他有能请求远端文件的功能点上请求自己服务器,就能知道目标真实ip
查看遗留文件
比如phpinfo,但是能否查到也是概率问题
利用邮件系统
邮件头部源码会包含服务器的真实ip
例子:随便选个qq邮件然后新窗口打开
然后点击显示邮件原文
不一定对,因为网站管理者不一定把邮件系统部署在自己的服务器上
常见的邮件触发点有:
1、RSS订阅
2、邮箱注册、激活处
3、邮箱找回密码处
4、产品更新的邮件推送
5、某业务执行后发送的邮件通知
6、员工邮箱、邮件管理平台等入口处的忘记密码
全网扫
接口查询
也会有误报