最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
一、ctfd的搭建
1.首先我们大家随着对网络安全的越来越强的认识,喜欢做点题目练练手,那么搭个靶场就很不错,ctfd作为开源的老牌平台(虽然这个平台也有安全性的问题),不过么还是很不错哒!
2.那么我们废话不多说,开始搞起来吧!
3.首先我们得买个云服务器(好处就是网络快,搞错了可以直接重置,自己也会带有加速源),不过搭建本地服务器也是可以的,可惜我们实验室也就那么几台。。
4.接下来,进入服务器,可能你会遇到什么密码错误等等,自己在控制台重置一下服务器就行了:
5.接下来我们先换个源:
我们先用下面的命令:
vim /etc/apt/sources.list
deb http://mirrors.aliyun.com/debian/ buster main contrib non-free
deb http://mirrors.aliyun.com/debian/ buster-updates main contrib non-free
deb http://mirrors.aliyun.com/debian/ buster-proposed-updates main non-free contrib
deb http://mirrors.aliyun.com/debian/ buster-backports main non-free contrib
# deb-src http://mirrors.aliyun.com/debian/ buster-updates main contrib non-free
# deb-src http://mirrors.aliyun.com/debian/ buster main contrib non-free
# deb-src http://mirrors.aliyun.com/debian/ buster-proposed-updates main contrib non-free
# deb-src http://mirrors.aliyun.com/debian/ buster-backports main contrib non-free
deb http://mirrors.aliyun.com/debian-security/ buster/updates main non-free contrib
# deb-src http://mirrors.aliyun.com/debian-security/ buster/updates main non-free contrib
最后使用:wq 这个命令保存
像我一样:
回车保存就可以了
6.接下来我们开始安装docker(为什么呢?因为我们需要创建动态靶机,这个是我们非常有用的一个好东西,具体可以查一下他的好处,我这里不多赘述):
安装命令如下:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
测试docker是否安装成功:
sudo docker help
若安装成功,终端会显示Usage: docker [OPTIONS] COMMAND,提示你输入更详细的docker命令。
然后再安装 Docker Compose:
apt-get install docker-compose
启动Docker服务并设置为开机启动
sudo systemctl start docker
sudo systemctl enable docker
之后我们验证一下是否安装成功:
**特别说明:**可能会有报错问题,docker-compose无法下载等:
在linux中通过curl拉取高速安装版本,可能导致下载的不全。结果就是version命令报错。
解决方法:
直接在release中下载对应的linux发行版【docker-compose-linux-x86_64】https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64
下载完后将软件上传至 Linux的【/usr/local/bin】目录下
然后重命名:
sudo mv docker-compose-linux-x86_64 docker-compose
将可执行权限应用于二进制文件:
sudo chmod +x /usr/local/bin/docker-compose
创建软链:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
2024.3.6号个人测试时再度更新说明:阿里云,腾讯云各个云服务器我也不知道为啥,可能有的服务器docker和docker-compose版本都可以允许,别的云服务器上就又不能运行了,但凡出现以下报错:
1.ERROR: for frpc Cannot start service frpc: b’Could not attach to network ctfd_frp_containers: rpc e rpc error: code = 7 desc = network not manually attachable
2.ERROR: for ctfd_frpc_1 a bytes-like object is required, not ‘str’
3.ERROR: Network “ctfd_frp_containers” needs to be recreated - internal has changed
4.rpc error: code = PermissionDenied desc = network ctfd_frp_containers not manually attachable
5.ERROR: Encountered errors while bringing up the project.
6.ERROR: no VNI provided
7.ERROR: Couldn’t connect to Docker daemon at http+docker://localunixsocket - is it running?
以上这几个报错全是因为docker版本和docker-compose版本问题,建议安装以下版本:
安装特定版本的话docker的方法网上有很多我就不说了,指定安装24.0.7版本
docker-compose特定版本在我上面部分解决方案里已经写了,直接去github下载特定版本后上传服务器上,创建软连接。
我也是测试了20多个小时总结出来的。。。(docker的版本真的很重要)
7.接下来我们要开始最重要的一步了 ,安装ctfd:
许多文章都是需要再配置ctf,并且不是汉化版的,我们直接使用大神全部配置好的!
Docker集群设置
启用Docker Swarm,并为生成的Manager节点取一个别名
docker swarm init # 初始化
docker node ls # 查看节点ID
docker node update --label-add name=linux-1 <节点 ID> # 添加别名
下载CTFd修改版
博主 Vicosna 已经对CTFd v3.3.1官方源码进行了更换国内镜像源、添加CTFd-Whale子模块、配置frp网络、设置静态文件CDN加速等工作,可前往使用作者修改的版本进行安装部署。
git clone -b frp https://github.com/vicosna/CTFd.git # 修改版(根目录不建议修改名字)
cd CTFd # 进入CTFd目录
git submodule update --init # 更新CTFd-Whale子模块
# ——————————————————————————————————————————————————————
# 如果你访问Github的速度不佳,也可以使用博主提供的CSDN和Gitee版(可选)
git clone -b https://codechina.csdn.net/vicosna/CTFd.git # CSDN
cd CTFd # 进入CTFd目录
sed -i 's/github.com/codechina.csdn.net/g' .gitmodules # 修改子模块Url
git submodule update --init # 更新CTFd-Whale子模块
# ——————————————————————————————————————————————————————
git clone -b frp https://gitee.com/vicosna/CTFd.git # Gitee
cd CTFd # 进入CTFd目录
sed -i 's/github.com/gitee.com/g' .gitmodules # 修改子模块Url
git submodule update --init # 更新CTFd-Whale子模块
之后构建镜像
运行
docker-compose build
命令,等待·················
如果修改的各配置文件没有错误的话,那么应该就会返回 Successfully tagged ctfd_ctfd:latest
~
然后部署容器
运行
docker-compose up -d
部署容器,耐心等待~
2024.2.5更新:
如果构建过程中遇到这样的报错
说是没有节点:
ERROR: This node is not a swarm manager. Use “docker swarm init” or “docker swarm join” to connect this node to swarm and try again.
我们只要执行:
docker swarm init
docker node update --label-add='name=ctfd_frp_containers' $(docker node ls -q)
docker node update --label-add='name=linux-1' $(docker node ls -q)
依次执行这三句话然后就可以让他构建一个管理节点,这样的话你的动态靶机才可以运行起来,不然的话会没有反应······
我们再来使用docker ps -a
查看一下当前正在运行的容器是否都正常。
可以看到我们已经存在ctfd的docker镜像了(这边由于我已经做了比较多的ctf题目镜像,所以还有别的镜像···)
8.访问你的服务器的公网IP就能打开平台界面啦,由于CTFd最新版启用了nginx端口转发,我们直接访问80
端口即可,当然CTFd的默认端口8000
也可以访问。
恭喜大家完成ctfd的部署,为啥我有这样漂亮的界面?我之后再讲哈哈哈
我非常欢迎大家来放我们的平台。
二、开始部署一个ctfd赛题
我们这里先用现成的题库,这里用CTFTraining题库进行演示:
sudo mkdir -p /opt/CTF #创建CTF目录
sudo cd /opt/CTF
sudo git clone htt/opt/CTFps://github.com/CTFTraining/CTFTraining.git #安装CTFTraining,注意这里只能git下来目录,目录中是空的,需要一个一个CTF题目去git
cd CTFTraining
ls
然后比如说我们随便选一个ctf题,2016的反序列化这个:
sudo git clone htt/opt/CTFps://github.com/CTFTraining/0ctf_2016_unserialize.git #下载CTF题目,只要替换0ctf_2016_unserialize为其他目录名称即可下载所有题目
cd 0ctf_2016_unserialize/ #进入题目目录中
ls
然后我们直接在这个目录下:
sudo docker-compose up -d #使用docker-compose下载镜像生成容器并启动容器
构建后你可以看一下是否构建完成:
docker ps -a #查看容器状态
应该是存在一个docker镜像了,就像我的这个:
然后进入网站:
管理员点击进入Admin Panel 管理界面:
点击whale:
把自己服务器的ip填入direct ip address 地址中:
如果你是本地搭建的就写127.0.0.1,保存一下。
进入challenge界面:
点击上面的加号:
进入后我们选择dynamic_docker(如果你要是只要静态的flag,那你就用standard标准就行了):
然后填写内容:这里名称啊,分数啊,提示啊啥的都自己想填啥就填啥了
注意了:这边docker image 就是你本地构建镜像的名字,如果不存在本地镜像会自动调用dockerhub上面的在线镜像内容,这个是后话我们后面再说
我这边是
这个名字,所以填这样的:
ctftraining/0ctf_2016_unserialize
别的你就填别的
然后FRP port 的内容你就填80 这个是配置的默认转发接口
就像我这样填肯定没问题!!
然后在下面的什么初始分数,衰减分数,最低分数,你就看你心情填了:
接下来点击create 你就得到了一个题目
然后可能刚部署完的题目是隐藏的,你需要进入题目详情然后点击:
把hidden变成visible就行
然后你就按照方法部署完很多很多的题目了。。。
最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!