【神兵利器】内网渗透之多级代理工具

admin 2024年12月23日10:41:45评论46 views字数 4877阅读16分15秒阅读模式

项目介绍

Rakshasa是一个使用Go语言编写的强大多级代理工具,专为实现多级代理,内网穿透而设计。它可以在节点群里面任意两个节点之间转发TCP请求和响应,同时支持socks5代理,http代理,并且可以引入外部http、socks5代理池,自动切换请求IP。

节点之间使用内置证书的TLS加密TCP通讯,再叠加一层自定义秘钥的AES加密,可以在所有Go支持的平台使用。可以在你所有的的Windows和Linux服务器上搭建节点并组成节点群网络。

节点分为普通节点(node)与控制节点(fullnode)

  • 普通节点,无法控制其他节点进行代理、shell等操作
  • 控制节点,全功能节点

功能支持

功能支持列表如下:

  • 自动实现多层代理
  • 支持Tcp转发代理
  • 支持Tcp反向代理
  • 支持Socks5代理 (包含UDP和TCP6)
  • 支持Socks5反向代理
  • 支持HTTP代理 (爬虫利器,流量出口支持代理池)
  • 去中心化
  • 支持多个节点连接
  • 支持配置文件,可以配置代理服务器的端口、目标服务器的地址和端口、证书文件等信息
  • 支持日志记录,记录代理服务器的请求和响应信息
  • CLI模式实现远程Shell
  • 执行shellcode

项目使用

在本地1080端口启动一个socks5,连接到192.168.1.2的节点上,流量出口位于 192,.168.1.2

rakshasa -socks5 1080 -d 192.168.1.2:1080 

方向从右往左(加上本机应该是3个节点),在192.168.1.3这台机器上开启一个socks5端口1081,流量穿透到本地节点出去

rakshasa -remotesocks5 1081  -d 192.168.1.2:1080,192.168.1.3:1080 

本地监听并转发到指定ip端口,使用场景本机cs连接teamserver,隐藏本机ip,例如:本机cs连接127.0.0.1:50050实际上通过1.3,1.4节点后,再连接到192.168.1.2:50050 teamserver,teamserver看到你的ip是最后一个节点的ip

rakshasa -connect 127.0.0.1:50050,192,168,1,2:50050 -d 192.168.1.3:1080,192.168.1.4:1080

远端监听端口,流量转到本地再出去,为-connect的反向代理模式,这里与上面相反,在最右端节点监听端口50050,流量到本机节点后最终发往192.168.1.2,最终上线 IP 为本机IP

rakshasa -bind 192.168.1.2:50050,0,0,0.0:50050 -d 192.168.1.3:1080,192.168.1.4:1080

CLI 使用

(1) 名词介绍与使用要点

  • 每个节点都会生成一个UUID,重启后UUID会改变
  • 大部分子命令菜单下,都集成了 new(连接节点)、print(打印节点)、ping(测试节点延迟)功能
  • 可用 print 命令,查看在当前节点下,各个节点的 ID、UUID 和 IP 端口
  • 与其他节点进行交互的时候,可以使用ID、UUID、IP:端口去操作

例如:

rakshasa>printID  UUID                                  HostName                GOOS          IP                       listenIP----------------------------------------------------------------------------------------------------------------------------- 1  33fe3ab6-36fe-4636-b684-6f9d9e417981  DESKTOP-KP6GDI2         windows x64  192.168.1.151:8883rakshasa>ping 1rakshasa>ping 33fe3ab6-36fe-4636-b684-6f9d9e417981rakshasa>ping 192.168.1.151:8883

(2) noCLI 不能使用命令行CLI模式:

启动rakshasa,默认监听8883,执行help

start on port: 8883rakshasa>helpCommands:  bind              进入bind功能  clear             clear the screen  config            配置管理  connect           进入connect功能  exit              exit the program  help              display help  httpProxy         进入httpProxy功能  new               与一个或者多个节点连接,使用方法 new ip:端口 多个地址以,间隔 如1080 127.0.0.1:1081,127.0.0.1:1082  ping              ping 节点  print             列出所有节点  remoteShell       远程shell  remoteSocks5      进入remoteSocks5功能  shellcode         执行shellcode  socks5            进入socks5功能

连接到其他节点,print当前网络所有节点

rakshasa>new 127.0.0.1:8881rakshasa>printID  UUID                                  HostName                GOOS          IP                       listenIP----------------------------------------------------------------------------------------------------------------------------- 1  33fe3ab6-36fe-4636-b684-6f9d9e417981  DESKTOP-KP6GDI2         windows x64  192.168.1.151:8883 2  6a6dafb7-ddc9-4da3-afd2-5423038b20ab  DESKTOP-KP6GDI2         windows x64  192.168.1.151:8882 3  abc6c7aa-52d0-4a33-8688-cd2df23641cd  DESKTOP-KP6GDI2         windows x64  (localhost):8883 4  e06abfdc-320e-4eb1-9545-8fdf1536fd86  DESKTOP-KP6GDI2         windows x64  192.168.1.151:8880 5  e19e6d3e-4cdf-4573-9357-d31ee33587f7  DESKTOP-KP6GDI2         windows x64  192.168.1.151:8881

