前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >披着羊皮的Neo-reGeorg

披着羊皮的Neo-reGeorg

原创
作者头像
天存信息
修改2021-08-18 18:03:28
1.9K1
修改2021-08-18 18:03:28
举报

混迹 Web 安全行业许久,查杀网站后门已是家常便饭。时间久了,养“马”场也见的多了,Neo-reGeorg 算得上是同类中战斗力超群的“野马”了,也深受黑客和安全渗透人员的喜爱。Neo-reGeorg 能够简化攻击流程。通常,拿下 Web 服务器并进一步横向渗透时,在 Web 服务器上安装必要辅助工具的过程往往不会很顺利。而 Neo-reGeorg 可以让问题变得轻松很多,只需在本地安装好扫描工具,通过 Neo-reGeorg 把流量透传到 Web 服务器内部就可以了。

1. 工具介绍

Neo-reGeorg 是 reGeorg 和 reDuh 的升级版,是为了应付复杂的网络环境重构的项目。该工具基于 HTTP(S) 协议建立隧道,会在本地创建 Socket 监听 1080 端口用于正向代理访问 Web 服务器隧道脚本,通过正向代理的方式把数据加密封装到 HTTP 数据包中转发到服务器的横向网络中,同时隧道脚本也会把内网服务器端口的数据加密封装到 HTTP 数据包中转发到本地的 Socket 接口。

2. 涉及的概念

  • 隧道技术: 隧道技术是网络设备之间传输数据的一种方式,使用隧道技术的数据包会被特殊处理 (封装打标签),并通过网络传输,其传输所经过的逻辑路径称为隧道,数据到达最终目的地会进行数据还原处理。隧道技术涵盖了数据封装 (打标签)、传输和解包 (去标签) 的整个过程。隧道是逻辑上的概念,是基于现有网络基础的产物。
  • 正向和反向代理正向代理:Proxy 和 Client 同属一个区域,对 Server 透明。正向代理的控制权在自己手上,策略可以自定义。 反向代理:Proxy 和 Server 同属一个区域,对 Client 透明。反向代理的控制权在 Server 端,策略无法自定义。
  • Socket 和端口: Socket 也称套接字,编程中会绑定到某个端口进行监听,应用程序通过它来发送或接收数据。Socket 套接字可以形象地理解为一张和检票口 (监听端口) 绑定的机票,乘客持此机票在检票口附近不断轮询检票口状态,当飞机到达检票口位置,乘客就可以登机了,飞机的可靠性 (类似 TCP/UDP 的选择) 则取决于机型和机长经验等因素。

3. 运行环境

4. 使用案例

目标服务器: 192.168.88.15 Linux3.10, Tomcat8, 防火墙策略只开启 http 8080 端口 测试预期效果: 通过 8080 http 端口登陆目标服务器 SSH

1、通过 neoreg.py 脚本生成服务器端隧道脚本,默认生成到当前路径的 neoreg_server 目录下:

python neoreg.py generate -k password

图1
图1

2、上传 Neo-reGeorg 隧道脚本到目标服务器的虚拟目录:

图2
图2

3、为了可以监控 Neo-reGeorg 和目标服务器的交互过程,中间增加一道 BurpSuite 代理抓取数据包:

图3
图3

监听本地的 8899 端口,并关闭数据中断功能。

图4
图4

4、使用 neoreg.py 脚本通过 BurpSuite 代理连接到刚才上传的 tunnel 脚本。

此脚本会在本地建立 Socket 并监听 1080 端口

所有数据请求都通过 BurpSuite 进行代理中转

代码语言:txt
复制
  python neoreg.py -k password -vv -u http://192.168.88.15:8080/tunnel.jsp --proxy http://127.0.0.1:8899
图5
图5

5、Xshell 软件设置代理,通过刚才建立的 Socket 正向代理进行远程 SSH 登陆。

图6
图6
图7
图7
图8
图8

6、观察 BurpSuite 转发的 http 数据包,发现传输内容经过加密,伪装成 base64 编码进行传输的。

图9
图9

7、分析 Linux 的 /var/log/secure 日志登陆情况。

