新手小白如何从0搭建一个本地CTF靶场,一文详解!

从0搭建一个本地CTF靶场

我们平时大部分练习的CTF靶场都是别人的平台的,所以想着自己搭一个来玩玩,用的是CTFd框架,因为网上的教程也比较多,这次搭建也是比较顺利的,记录一下。

前期准备:

一、创建虚拟机:

选择镜像(需提前下载)

。。。。。。。。。。。。。

我装的是带桌面的界面 友好点 (菜)

二、docker安装

下载之前更新一下python版本:

<------更新python版本------>wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz #下载最新版,自行查看tar -xzvf Python-3.9.7.tgz #解压cd Python-3.9.7 #进入解压后的目录mkdir /usr/bin/python3 #创建一个python3目录./configure --prefix=/usr/bin/python3 #指定路径make #编译make install #安装mv /usr/bin/python /usr/bin/python_old2 #重命名旧版本python以免覆盖ln -s /usr/bin/python3/bin/python3 /usr/bin/python #建立新版本软连接python -V #成功修改默认python为Python-3.9.7 <------修改pip3------>vim ~/.bash_profile #修改pip3指定路径里面有一行修改为:PATH=$PATH:$HOME/bin:/usr/bin/python3/binsource ~/.bash_profile #刷新配置即可 <------修改yum------>

1.更新yum包

yum update #更新前检查网络是否正常连接

2.安装必要的系统工具

yum install -y yum-utils device-mapper-persistent-data lvm2

3.设置yum源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4.查看并选择合适的docker版本

yum list docker-ce --showduplicates | sort -r

5.下载docker

yum install docker-ce-17.12.1.ce

6.Docker镜像源加速

cd /etcmkir docker #创建docker目录,因为我这里etc目录下没有所以要手动创建vim docker/daemon.json #创建并编辑docker目录下的daemon.json文件#编辑内容为:{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]}systemctl restart docker.service #重启docker生效

三、docker-compose安装

1.选择安装最新的docker-compose版本

curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2.设置docker-compose执行权限

chmod +x /usr/local/bin/docker-compose

四、git配置和安装

1.查看git版本

git --version #查看当前版本,通常默认是1.8.3,但是太老了

2.卸载旧版本git

yum remove git

3.安装最新版git

wget https://github.com/git/git/archive/v2.33.0.tar.gz #可以先自行去看看最新版本是多少

4.进入解压后的git安装目录

cd git-2.33.0

5.编译

make prefix=/usr/bin/git all #编译正常可以跳过下面报错处理
PS:在使用命令 make 重新编译 Git 的某些源文件时,你可能会遇到以下这些错误:
错误 1 - FATAL ERROR: OPENSSL/SSL.H: NO SUCH FILE OR DIRECTORY

这是缺少openssl-devel导致的,执行命令yum install --assumeyes openssl-devel安装即可。

错误 2 - FATAL ERROR: CURL/CURL.H: NO SUCH FILE OR DIRECTORY

这是缺少curl-devel导致的,执行命令yum install --assumeyes curl-devel安装即可。

错误 3 - FATAL ERROR: EXPAT.H: NO SUCH FILE OR DIRECTORY

这是缺少expat-devel导致的,执行命令yum install --assumeyes expat-devel安装即可。

6.编译成功,安装Git至/usr/bin/git路径

make prefix=/usr/bin/git install

7.编辑环境变量配置

vim /etc/profile

8.profile文件末尾追加

export PATH=$PATH:/usr/bin/git/bin

9.刷新配置

source /etc/profile

10.查看git版本

git --version #修改成功

五、CTFd下载和部署

**CTFd 是一款基于 flask 的 CTF 靶场框架,主要包含了用户界面部分和管理员界面部分。项目地址:**https://github.com/CTFd/CTFd

1.下载CTFd

git clone https://github.com/CTFd/CTFd.git

2.进入目录使用docker-compose 启动项目

cd CTFddocker-compose up -d

3.等待他安装完(可能时间有点久耐心等待一下)依赖启动之后,访问 http://127.0.0.1 (ip 改成自己的服务器地址)出现类似下面这个界面,然后填写一些基本信息,一直Next…

六、下载部署CTFd题目

github 上有许多 CTF 题库的开源仓库,但有些整理的未必好,为了遵守容易部署的原则,我选择了 CTFTraining:https://github.com/CTFTraining/CTFTraining 其题库较为详细,并且目录结构清晰,关键是都是通过 docker 编排,完全契合我的环境。

1.下载 CTFTraining 中的题库,这里要注意 CTFTraining 整个项目较大,题目建议一个个下,有选择性的拉取,下面以拉取第一个题目为例

mkdir CTFTrainingcd CTFTraininggit clone https://github.com/CTFTraining/0ctf_2016_unserialize.git

2.修改 docker-compose.yml 文件

cd 0ctf_2016_unserializevim docker-compose.yml# 0ctf_2016_unserializeversion: "2"services: web: build: . image: ctftraining/0ctf_2016_unserialize environment: - FLAG=flag{test_flag} restart: always ports: - "127.0.0.1:8302:80"

此处需要修改两个地方:一个是 flag 的值,写一个自己喜欢的字符串即可,另一个地方是下面的地址和端口号,地址改为 0.0.0.0 端口号选一个未被占用的即可。因为0.0.0.0可以给本地局域网机器访问。

3.启动该题目

docker-compose up -d

4.访问和配置 CTFd 的 Challenge访问 htto://127.0.0.1:8302 (此处改成自己的 ip 和端口号),成功能显示页面即可。进入刚刚搭建好的 CTFd 中 Admin->Challenges,添加一个新的挑战,类型选 standard,填写好题目名字、内容和分值等。

七、汉化CTFd

1.下载汉化包

git clone https://github.com/Gu-f/CTFd_chinese_CN.git

2.替换themes

将CTFd/CTFd/themes的themes文件删除,再移动汉化版本thems到CTFd/CTFd/目录下即可。

3.替换好的效果如下:

学习资源

如果你是也准备转行学习网络安全(黑客)或者正在学习,这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你

知识库由360智榜样学习中心独家打造出品,旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力,熟练掌握基础攻防到深度对抗。

1、知识库价值

深度: 本知识库超越常规工具手册,深入剖析攻击技术的底层原理与高级防御策略,并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等,提供了独到的技术视角和实战验证过的对抗方案。

广度: 面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南。

实战性: 知识库内容源于真实攻防对抗和大型演练实践,通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。

2、 部分核心内容展示

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

内容组织紧密结合攻防场景,辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合,是你学习过程中好帮手。

1、网络安全意识

2、Linux操作系统

3、WEB架构基础与HTTP协议

4、Web渗透测试

5、渗透测试案例分享

6、渗透测试实战技巧

7、攻防对战实战

8、CTF之MISC实战讲解

3、适合学习的人群

一、基础适配人群

  1. 零基础转型者‌:适合计算机零基础但愿意系统学习的人群,资料覆盖从网络协议、操作系统到渗透测试的完整知识链‌;
  2. 开发/运维人员‌:具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能,实现职业方向拓展‌或者转行就业;
  3. 应届毕业生‌:计算机相关专业学生可通过资料构建完整的网络安全知识体系,缩短企业用人适应期‌;

二、能力提升适配

1、‌技术爱好者‌:适合对攻防技术有强烈兴趣,希望掌握漏洞挖掘、渗透测试等实战技能的学习者‌;

2、安全从业者‌:帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力‌;

3、‌合规需求者‌:包含等保规范、安全策略制定等内容,适合需要应对合规审计的企业人员‌;

因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传CSDN,朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1191538.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学术界最大的室内运动捕捉设施为世界领先的无人机研究提供支持

