快捷搜索:  网络  后门  CVE  渗透  木马  扫描  黑客  as

PwnAdventure3:一款专为黑客而开发易受攻击的MMORPG游戏

687474703a2f2f7777772e70776e616476656e747572652e636f6d2f696d672f6c6f676f2e706e67.png

Pwn Adventure 3是一款专为黑客开发的,易受攻击的第一人称MMORPG游戏,无线黑客,其目的旨在抬举游戏开发人员的安全编码能力。

Pwn Adventure 3的游戏场景配置在一座美丽的岛屿上,在这个岛上任何情形都有可能发生,例如飞行,无限游戏捏造币等。

  • 官方网站:http://www.pwnadventure.com/
  • 视频系列

    下列是该视频系列的一部分,涵盖了游戏中各类不同的挑战义务。

  • 使用Docker创建私家服务器 – Pwn Adventure 3:part 2
  • 信息网络/侦查 – Pwn Adventure 3:part 3
  • 使用gdb恢复游戏类 – Pwn Adventure 3:part 4
  • 使用LD_PRELOAD Hooking Linux – Pwn Adventure 3:part 5
  • 飞行和我们的第一个flag!- 大冒险3:part 6
  • 遥程跳转以及悬停(难以承受的复仇) – Pwn Adventure 3:part 7
  • 找到隐躲的金蛋 – Pwn Adventure 3:part 8
  • 开发一个TCP收集代办署理 – Pwn Adventure 3:part 9
  • 服务器装置

    装置前提

    来自官方README文档:

  • 最少需要2GB的内存,内存越大则能运行的实例越多。
  • 游戏服务器不需要任何的图形硬件,纯粹运行在控制台上。 我们推荐你使用Amazon AWS以及Digital Ocean VPS。
  • 游戏服务器的运行需要占用大批内存,使用fork以及写时复制将允许在单个主机上运行更多的实例。
  • 对于内存仅为2GB的服务器,我们建议运行的实例不要超过5个。而具有8GB RAM的服务器通常可以运行的实例数量与CPU可以处理的数量相同。
  • 要是有充足的RAM,建议每一个CPU core只运行2-3个实例,以避免造成游戏的卡顿征象。
  • 客户端以及服务器的文件也超过了2GB,因此需要你的磁盘有充足的空暇空间。
  • 你可以通过下列3种要领来构建以及部署本人的服务器。

    1.官方文档

    根据官方提供的文档说明来构建以及部署服务器。官方文档:http://www.pwnadventure.com/#server

    2.指南

    @Beaujeant创建了一个简易的分步指南,你可以参考该指南来构建以及部署服务器。https://github.com/beaujeant/PwnAdventure3/blob/master/INSTALL-server.md

    3.Docker

    要是你的主机上已装置了docker以及docker-compose,那么这个要领应该说是最简便的了。它可以轻松运行以及TEARDOWN服务器,而无需更改实际的主机体系。

    起首,我们下载并装置PwnAdventure3:

    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的更新发铺速率较快,因此建议人人最佳通过PwnAdventure3的官方文档装置部署。

  • Docker CE Ubuntu: https://docs.docker.com/install/linux/docker-ce/ubuntu/.
  • docker-composehttps://docs.docker.com/compose/install/
  • 确保当前用户为docker组:sudo usermod -a -G docker $ USER。重启或重新登录并使用id验证用户是否为docker组。
  • 然后在项目目录下运行docker-compose build来重新构建服务,并启动主服务器以及游戏服务器:

    docker-compose build
    docker-compose up

    你也能够在docker-compose up后添加-d参数,使其在后台运行。

    客户端装置

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

    要使客户端连接到新服务器,必须修改客户端的server.ini文件。docker启动的服务器主机名master.pwn3以及game.pwn3(理论上是可以在docker/setup文件中进行修改的)。

    客户端的server.ini文件必须遵循下列内容格式:

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

    确保客户端可以走访这些主机,例如将它们添加到/etc/hosts文件。在本例中,服务器运行在192.168.178.57上:

    192.168.178.57  master.pwn3
    192.168.178.57  game.pwn3

    正告:在server.ini中使用IP作为主机名将不起作用!在这个问题上我被折腾了2个多小时。

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

    正告:数据库文件并不是永久保存的 – 取下容器将会重置所有内容。所觉得了以防万一,请提前做好备份。

    故障排除

    Error: docker-compose build

    $ 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

    缘故起因:你的磁盘空间可能不足。

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

    缘故起因:你的用户可能不属于docker组。sudo usermod -a -G docker pwn3,用id验证。或service docker restart重启docker服务。

    文件完备性

    检查文件是否已破损:

    $ md5sum pwn3.tar.gz
    d3f296461fa57996018ce0e4e5a653ee  pwn3.tar.gz
    $ sha1sum pwn3.tar.gz
    022bd5174286fd78cd113bc6da6d37ae9af1ae8e  pwn3.tar.gz

    PwnAdventure3 Client Errors

    Connection Error: Unable to connect to master server

    这可能象征着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
  • Waiting in connection queue…

    这说明MasterServer可以走访,现在正在守候一个可以提供给客户端的免费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版本

    下列是在测试期间的主机版本:

    $ 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

     *参考来源:GitHub, secist 编译,

    您可能还会对下面的文章感兴趣: