Vulnerability Wiki & CTF 练习平台搭建-2

admin 2024年5月15日00:14:22评论7 views字数 1999阅读6分39秒阅读模式

声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部法律及连带责任,文章作者不承担任何法律及连带责任。

文章首发于个人博客:https://mybeibei.net,点击最下方“阅读原文”可直接跳转查看。

CTF练习/比赛平台

H1ve是基于CTFd进行二次开发,在保留CTFd稳定性的情况下,提供优化版前端界面,队伍隔离容器,动态Flag机制的CTF平台,具备解题、攻防对抗模式。

其中,解题赛部分对Web和Pwn题型,支持独立题目容器及动态Flag防作弊。攻防对抗赛部分支持AWD一键部署,并配备炫酷地可视化战况界面。

项目地址:https://github.com/D0g3-Lab/H1ve

平台部署

git clone https://github.com/D0g3-Lab/H1ve.git

cd H1ve

docker-compose -f single.yml up

generic

86 Bytes

© Guge's Blog

部署完成后,访问 http://yourvpsip:8000 即可。

平台设置

首次访问,设置Admin管理员账号及密码后,登录即可。

然后进入Admin->Challenges即可进行题目添加。

Vulnerability Wiki & CTF 练习平台搭建-2

  • Choose Challenge Type(选择挑战类型,一般选Standard)

  • Name (题目名称)

  • Category (题目类别,如Web、PWN等)

  • Message (题目说明)

  • Value (题目分值)

然后点击 Create 进入下一个页面:

Vulnerability Wiki & CTF 练习平台搭建-2

  • 设置你的flag值,可以为动态/静态两种。

  • Files里可以上传题目的附件,比如流量分析题目的pcap流量包或压缩包等。

  • Hints里可以填写提示。

  • Requirements里可以设置题目之间的关联关系,比如题目一做完后才能看到题目二,以此类推。

Vulnerability Wiki & CTF 练习平台搭建-2

一切设置完毕后,默认State为Hidden(隐藏状态),通过将其设置为Visible(可见)后,用户即可在Challenges中看到‘放出’的题目。

Vulnerability Wiki & CTF 练习平台搭建-2

PWN题搭建

以项目ctf_xinetd为例,
https://github.com/Eadom/ctf_xinetd
克隆该项目后,

docker build -t pwn-docker:16.04 .

generic

34 Bytes

© Guge's Blog

若想搭建为18.04的环境,将dockerfile文件里面FROM ubuntu:16.04改为 FROM ubuntu:18.04

然后创建容器,并设置端口转发:

docker run -p 0.0.0.0:9997:9999 pwn-docker:16.04

generic

48 Bytes

© Guge's Blog

测试看看:

$nc 0.0.0.09997

ls

bin

dev

flag

lib

lib32

lib64

pwn

cat flag

ctf{please_initialize_this_flag}

generic

94 Bytes

© Guge's Blog

如何设置你的PWN题目

可用docker cp命令替换/home/ctf目录下的helloworld,并修改/etc/xinetd.d/ctf里面的题目名称即可。

一次性搭建多个PWN题目

克隆项目:

git clone https://github.com/giantbranch/pwn_deploy_chroot.git

generic

62 Bytes

© Guge's Blog

然后仅需三步就可以一次性搭建多道pwn题,并自动生成对应的flag:

  • 将所有pwn题目放入bin目录(注意名字不要带特殊字符,因为会将文件名作为linux用户名)

  • python initialize.py

  • docker-compose up –build -d

成功部署的话会显示如下:

$python initialize.py

{"flag": "flag{9c900d02-8567-4e16-8952-47a92d2dc06a}", "port": 10000, "filename": "pwn1"}

{"flag": "flag{6f785f9e-fb19-4b54-9c6c-dd9b6f62041a}", "port": 10001, "filename": "pwn1_copy1"}

{"flag": "flag{c65a3be4-a9d1-4122-b981-7a241ca73027}", "port": 10002, "filename": "pwn1_copy2"}

generic

304 Bytes

© Guge's Blog

然后启动docker即可:

docker-compose up --build -d

generic

28 Bytes

© Guge's Blog

一道题目对应一个独立的端口。
Vulnerability Wiki & CTF 练习平台搭建-2

Vulnerability Wiki & CTF 练习平台搭建-2

感谢阅读,如果觉得还不错的话,欢迎分享给更多喜爱的朋友~

====正文结束====

原文始发于微信公众号(骨哥说事):Vulnerability Wiki & CTF 练习平台搭建-2

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月15日00:14:22
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Vulnerability Wiki & CTF 练习平台搭建-2https://cn-sec.com/archives/2052560.html

发表评论

匿名网友 填写信息