图10
图10

通过 Neo-reGeorg 代理方式登陆 SSH,日志记录的 IP 源地址是服务器自身的地址,也就是隧道脚本所在服务器的地址,并非 SSH 客户端 IP 地址。

5. 如何防御 Neo-reGeorg 入侵

很多类似 Neo-reGeorg 的工具从原理上讲,都是对底层字节流量读取后进行特殊加密,然后披上 HTTP 协议外壳偷跑进网站内部的。由于 HTTP 协议包中的数据是特殊加密的,常规前置过滤手段是无法检测出来的 (这也是“科学上网”难以杜绝的主因之一,所谓“道高一尺魔高一丈”)。然而,Neo-reGeorg 类工具的弱点是没办法像 rootkit 那样可以夺舍灵魂隐藏自己 (运气好甚至可以与服务器同寿)。WebShell 这类特征就比较明显了,往往东窗事发后会立刻被清理掉,攻击者只得竭尽所能隐藏行踪,避免被一眼识破。

常见的权限维持手段一般有:

1) 文件伪装,例如伪装成 404 等页面,并自定义返回状态码为 404,在日志审计的时候达到一些干扰作用。

2) 借助 Web 服务软件的文件名/目录解析漏洞伪装,当年的 IIS6 算是火了一把,还有 apache 的文件名从右向左的解析大法。

3) 设置文件属性为隐藏,肉眼为不可见状态,更彻底一些则追加修改注册表,让文件夹选项的"显示所有文件"功能失效。

4) Linux 上可以借助一些不太常用的命令,如 chattr +i 命令,设定文件不能被修改、删除、改名等操作。

5) 利用 Windows 系统保留文件名达到文件无法被删除的目的,如 aux、prn、con、nul、com1、lpt1 等,类似操作:copy 1.asp .\D:\wwwroot\aux.asp

6) 把 Shell 内容写入数据库,需要时拿出来用。

7) 对于文件包含的恶意利用,特别是跨域调用的情况来说,因为后门代码不在本地,常规的 Shell 扫描工具是无效的。文件包含的例子如下:

代码隐藏到图片 copy /b 1.jpg 2.php 3.jpg,那么 3.jpg 就是后门和图片的结合体,再以各种手段加载调用,如 <?php include (‘3.jpg’); ?> 还有高级的 ADS 文件流的用法,可以参考: 运用 iGuard 防御 ADS 权限维持

8) 利用 Web 软件本身配置文件做文章,最常见的是新增了虚拟目录,或者 txt 也变成了脚本解析对象等。

9) …

这些手段就像跨站漏洞一样,没完没了,不一而足。当一个技术大牛发起狠来,你永远无法估量,又有多少手段被创造出来;重新编译一个带后门的 Web 服务软件替换上去都是有可能的。

那么针对这些可能性,该如何防御?

  • 借助 Shell 扫描工具定期自检,熟悉站点架构,去除敏感目录的脚本执行权限。
  • 系统日志及 Web 应用日志审计,特别是异常时间段的交互。
  • 借助 syslog 做好日志转发备份工作。
  • 锁定中间件的配置文件,对于网页文件权限的控制做到最小化,宁可错杀后调整,也不可错放。
  • 控制脚本级别文件的增删改,增加脚本白名单功能,只允许白名单内的脚本对外交互。

总 结

基于 Web 的互联网应用越来越广泛,在只保留 HTTP 端口的普遍环境下,获取网站 WebShell 权限后的横向网络渗透测试,Neo-reGeorg 是一款理想的兵器。在网站安全威胁日渐凸显的今天,入侵者轻则篡改网页内容,重则窃取重要内部数据,植入恶意代码,侵害网站访问者。天存信息的 iLocker 文件实时监控工具作为一款专业的网页篡改检测工具,可以有效检测系统异常文件变化,对运维管理团队来说,十分必要。(易树国 | 天存信息)

Ref

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 工具介绍
  • 2. 涉及的概念
  • 3. 运行环境
  • 4. 使用案例
  • 5. 如何防御 Neo-reGeorg 入侵
  • 总 结
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档