Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
PwnAdventure3 — PwnAdventure3 Server | Kitploit
工具/GitHubGitHub/liveoverflow/pwnadventure3
逆向工程Web应用程序漏洞利用网络安全CTF渗透测试学习与教育二进制利用实验室与实践
GitHubliveoverflow/pwnadventure3

PwnAdventure3

PwnAdventure3 Server

查看仓库
6841317年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

PwnAdventure3

PwnAdventure3

欢迎来到小马岛(Pwnie Island)!

Pwn Adventure 3: 小马岛 是一款限量发行的第一人称真正开放世界 MMORPG,背景设定在一个美丽的岛屿上,那里什么事都可能发生。这是因为这款游戏故意存在各种漏洞,可以让你进行各种搞怪的黑客操作!飞行、无限金币等等,只需修改客户端或设置网络代理即可实现。你准备好迎接混乱了吗?!

  • 官方网站:http://www.pwnadventure.com/

YouTube 系列

本设置是视频系列的一部分,该系列涵盖了这款游戏中的各种黑客技术和挑战。

  • Let's Play/Hack - Pwn Adventure 3: Pwnie Island - 第1部分 [39:20]
  • 使用 Docker 设置私有服务器 - Pwn Adventure 3: 第2部分 [8:42]
  • 信息收集/侦察 - Pwn Adventure 3: 第3部分 [14:09]
  • 使用 gdb 恢复游戏类 - Pwn Adventure 3: 第4部分 [11:28]
  • 使用 LD_PRELOAD 在 Linux 上挂钩 - Pwn Adventure 3: 第5部分 [12:07]
  • 飞行并拿到第一个旗帜!(Cow King) - Pwn Adventure 3: 第6部分 [6:34]
  • 传送与悬停(Unbearable Revenge) - Pwn Adventure 3: 第7部分 [9:31]
  • 寻找隐藏的金蛋 - Pwn Adventure 3: 第8部分 [10:26]
  • 开发 TCP 网络代理 - Pwn Adventure 3: 第9部分 [12:26]
  • 分析游戏网络协议 - Pwn Adventure 3: 第10部分 [14:48]
  • 使用代理实现自动拾取 - Pwn Adventure 3: 第11部分 [12:33]
  • 利用整数溢出(Fire and Ice) - Pwn Adventure 3: 第12部分 [19:59]
  • †: 有符号与无符号整数 - 整数溢出 - Pwn Adventure 3: 第12.5部分 [3:12]
  • 分析 Blocky 逻辑谜题 - Pwn Adventure 3: 第13部分 [10:51]
  • 机器学习失败实录(Blocky 第2部分) - Pwn Adventure 3: 第14部分 [14:34]
  • 逆向输入验证(Keygen 第1部分) - Pwn Adventure 3: 第15部分 [12:27]
  • 逆向自定义编码(Keygen 第2部分) - Pwn Adventure 3: 第16部分 [16:01]
  • 理解密钥验证算法(Keygen 第3部分) - Pwn Adventure 3: 第17部分 [13:10]
  • 汇编实现的 RSA(Keygen 第4部分) - Pwn Adventure 3: 第18部分 [16:23]
  • JavaScript 实现的 RSA(Keygen 第5部分) - Pwn Adventure 3: 第19部分 [4:32]
  • 最后一个旗帜(Overachiever) - Pwn Adventure 3: 第20部分 [5:31]

除去开头的休闲 Let's Play,整个系列在不到4小时内涵盖了 Pwn Adventure 3 的所有挑战。

安装服务器

要求

来自官方 README:

  • 至少 2GB 内存,更多内存允许单台机器运行更多实例

  • 游戏服务器不需要任何图形硬件,纯控制台运行。已知在 Amazon AWS 和 Digital Ocean VPS 实例上运行良好。

  • 游戏服务器需要大量内存才能运行,但利用 fork 和写时复制内存技术,单个主机上可以运行多个实例。

  • 对于 2GB 内存的服务器,不建议运行超过 5 个实例;但 8GB 内存的服务器通常可以运行 CPU 能处理的所有实例。

  • 如果内存充足,建议每个 CPU 核心运行 2-3 个实例。每个核心最多可以运行 4-5 个实例,但这可能会引入轻微延迟。

  • 客户端和服务器的文件也超过 2GB,因此需要几 GB 的可用磁盘空间。

构建和部署自己的服务器有几种方法。

选项 1 - 原始方法

一种方法是下载官方文件并按照 README 中的说明操作。下载链接可在官方网站找到:http://www.pwnadventure.com/#server。

选项 2 - 指南

@Beaujeant 创建了一份详细且易于遵循的逐步指南。它也是构建选项 3 的 Docker 镜像的基础。指南地址:https://github.com/beaujeant/PwnAdventure3/blob/master/INSTALL-server.md。

选项 3 - Docker

这个选项非常简单,只要主机上安装了 docker 和 docker-compose 即可。它使得运行和拆卸服务器变得很容易,而无需对主机系统进行实际更改。

首先,收集所有必需的文件:

root@kitploit:~
git clone https://github.com/LiveOverflow/PwnAdventure3.git
cd PwnAdventure3
wget http://pwnadventure.com/pwn3.tar.gz
tar -xvf pwn3.tar.gz

