• Supershell防溯源反制配置


    简介

    项目地址:https://github.com/tdragon6/Supershell

    Supershell是一个集成了reverse_ssh服务的WEB管理平台,使用docker一键部署(快速构建),支持团队协作进行C2远程控制,通过在目标主机上建立反向SSH隧道,获取真正的完全交互式Shell,同时支持多平台架构的客户端Payload,客户端Payload的大小为几MB,可以理解为在目标主机上部署了一个几MB的ssh服务器,然后获取了一个ssh shell;Supershell集成了客户端管理、客户端Payload生成、交互式Shell、文件管理、文件服务器、内存注入、安装服务、迁移guid、客户端监听、本地原生sftp命令传输文件、本地ssh隧道端口转发和备忘录等功能。

    这里通过修改几个小配置达成效果:无法判断这个端口开放的是否是Supershell,无法通过jwt伪造登录。

    下载发行版:

    wget -P /opt/ https://github.com/tdragon6/Supershell/releases/download/v2.0.0/Supershell.tar.gz
    

    解压:

    cd /opt
    tar zxvf Supershell.tar.gz
    cd Supershell
    

    修改配置文件

    修改默认密码和jwt盐

    Supershell根目录下config.py默认内容如下

    用python生成新密码的md5,P@ssW0rd修改成自己的密码

    import hashlib
    hashlib.md5('P@ssW0rd'.encode('utf-8')).hexdigest()
    

    用secrets生成jwt加盐密钥

    impoty secrets
    secrets.token_hex(16)
    

    最终文件如下:

    '''
        用户配置页
    '''
    
    # web登录和会话配置信息
    user = 'admin'
    pwd = '5ca33d221fd09f16c1ecba9c1aadc3eb' # 明文密码 P@ssW0rd 的md5
    
    # jwt加密盐
    global_salt = '1a632e90f508692426baa98ca832c200' # 必须修改,不然可以伪造jwt token直接登录
    
    # 会话保持时间,单位:小时
    expire = 48
    
    
    # 共享远控shell的共享密码
    share_pwd = '5ca33d221fd09f16c1ecba9c1aadc3eb' # 明文密码 P@ssW0rd 的md5
    
    # 共享shell会话保持时间,单位:小时
    share_expire = 24
    
    

    修改默认端口

    修改docker-compose.yml文件,在第七行可以看到默认端口是8888,这里修改成30100这种不常用端口

    设置Nginx基础认证

    进入volume/nginx目录

    用 htpasswd 生成认证文件,这里改成自己想用的账号密码

    htpasswd -nbm admin password > admin.pwd
    

    修改default.conf

    location /下面添加下面内容

    auth_basic "please login";
    auth_basic_user_file /etc/nginx/admin.pwd; 
    

    再次修改docker-compose.yml文件

    在第十三行后面添加下面内容

    - ./volume/nginx/admin.pwd:/etc/nginx/admin.pwd
    

    效果

    docker-compose up -d启动

    访问30100端口,效果是这样的,没有任何supershell的特征

    输入正确密码才会进入SuperShell界面

    这里由于刚才修改默认账号密码和jwt盐,所以无法被暴力破解和jwt伪造

    输入正确账号密码即可登录

    可以正常上线主机


    __EOF__

  • 本文作者: 柠檬i
  • 本文链接: https://www.cnblogs.com/CVE-Lemon/p/17949437
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    计算属性的学习
    P2918 [USACO08NOV] Buying Hay S(不一样的完全背包)
    http请求报错:406 Not Acceptable的解决办法
    ISPE GAMP5 中文版
    Flume(5个demo轻松入门)
    postman做接口自动化测试
    微服务nacos实战入门
    JavaScript计算两个时间相差多少个小时的封装函数
    SpringCloud 微服务全栈体系(四)
    数据结构 每日一练 :选择 + 编程
  • 原文地址:https://www.cnblogs.com/CVE-Lemon/p/17949437