基于xinetd部署pwn题(百分百搭成并且可以nc靶场地址)

简介: 基于xinetd部署pwn题(百分百搭成并且可以nc靶场地址)

这种搭建方法需要你先装好docker,关于docker命令的安装这里就不过多介绍了,下面讲的是基于你已经安装好了docker,我们再使用xinetd在CTFd上部署pwn题目。


首先讲一下我自己搭建pwn题的一些经历,我最开始参考的是用socat命令来搭,但是我没有成功,依旧是端口的问题或者是命令执行不成功,停在了那里无法执行,我也试过pwn_deploy_chroot以及相关的,但是也是命令执行卡住了,以及由于我没有注册GitHub账号,导致无法克隆那个工具,于是我最终还是选择用的xinetd来搭建。

第一步,我们先克隆xinetd

git clone https://github.com/Eadom/ctf_xinetd


克隆好之后我们进入该目录,如下图所示

 

下面讲的东西请大家务必耐心看完,先不要着急去搭建, 如果只是为了搭建我直接就给你们放几个命令就行了,还是真心希望各位能顺利部署pwn题目。


这里要先给大家说清楚一个东西,我们搭建的这种CTF靶场一般是在80端口

而实际上我们的题目部署所在的端口是被映射到了一个80端口(网页服务)

使用 docker ps  命令可以查看开启的容器

如下图,蓝色标注为容器名,红色标注为端口间的映射关系

关于ctf_xinetd下的目录介绍:

bin目录下面放的是flag和pwn题目程序文件;


默认是helloworld和flag,我们可以将它们替换成我们自己想要的flag和题目程序


(注意在做这些替换之前不要去创容器、拉取镜像这些,什么意思呢,如果你已经创好了这道题的容器,那么它里面放的就是helloworld和默认flag的内容,这时你再去bin目录里作更改是无效的,bin目录里内容虽然改了,但是容器里的东西是没改的,并且,对于容器中来说,helloworld和flag并不在bin目录,而是在 /home/ctf 目录下)


关于更换flag和pwn程序我们有两种方法:


(1)在创建容器之前,替换bin目录下的内容;


直接改flag的内容或者自己拉一个进去,再拉一个题目程序(我这里叫stack)进去,并删掉原来的程序(helloworld),注意,stack需要有可执行权限,我们使用chmod命令加权,一般加到750就够了,加777权限更高但是风险也上去了,这里建议加750就行。

chmod 750 stack


加权之后我们发现程序名变成了绿色,说明该程序已经具有可执行权限

(2)哪怕我们创建好了题目容器,后面又需要更换flag或者题目程序,我们可以使用docker cp 命令来替换:

docker cp 程序所在位置(如果你是在文件当前路径那就直接用文件名) 容器名:要添加到的位置

比如我们更换flag:

docker cp flag eb5d199dfc0f:/home/ctf #eb5d199dfc0f是你自己这道题的容器名

但是更建议各位创建容器之前就对bin目录里内容进行替换

接下来我们还需要改另外两个文件,如果不改,你只能连接本地,即nc 0.0.0.0 才能访问,而将0.0.0.0替换成你靶场地址时就无法访问。

因为我们下载的这个 ctf_xinetd 它里面默认端口是被映射到了9999,而我们前面说了,我们需要的是80,因此我们要将所有的9999替换成80。

vim ctf.xinetd

将port改为80

(这里顺便把./后面的hellworld改成你放到bin目录下的程序名)

修改后wq保存退出

vim Dockerfile

将expose改为80并保存退出

现在我们才开始创建容器:

docker build -t "stack" .

这个stack是你创建的镜像的名称,应该是可以随便取的,但是我用的是pwn程序名,方便之后的管理和识别。

创建好后,我们启用它:

docker run -d -p "0.0.0.0:8090:80" -h "stack" --name="stack" stack

这里的stack换成你自己的bin目录下的pwn程序名,8090换成你自己希望放的一个未使用的端口。

启用成功后我们便可看到这个容器

我们直接nc 靶场地址 端口

