混迹 Web 安全行业许久,查杀网站后门已是家常便饭。时间久了,养“马”场也见的多了,Neo-reGeorg 算得上是同类中战斗力超群的“野马”了,也深受黑客和安全渗透人员的喜爱。Neo-reGeorg 能够简化攻击流程。通常,拿下 Web 服务器并进一步横向渗透时,在 Web 服务器上安装必要辅助工具的过程往往不会很顺利。而 Neo-reGeorg 可以让问题变得轻松很多,只需在本地安装好扫描工具,通过 Neo-reGeorg 把流量透传到 Web 服务器内部就可以了。
Neo-reGeorg 是 reGeorg 和 reDuh 的升级版,是为了应付复杂的网络环境重构的项目。该工具基于 HTTP(S) 协议建立隧道,会在本地创建 Socket 监听 1080 端口用于正向代理访问 Web 服务器隧道脚本,通过正向代理的方式把数据加密封装到 HTTP 数据包中转发到服务器的横向网络中,同时隧道脚本也会把内网服务器端口的数据加密封装到 HTTP 数据包中转发到本地的 Socket 接口。
目标服务器: 192.168.88.15 Linux3.10, Tomcat8, 防火墙策略只开启 http 8080 端口 测试预期效果: 通过 8080 http 端口登陆目标服务器 SSH
1、通过 neoreg.py 脚本生成服务器端隧道脚本,默认生成到当前路径的 neoreg_server
目录下:
python neoreg.py generate -k password
2、上传 Neo-reGeorg 隧道脚本到目标服务器的虚拟目录:
3、为了可以监控 Neo-reGeorg 和目标服务器的交互过程,中间增加一道 BurpSuite 代理抓取数据包:
监听本地的 8899 端口,并关闭数据中断功能。
4、使用 neoreg.py 脚本通过 BurpSuite 代理连接到刚才上传的 tunnel 脚本。
此脚本会在本地建立 Socket 并监听 1080 端口
所有数据请求都通过 BurpSuite 进行代理中转
python neoreg.py -k password -vv -u http://192.168.88.15:8080/tunnel.jsp --proxy http://127.0.0.1:8899
5、Xshell 软件设置代理,通过刚才建立的 Socket 正向代理进行远程 SSH 登陆。
6、观察 BurpSuite 转发的 http 数据包,发现传输内容经过加密,伪装成 base64 编码进行传输的。
7、分析 Linux 的 /var/log/secure
日志登陆情况。
通过 Neo-reGeorg 代理方式登陆 SSH,日志记录的 IP 源地址是服务器自身的地址,也就是隧道脚本所在服务器的地址,并非 SSH 客户端 IP 地址。
很多类似 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 服务软件替换上去都是有可能的。
那么针对这些可能性,该如何防御?
基于 Web 的互联网应用越来越广泛,在只保留 HTTP 端口的普遍环境下,获取网站 WebShell 权限后的横向网络渗透测试,Neo-reGeorg 是一款理想的兵器。在网站安全威胁日渐凸显的今天,入侵者轻则篡改网页内容,重则窃取重要内部数据,植入恶意代码,侵害网站访问者。天存信息的 iLocker 文件实时监控工具作为一款专业的网页篡改检测工具,可以有效检测系统异常文件变化,对运维管理团队来说,十分必要。(易树国 | 天存信息)
Ref
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。