SunloginRCE漏洞分析和使用

SunloginRCE漏洞分析和使用

2023年6月23日发(作者:)

SunloginRCE漏洞分析和使⽤介绍  前两天⽹上曝出了关于向⽇葵远控⼯具(Sunlogin)Windows个⼈版的RCE漏洞POC。因为利⽤简单并且⽹上出现了公开的⾃动化扫描脚本,所以测试的⼈很多,也出现了⼀些真实攻击。漏洞的问题主要是出现在Sunlogin客户端的⼏个对外开放的接⼝中,现在我对其中⼀部分利⽤进⾏简要的分析。未授权认证  分析的向⽇葵客户端版本为11.0.0.33162,当在Windows上执⾏时,会连接远程Oray的服务器,同时也会打开⼀个⼤于40000的端⼝监听外部的连接访问(具体是否从40000往上随即开启端⼝,这个没有调试,⽹上是这么说的,我们主要看的是发⽣利⽤的代码部分)。  对其中⼀部分接⼝,Sunlogin统⼀对其进⾏处理。  接着会执⾏⾄函数sub_140E21528,分别对不同接⼝进⾏不同的处理。在接⼝/cgi-bin/rpc的Handler处理函数中可以进⾏未授权认证。  获取action参数值,如果值为verify-haras,即action=verify-haras,那么可以在没有识别码和验证码的情况下认证成功。  成功后返回⼀个verify_string,作为之后再次访问时Cookie字段中使⽤的CID值。RCE  漏洞发⽣在接⼝/check处,如下图,当参数cmd的值以ping或者nslookup开头时可以构造命令实现远程命令执⾏利⽤。  发送请求时需要在请求头中指定Cookie字段中CID的值为之前/cgi-bin/rpc返回的verify_string值(在测试时我发现该值似乎是不会变化的,也就是说该值的计算没有时间因⼦参与)。下⾯是分别通过nslookup和ping拼接的利⽤请求。  nslookup拼接字符串利⽤:  ping拼接字符串利⽤:请求中的路径问题  windows的路径处理问题,⼀些⼩细节:1. 因为最终调⽤的是CreateProcess,参数lpApplicationName固定为0,所以可执⾏⽂件需要从lpCommandLine参数中,以空格分隔的第⼀个字符串作为新起进程的启动路径。⽽windows⼜不会⼀级⼀级得验证⽬录的有效性,所以只要在ping/nslookup后不加空格并配合多个../和⽬标可执⾏⽂件的路径,从⽽启动任意⽬标进程,以空格分隔命令参数;2. 路径前⾯必须为反斜杠"",⽽不能是斜杠"/",不然⽆法找到⽬标⽂件,则没有这⽅⾯限制。究其原因是因为cmd中以斜杠"/"作为命令参数的标记使⽤,未免路径斜杠和其混淆,便固定反斜杠作为路径分隔符。如果使⽤了"/",会出现" /"的情况,/c作为参数指定后⾯的字符串作为命令,那么md命令会创建.exe⽬录,这就是为什么有时候第⼆次执⾏会出现"⼦⽬录或⽂件 .exe 已经存在"的原因;如果使⽤了/cmd,没有后缀,那么就是"命令语法错误"的回显。3. 使⽤反斜杠时注意转义字符,保险起见使⽤双⽅斜杠。其他1. assist接⼝问题:  我参考的这篇分析中提到了接⼝/assist,但是没利⽤成功并发表了疑问。  然后我尝试了⼀下,确实不⾏,经过分析后判断下来这个接⼝恐怕是没法⽤的。在/assist这个接⼝会⽤到API

CreateProcessAsUser,同样lpApplicationName为0,由lpCommandLine空格分割后的第⼀个字符串指定执⾏⽂件路径。  ⾄于为什么说这个接⼝没法利⽤,是因为虽然可以通过fastcode指定参数值,并作为命令执⾏。但是并不和/check接⼝中的处理⽅式⼀样是直接执⾏,/assist接⼝处理函数是取当前进程(即当前实例)路径,程序执⾏参数为"--mod=fastcode --fastcode=",复制当前进程令牌后作为新进程的令牌启动。整个命令⾏尖括号才是我们可控的,⽽由于启动的进程已经固定不变了,为,后⾯所有字符串全部作为的参数,因此⽆法利⽤该接⼝指定其他命令。  像&、|、||、&&这些符号也就是等shell终端中能有命令的效果,其他软件如不对其进⾏处理,因此不能⽤。2. 其他接⼝:  ⽐如/fastcode接⼝,⽆需传⼊参数,可以直接获取被控端的识别码;其他还有⽐如/micro-live/enable、/micro-live/enable、/sunlogin-tools等,不过简单地测试了⼀下,会出现初始化失败的问题,可能需要登录。客户端执⾏插件功能时,⼤多通过指定命令⾏新起⼀个进程实现。3. 内⽹外⽹问题  因为需要直接访问向⽇葵客户端的ip,那么内⽹只能够从内⽹其他机器打进去;⽽如果在公⽹,则容易被发现和攻击。

发布者:admin,转转请注明出处:http://www.yc00.com/news/1687516294a16238.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信