测试某个节点延迟

rakshasa>ping 6a6dafb7-ddc9-4da3-afd2-5423038b20abping 6a6dafb7-ddc9-4da3-afd2-5423038b20ab 674µs

特别说明:如果使用UUID操作某一命令,则会自动根据网络连接情况,将消息发送到该节点 如下图例子,我们处于内网的节点A,通过ip可以连接到B公网的机器,不能连到CD,但是B和C是连通,C和D是连通的。当我们请求D机器的时候,消息会通过B,C最终到达D,不需要特别指定

【神兵利器】内网渗透之多级代理工具

(3) CLI模式远程shell示例

执行remoteShell进入远程shell

rakshasaremoteShell>helpCommands:  clear      clear the screen  exit       exit the program  file       连到节点进行文件管理,参数为id或者uuid  help       display help  new        与一个或者多个节点连接,使用方法 new ip:端口 多个地址以,间隔 如1080 127.0.0.1:1081,127.0.0.1:1082  print      列出所有节点  shell      反弹shell   使用方法 shell id/uuid 启动参数 ,启动参数可为空,win默认启动cmd,linux默认启动bash, 如 shell 1 powershell 。shell 1 zsh

链接到节点:

rakshasaremoteShell>shell feed089e-20aa-44d5-bbff-07c968a94ffcroot@virtual-machine:/data/socks5/rakshasa#lsaes   common  config.yaml  go.mod  main.go   readline  README.md  shellcert  config  gencert      go.sum  rakshasa.exe  readme    serverroot@virtual-machine:/data/socks5/rakshasa# whoamirootroot@virtual-machine:/data/socks5/rakshasa# uname -aLinux virtual-machine 5.15.0-58-generic #64-Ubuntu SMP Thu Jan 5 11:43:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linuxroot@virtual-machine:/data/socks5/rakshasa#

windows下也能执行linux的交互式命令,并正常显示,如htop

【神兵利器】内网渗透之多级代理工具

备注:windows建议使用powershell,cmd下会有一些输入显示bug

(4) CLI模式,反向代理bind示例————在远程节点上监听一个端口,转发到本地某个端口,使用方法 new-bind 本地ip:本地port,远程监听ip:远程监听port 目标节点

rakshasabind>new-bind 127.0.0.1:81,0.0.0.0:8808 192.168.1.180:8883bind 启动成功rakshasabind>//在远程机器(192.168.1.180:8883)上,监听0.0.0.0:8808,将所有数据,通过本地节点,发送到127.0.0.1:81,(当然也可以是内网其他电脑ip端口或者其他公网)rakshasabind>list当前连接数量: 1ID 1 本地端口 127.0.0.1:81 远程端口 0.0.0.0:8808 服务器uuid feed089e-20aa-44d5-bbff-07c968a94ffc//feed089e-20aa-44d5-bbff-07c968a94ffc是(192.168.1.180:8883)的uuid

在这个例子中我本地启动的是一个web服务,监听的是127.0.0.1:81,hello打印的是RemoteAddr()

【神兵利器】内网渗透之多级代理工具

然后打开浏览器,输入http://192.168.1.180:8808/hello/

【神兵利器】内网渗透之多级代理工具

可以看到浏览器的请求到192.168.1.180:8808,实际经过转发后到了本地127.0.0.1:81

(5) http代理池使用示例

D:rakshasa>rakshasa -check_proxy in.txt2023/03/19 19:24:55 地址 104.223.135.178:10000 通过匿名代理检测2023/03/19 19:24:58 地址 169.55.89.6:80 通过匿名代理检测2023/03/19 19:25:52 一共有2个代理通过检测,已保存到 out.txtD:rakshasa>rakshasa -http_proxy_pool out.txt -http_proxy 8080start on port: 8883httpProxy start  :80802023/03/19 19:23:26 httpProxy 启动成功rakshasa>

使用curl查一下ip,请求所使用的代理每次请求都会改变

C:UsersAdministrator>curl -x http://127.0.0.1:8080 https://myip.fireflysoft.net/169.55.89.6C:UsersAdministrator>curl -x http://127.0.0.1:8080 https://myip.fireflysoft.net/104.223.135.178

下载地址

 

https://github.com/Mob2003/rakshasa

 

原文始发于微信公众号(七芒星实验室):【神兵利器】内网渗透之多级代理工具

 

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月23日10:41:45
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【神兵利器】内网渗透之多级代理工具https://cn-sec.com/archives/3541422.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息