亚利桑那州立大学跟踪体积为 230,000 立方英尺的无人机工作室是世界上学术机构中最大的室内无人机研究动捕设施。该设施前身是一个篮球馆&#xff0c;经过五年多的建造&#xff0c;由亚利桑那州立大学机器人研究员和副教授Panagiotis Artemiadis博士设计&#xff0c;为跨学科研…

运维系列【仅供参考】:常用软件测试工具(非常详细),零基础入门到精通,看这一篇就够了

常用软件测试工具(非常详细),零基础入门到精通,看这一篇就够了 常用软件测试工具(非常详细),零基础入门到精通,看这一篇就够了 前言 1、测试管理工具:禅道 2、连接服务器:Xshell、Filezila 3、抓包工具:Charles 4、接口测试工具:Jmeter、Postman 5、app自动化工具 …

前端面试真的很水,就这38页纸,熬夜背吧!

有没有觉得前端面试越准备越懵&#xff1f;岗位JD写得花里胡哨&#xff0c;实际面起来全是翻来覆去的基础题、高频八股&#xff0c;甚至有些面试官自己都没吃透原理&#xff0c;就照着题库照本宣科。说前端面试“水”&#xff0c;其实就是这个道理——门槛看着低&#xff0c;考…

rxjs基本语法

RxJS (Reactive Extensions for JavaScript) 是 Angular 中处理异步编程的核心库。 它通过使用 Observable&#xff08;可观察对象&#xff09; 序列来编写异步和基于回调的代码。 一、 核心概念 在 RxJS 中&#xff0c;一切基于数据流。 Observable (被观察者): 数据的源头&a…

专访智脑时代卢向彤:当 AI 接管钱包,企业如何抢占智能体经济的“核心生态位”?

“未来的消费者可能不再是‘人’&#xff0c;而是代表人的‘AI Agent’。” 深圳智脑时代创始人卢向彤认为&#xff0c;商业世界正处于从“注意力经济”向“意图经济”跃迁的前夜。企业若不能让自己的服务被 AI 读懂并调用&#xff0c;将在新的商业版图中彻底隐形。设想这样一个…

前端向架构突围系列 - 工程化(五):企业级脚手架的设计与落地

写在前面 很多团队都有一个“规范文档”&#xff0c;它通常静静地躺在 Wiki 的角落里&#xff0c;只有新员工入职的第一天会被打开&#xff0c;然后迅速被遗忘。 依靠文档约束人性的规范&#xff0c;注定是失败的。 在架构师的眼里&#xff0c;规范不应该是一个文档&#xff0c…

金属款气象仪:支持数据实时读取

金属款气象仪支持数据实时读取&#xff0c;主要通过以下方式实现&#xff1a;高集成度结构与数字量通讯接口&#xff1a;金属款气象仪采用高集成度设计&#xff0c;将风速、风向、温度、湿度、大气压力等关键气象参数的传感器集成于一个紧凑的金属外壳内。这种设计不仅简化了安…

一条传统产线的智能化转型项目管理实录

摘要&#xff1a; 本文以汽车零部件行业的“发动机缸体加工生产线自动化升级项目”为研究对象&#xff0c;结合笔者亲历的项目管理全流程&#xff0c;系统阐述PMP项目管理知识体系在行业项目中的实操落地过程。项目针对传统生产线效率低、良品率波动大、人工成本高的痛点&#…

告别字段注入:为什么你应该在 Spring 中使用构造器注入

在日常的 Spring Boot 开发中&#xff0c;你是否经常这样写代码&#xff1f;RestController public class UserController { Autowired private UserService userService; } 看起来简洁、直观&#xff0c;IDE 也能自动补全。但细心的同学可能已经注意到&#xff1a;IntelliJ ID…

如何将联系人从 Android 传输到 PC

失去联系人可能会带来很大的不便。无论您是要升级手机、备份数据&#xff0c;还是只是需要访问计算机上的联系人列表&#xff0c;了解如何将联系人从 Android 传输到 PC 总是很有用的。按照本指南&#xff0c;获得 6 个实用方法&#xff0c;然后轻松转移您的联系人。第 1 部分&…

