信息收集
一般企业生产网和内网完全隔离 而如果能从外部渗透到内网环境 一般都是渗透到了企业的生产网
生产网内不一定使用windows且由于windows服务价格相对比较昂贵 很少会有公司使用windos全套设备 域控AD 现网环境大多采用 上网行为管理 单独的域控设备
信息收集
信息收集是一个非常重要的环节 可以暴露出目标的漏洞点 提高渗透成功的可能性
whois信息(感觉没什么用),扫描网段,扫描子域名(主站防御较为全面,尝试侧面渗透),扫描目录(目录中可能会暴露建站信息,源码等),扫描同源网站,人员名单(尝试社工),安全防御设备信息(由于运维关系 为了方便 许多同厂商安全设备会保留一个默认的用户名和密码)
网站信息收集:
-
基本banner信息
可以通过数据包流量特征 推测网站类型
这里的banner展示出该网站中间件为nginx
这里又可以看出后端语言为php/5.6.40 操作系统为Ubuntu
重点查看 X-Powered-By 以及 Server信息 这里推荐一款浏览器插件 可以自动根据数据包帮我们分析站点构成
Wappalyzer
反向思考 攻击者希望得到网站的banner信息 也就是说 我们在防护站点时 暴露的信息越少越好 尽量减少响应数据包中暴露的信息 -
是否使用cms cms的类型为:
如图 很显然是一款discuz的开源cms系统 我们可以根据该cms寻找相关漏洞
一些网站的服务器信息也可以被暴露 比如服务器的绝对路径 在报错时 可能会暴露,或者服务器搭建使用iis很显然该服务器为windows -
善用搜索引擎
如shodan fofa zoomeye等
或者使用google语法搜索
上述为资产分析工具
接下来介绍漏洞探测工具:
seebug是国内比较著名的工具 知道创宇:www.seebug.org
国外有 exp-db: www.exploit-db.com
使用similar site寻找相似的站点 通过相似的站点 了解其网站类型
Whois信息
whois信息中包含了网站注册者的邮箱,电话号码,姓名,等信息,可以通过whois信息查询到dns的解析记录 可以帮助寻找到真实站点地址 避免打错目标 cdn网络就需要找到源站点进行分析并攻击
使用kali的whois工具:
whois --help 1 ⨯
Usage: whois [OPTION]... OBJECT...
-h HOST, --host HOST connect to server HOST
-p PORT, --port PORT connect to PORT
-I query whois.iana.org and follow its referral
-H hide legal disclaimers
--verbose explain what is being done
--no-recursion disable recursion from registry to registrar servers
--help display this help and exit
--version output version information and exit
这些标志是由 whois.ripe.net 和 RIPE-like 服务器支持的:
-l 寻找有更少具体匹配的一个级别
-L 寻找所有更少具体匹配的级别
-m 寻找有更加具体匹配的一个级别
-M 寻找有更加具体的匹配的所有级别
-c 寻找包含 mnt-irt 属性的最小匹配
-x 精确匹配
-b return brief IP address ranges with abuse contact
-B 关闭对象过滤(显示 email 地址)
-G 关闭相关联对象的分组
-d 返回 DNS 反解授权对象
-i ATTR[,ATTR]... 对特定的属性( ATTR )进行逆向查询
-T TYPE[,TYPE]... 只寻找 TYPE 的对象
-K 只返回主键
-r 关闭联系信息的递归查询
-R 强制显示域对象的本地副本,即使
它包含引用
-a 一并搜索所有的数据库镜像
-s SOURCE[,SOURCE]... 从 SOURCE 中搜索数据库镜像
-g SOURCE:FIRST-LAST 从串行的 FIRST 到 LAST 的 SOURCE 中查找更新
-t TYPE 请求 TYPE 对象的模板
-v TYPE 请求 TYPE 对象的详细模板
-q [version|sources|types] 询问制定服务器信息
注意这里域名只需要到二级域名即可
查子域
泛解析:即其二级域名可能为xxx.cn那么我们解析abc.xxx.cn也会解析到xxx.cn上这就是所说的泛解析 这一现象可以导致大部分子域名都能被解析 但解析到的网站为同一个网站 当我们扫描泛解析域名的子域名时
会导致子域名扫描器会扫到大量可用域名
┌──(root💀kali)-[~]
└─# fierce -h 127 ⨯
/usr/lib/python3/dist-packages/requests/__init__.py:87: RequestsDependencyWarning: urllib3 (1.26.18) or chardet (5.2.0) doesn't match a supported version!
warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
usage: fierce [-h] [--domain DOMAIN] [--connect] [--wide] [--traverse TRAVERSE] [--search SEARCH [SEARCH ...]] [--range RANGE] [--delay DELAY]
[--subdomains SUBDOMAINS [SUBDOMAINS ...] | --subdomain-file SUBDOMAIN_FILE] [--dns-servers DNS_SERVERS [DNS_SERVERS ...] | --dns-file
DNS_FILE] [--tcp]
A DNS reconnaissance tool for locating non-contiguous IP space.
options:
-h, --help show this help message and exit
--domain DOMAIN domain name to test
--connect attempt HTTP connection to non-RFC 1918 hosts
--wide scan entire class c of discovered records
--traverse TRAVERSE scan IPs near discovered records, this won't enter adjacent class c's
--search SEARCH [SEARCH ...]
filter on these domains when expanding lookup
--range RANGE scan an internal IP range, use cidr notation
--delay DELAY time to wait between lookups
--subdomains SUBDOMAINS [SUBDOMAINS ...]
use these subdomains
--subdomain-file SUBDOMAIN_FILE
use subdomains specified in this file (one per line)
--dns-servers DNS_SERVERS [DNS_SERVERS ...]
use these dns servers for reverse lookups
--dns-file DNS_FILE use dns servers specified in this file for reverse lookups (one per line)
--tcp use TCP instead of UDP
在这种情况下 子域名查询效率低下 可以使用whois反查 通过邮箱或者站点注册者的信息反查域名
使用censys: https://search.censys.io/ 这工具可以根据网站证书查找子域名
使用teemo: https://github.com/bit4woo/teemo 这个工具根据第三方站点查找子域
收集子域名可以通过打入子域 再到主站 有的公司对主站防御很重视 对边缘站点不重视
DNS域名解析
dns与网站的访问息息相关,所以dns解析一定不会有假,如果有假,业务将会受到很大的影响.
dns解析可以实现cdn源站的查找 建议在解析时使用dig命令 查询解析记录
┌──(root💀kali)-[~]
└─# dig www.ctyun.cn
; <<>> DiG 9.16.15-Debian <<>> www.ctyun.cn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23507
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 512
;; QUESTION SECTION:
;www.ctyun.cn. IN A
;; ANSWER SECTION:
www.ctyun.cn. 5 IN CNAME(别名记录) www.ctyun.cn.ctadns.cn.
www.ctyun.cn.ctadns.cn. 5 IN A(地址记录) 121.14.7.15
www.ctyun.cn.ctadns.cn. 5 IN A 121.14.7.16
www.ctyun.cn.ctadns.cn. 5 IN A 121.14.7.14
www.ctyun.cn.ctadns.cn. 5 IN A 121.14.7.13
;; Query time: 255 msec
;; SERVER: 192.168.80.2#53(192.168.80.2)
;; WHEN: 日 9月 22 23:57:10 EDT 2024
;; MSG SIZE rcvd: 139
信息收集不建议直接获取 比如dig或者其他直接进行信息收集的命令 需要对受攻击方直接进行扫描或者发包 容易暴露自己 一般实战场景使用搜索引擎如: yunsee showdan 对目标的资产信息进行收集 一定要学会隐藏自己
dns域传送漏洞:出现这一漏洞的原理很简单 就是当slavedns服务器向masterdns服务器进行SOA请求时 大部分masterdns不会对从属服务器的身份进行验证master会直接把服务信息传递给slavedns暴露网络蓝图
nmap --script dns-zone-transfer --script-args dns-zone-transfer.domain=baidu.com -p 53 -Pn 172.16.26.1
#--script使用脚本 脚本参数domain为baidu.com 指定端口53 且-Pn关闭ping检测
Starting Nmap 7.95 ( https://nmap.org ) at 2024-09-23 12:46 中国标准时间
Nmap scan report for 172.16.26.1
Host is up (0.0030s latency).
PORT STATE SERVICE
53/tcp open domain
MAC Address: 00:24:AC:FF:FC:01 (Hangzhou DPtech Technologies)
# 最终结果并没有得到baidu的域名解析信息 说明该dns不存在dns域传送漏洞 或者不存在baidu.com的解析记录
Nmap done: 1 IP address (1 host up) scanned in 5.09 seconds
社工信息:
通过新闻信息:如某某某网站采用什么架构 某某某公司使用了什么技术 等
通过社交网站:如qq 微信 人人网 等各大信息交流平台 这些网站往往会存有大量的人员信息
网站结构:
通过查看网站源代码 可以看到前端代码的注释信息 隐藏的链接以及js代码内容
根据网站目录推测网站使用语言 网站的基本架构:
如xxx.php(php) upload.xxx(上传功能) xx年xx月xx日/xxx.jpg 由此我们可以推断 xx年xx月xx日 的文件会上传到该路径 我们可以上传webshell进行利用
也可以使用扫描器:
目录扫描器:暴力探测:dirb 目录爆破 御剑 爬虫探测:awvs 爬行菜刀
根据返回数据包:如果存在big-ip字段 一般是采用了f5或其他厂商的负载均衡设备
过cdn:
偏远ip访问:
cdn网络并不会针对世界各地 对偏远地区可能不进行加速操作
查找dns解析记录:
dns解析记录中很可能存在网站未配置cdn前的dns解析记录
ssrf:
如果ssrf对内网资源能进行探测的话 一般说明该地址为真实服务器地址
banner信息:
通过phpinfo或者其他配置文件信息 可以收集到设备真实IP地址
其他
源码泄露:
项目的.git文件的泄露 svn源码泄露等各异的方式都可以获取到源码
代码泄露搜索平台:https://searchcode.com/
源码信息可以使得攻击者从黑盒测试转为白盒测试 提升入侵的成功概率
dns子域名接管:
比如:
www.baidu.com. 5 IN CNAME www.a.shifen.com.
www.a.shifen.com. 5 IN CNAME www.wshifen.com.
www.wshifen.com. 5 IN A 103.235.47.188
www.wshifen.com. 5 IN A 103.235.46.96
这是dig百度得到的结果 百度的别名为a.shifen.com. 当其别名的域名过期后 我们如果抢注得到了该域名 那么我们可以修改a.shifen的cname记录从而实现对百度解析记录的控制 实现了子域名接管
域信息收集网站推荐: http://ci-www.threatcrowd.org/domain.php
可视化的域信息收集 更加直观
非常不建议使用扫描器 扫描器流量太大 很容易被发现 并被认定为攻击行为
安全现状:站点存在标准漏洞如文件上传 sql注入 反序列化 中间件漏洞 等常见漏洞的概率极低 且安全设备都能很好的防范 如今漏洞挖掘大多是寻找逻辑漏洞 根据不同的业务会存在不同的漏洞 如注册时 验证码可能会存在复用问题 验证码也可能可以进行非法请求 占用短信机资源 或者重复发包实现短信轰炸效果 购买商品时 优惠券是否可以通过数据包的修改实现叠加 是否可以直接修改物品价格 这些都是需要考虑的漏洞