要运行服务器,必须安装 docker 和 docker-compose。Docker 发展迅速,因此最好按照当前的官方步骤进行安装(这可能包括删除旧版本的系统 Docker):

  • Docker CE Ubuntu:https://docs.docker.com/install/linux/docker-ce/ubuntu/。
  • docker-compose:https://docs.docker.com/compose/install/
  • 确保当前用户属于 docker 组:sudo usermod -a -G docker $USER。重启或重新登录,并用 id 验证用户是否在 docker 组中。

然后只需构建镜像并启动主服务器和游戏服务器:

root@kitploit:~
docker-compose build
docker-compose up

docker-compose up 也可以在后台以分离模式运行,加上 -d。

安装客户端

首先从官方网站下载客户端:http://www.pwnadventure.com/#downloads

要让客户端连接到新服务器,需要修改客户端的 server.ini 文件。使用 Docker 启动的服务器期望使用主机名 master.pwn3 和 game.pwn3(理论上可以在 docker/设置文件中更改这些名称)。

客户端的 server.ini 应类似如下内容:

root@kitploit:~
[MasterServer]
Hostname=master.pwn3
Port=3333

[GameServer]
Hostname=game.pwn3
Port=3000
Username=
Password=
Instances=

确保客户端可以访问这些主机,例如将它们添加到 /etc/hosts 文件中。在此示例中,服务器运行在 192.168.178.57,对应的条目为:

root@kitploit:~
192.168.178.57  master.pwn3
192.168.178.57  game.pwn3

警告: 在 server.ini 中使用 IP 作为 Hostname 是行不通的!我花了 2 小时才找出问题所在。

要停止服务器,只需输入 docker-compose down。

警告: 数据库文件不是持久化的——关闭容器会重置所有内容。所以请先备份。

故障排除

错误:docker-compose build

root@kitploit:~
$ docker-compose build
Building init
ERROR: Error processing tar file(exit status 1): write /client/PwnAdventure3_Data/PwnAdventure3/PwnAdventure3/Content/Paks/Characters.pak: no space left on device

答:获取更多磁盘空间。

root@kitploit:~
$ docker-compose build
Building init
ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

答:你的用户可能不在 docker 组中,或者 docker 服务未运行。执行 sudo usermod -a -G docker pwn3,然后用 id 验证。或者执行 service docker restart。

文件完整性

检查压缩包是否损坏

root@kitploit:~
$ md5sum pwn3.tar.gz
d3f296461fa57996018ce0e4e5a653ee  pwn3.tar.gz
$ sha1sum pwn3.tar.gz
022bd5174286fd78cd113bc6da6d37ae9af1ae8e  pwn3.tar.gz

PwnAdventure3 客户端错误

连接错误:无法连接到主服务器

这可能意味着 MasterServer 不可达。

  • 客户端问题:
    • 检查客户端 server.ini 中的 [MasterServer] 条目
    • 你能从你的系统 ping 通 master.pwn3 吗?
    • /etc/hosts 文件中的 IP 地址是否正确?
  • 服务器问题:
    • 服务器是否未运行且未监听端口 3333?
    • 使用 sudo netstat -tulpn 检查
      • 主服务器是否在监听:tcp6 0 0 :::3333 :::* LISTEN 31913/docker-proxy
    • 检查 docker ps 看两个容器是否启动
      • 主服务器在运行吗?880f93374070 pwn3server "/opt/pwn3/setup/mas…" 0.0.0.0:3333->3333/tcp, 5432/tcp pwnadventure3_master_1

等待连接队列...

这意味着 MasterServer 是可达的,正在等待一个可用的 GameServer 分配给客户端。这可能意味着没有 GameServer 在运行,或者 GameServer 无法连接到 MasterServer。

  • 服务器问题:
    • 是否有游戏服务器在运行并监听端口 3000-3005?
    • 使用 sudo netstat -tulpn 检查监听进程
    • tcp6 0 0 :::3000 :::* LISTEN 32160/docker-proxy
    • pwnadventure3_game_1 容器是否在运行?使用 docker ps -a 检查
      • 84343f81034f pwn3server "/opt/pwn3/setup/gam…" 0.0.0.0:3000-3010->3000-3010/tcp, 5432/tcp pwnadventure3_game_1
    • 你在 docker-compose up 的日志中看到以下行了吗:line 1: 7 Killed ./PwnAdventure3Server; pwnadventure3_game_1 exited with code 137
      • 获取更多内存!

Docker 版本

测试时主机使用的版本:

root@kitploit:~
$ uname -a
Linux ubuntu 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ docker-compose version
docker-compose version 1.19.0, build 9e633ef
docker-py version: 2.7.0
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t  3 May 2016
$ docker --version
Docker version 17.12.1-ce, build 7390fc6

致谢

真正的英雄是那些制作了这款游戏的人 <3

Pwn Adventure 3 是 Rusty Wagner 的创意。他负责构思、规划以及几乎所有执行工作(编程、关卡设计、任务等等)。没有他,就不会有这款游戏!特别感谢 Ghost in the Shellcode 组织者在开发和测试期间提供的支持。

作者:Vector35 - https://vector35.com/(流行反汇编器 Binary Ninja 背后的公司)

下载工具