超500万台、破百亿元!2025年我国3D打印机出口成绩亮眼

资源库 / 1月20日消息&#xff0c;据海关总署最新数据显示&#xff0c;2025年12月我国3D打印机出口量达到57万台&#xff0c;同比增长81.2%&#xff0c;出口总额达14.89亿元&#xff0c;同比增长117.9%。2025年全年&#xff0c;我国累计出口3D打印机503万台&#xff0c;同比增长…

如何将数据从 iPad 无缝传输到 iPad综合教程

当您购买新iPad时&#xff0c;您可能想将旧iPad上的数据转移到新iPad上&#xff0c;例如照片、视频、音乐、应用程序等。那么&#xff0c;您知道如何将数据从iPad转移到新iPad吗&#xff1f;事实上&#xff0c;这很简单。阅读今天的文章&#xff0c;您将逐步了解如何使用 5 种可…

基于SpringCloud + ElasticSearch + Redis + RabbitMQ 构建高性能电商搜索和个性化推荐系统

在电商平台的核心链路中&#xff0c;搜索与推荐直接决定了用户体验与转化效率。传统数据库搜索面临精准度低、响应缓慢、推荐同质化等问题&#xff0c;而消息队列的引入能有效解决数据实时同步、系统解耦等关键诉求。本文将基于 SpringCloud ElasticSearch Redis RabbitMQ 技…

金小厨切肉器:6年打磨的 “切肉神器”,解决做饭人三大难题

对多数家庭烹饪者而言&#xff0c;切肉始终是厨房操作中的 “老大难”—— 新手常因刀工不佳切出厚薄不均的肉片&#xff0c;老手也难免因长时间操作感到手腕酸痛。深耕厨房工具领域6年的金小厨品牌&#xff0c;精准捕捉这一用户痛点&#xff0c;金小厨始终以实用创新为核心&am…

贵金属强势破历史新高,2026 年涨势能否一路延续?

降息周期下的贵金属行情推演 2026年伊始&#xff0c;贵金属市场以“强势破局”姿态开启全年行情&#xff0c;伦敦金现价格突破4700美元/盎司&#xff0c;沪金、沪银期货合约同步创下历史新高&#xff0c;市场对涨势延续性的讨论愈发热烈。但回顾历史&#xff0c;贵金属暴涨后往…

Docker compose更新容器版本踩坑

执行docker compose up -d之前一定看看卷挂载,如果没删除干净的话且文件与容器核心程序重名,就会导致docker把最新的容器拉下来了,然后挂载卷中的文件夹把容器中的同名文件夹覆盖,于是导致容器没变化一样的结果

Pytest自动化测试实战之执行参数

&#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 上一篇介绍了如何运行pytest代码&#xff0c;以及用例的一些执行规则&#xff0c;执行用例发现我们中间print输出的内容&#xff0c;结果没有给我们展示出来&…

什么是活动目录Active Directory安全?

活动目录&#xff08;AD&#xff09;是大多数企业IT环境的核心支柱&#xff0c;负责管理整个组织网络中的用户身份、认证与访问控制。随着网络威胁不断演变且愈发复杂&#xff0c;活动目录安全已成为全球IT管理员和网络安全专业人员的核心要务。本指南将全面探讨活动目录安全的…

为什么现在招聘C++程序员这么难?

有HR说&#xff1a;“招聘条件已经降到很低了&#xff0c;薪资也还不错&#xff0c;就是没人。”主题&#xff1a;为什么现在招聘C程序员这么难&#xff1f;https://www.zhihu.com/question/491876804【回答1】要不是我正在找工作&#xff0c;我就信你了&#xff0c;现实情况是…

博客园借口测试Test123134

c博客园借口测试Test博客园借口测试Test博客园借口测试Test博客园借口测试Test博客园借口测试Test作者: 咕咚!出处:https://www.cnblogs.com/linga/关于作者:专注虚拟化,运维开发,RPA,Rust,Go,Python!本文版…