使用exp脚本测试一遍,没有任何问题,可以成功建立连接并获取flag

至此,我们在终端的部署完成

接下来只需将题目添加到CTFd前端即可

填写好相关的信息,上传题目程序,给出nc的地址和端口

最终效果

至此我们基于xinetd完成了对pwn题目的所有部署


关于web题目的部署,可以参考我的另一篇博客 http://t.csdn.cn/cywRR


此外,也欢迎各位来我自己搭的靶场玩 ,杂项和密码学那些都比较简单,很容易AK,主要是针对想入门CTF的朋友,特别是杂项的题目,很具有总结性,也都是原创题,算是我自己以前对杂项知识的一个简单总结,Welcome! 靶场地址 MyonCTF

目录
相关文章
|
6月前
|
安全 Linux 网络安全
【专栏】在 Linux 中,端口连接服务和应用,过多开放的端口可能带来安全隐患,教你一招找出所有开放的端口,然后直接干掉!
【4月更文挑战第28天】在 Linux 中,端口连接服务和应用,过多开放的端口可能带来安全隐患。要找出开放端口,可使用 `netstat -anp`、`lsof -i` 或 `nmap` 命令。关闭端口可通过停止相关服务、修改防火墙规则或禁用网络接口。注意不要随意关闭重要端口,操作前备份数据。保持端口安全对系统安全至关重要。
118 1
|
6月前
|
安全 网络安全 数据安全/隐私保护
VulnHub 靶场--super-Mario-Host超级马里奥主机渗透测试过程
这篇文章描述了在一个网络安全靶场环境中进行渗透测试的过程。首先,从百度网盘下载并导入虚拟机镜像,然后将其网络设置为NAT或仅主机模式。接下来,通过扫描靶机IP地址的本地网络段,发现靶机IP为192.168.220.135,并且了解到靶机上有一个名为“mario.supermariohost.local”的Web服务,运行在8180端口。尝试SSH弱口令攻击失败后,通过信息收集找到一个名为“luigi.php”的页面,其中包含一段英文提示,提示需要将域名添加到hosts文件中。 通过cewl工具从luigi.php生成字典文件passwords,然后使用hydra工具尝试SSH登录,成功获得l
119 0
|
移动开发 JavaScript 安全
记录一次社会工程学工具Seeker+ngrok
今天偶然刷bi站,刷到seeker结合ngrok进行社会工程学钓鱼的教程,下面话不多说,直接开始!
|
6月前
|
监控 Linux 网络安全
百度搜索:蓝易云【CentOS7如何使用fail2ban防范SSH暴力破解攻击?】
请注意,fail2ban还有其他功能和配置选项可供使用,您可以进一步定制以满足您的需求。您可以查阅fail2ban的官方文档或其他资源以了解更多详细信息和配置选项。
75 1
|
运维 安全 Shell
利用frp搭建公网Metasploit并使用Shellter实现简单木马免杀
利用frp搭建公网Metasploit并使用Shellter实现简单木马免杀
437 0
利用frp搭建公网Metasploit并使用Shellter实现简单木马免杀
|
Linux Windows
基于CrossC2上线Linux主机到CobaltStrike
基于CrossC2上线Linux主机到CobaltStrike
295 0
|
Windows
pikachu靶场通关秘籍之命令执行攻击
pikachu靶场通关秘籍之命令执行攻击
127 0
|
SQL 安全 Ubuntu
|
安全 Shell Linux
实战-使用msf渗透攻击win7主机并远程执行命令
实战-使用msf渗透攻击win7主机并远程执行命令
实战-使用msf渗透攻击win7主机并远程执行命令
|
网络协议 测试技术 网络架构
网络性能测试工具iperf详细使用图文教程zz
http://blog.csdn.net/zm_21/article/details/25868589 Iperf的主要功能如下: TCP 测量网络带宽 报告MSS/MTU值的大小和观测值 支持TCP窗口值通过套接字缓冲 当P线程或Win32线程可用时,支持多线程。
2788 0