网络安全运营之Webshell下的提权检测
2020-11-27 11:06:50 Author: www.secpulse.com(查看原文) 阅读量:319 收藏

image.png

image.png
引言:故事一则
百年庆典在即,城外突发蝗灾,大量难民涌入城内,城中安全受到严峻挑战。作为此次庆典的安全总负责人,哼将军迅速增派人员在城内进行巡查,一是保证难民和城中居民安全,二是为了找出趁乱进入城中的外邦间谍。虽然为了庆典活动安全哼将军早已在城门增派了人手加强审查,但是仍然无法保证已经入城的人不会做出危害城中安全的事情。
不过,间谍才进入城中不久,TA对城里信息了解有限,距离达到最终目标还有很长一段时间,且间谍要想进入庆典现场那就必须拥有合理接近皇宫并参与到庆典当中的身份,同时要在城内迅速获取足够多的信息,这个过程中产生的行为就能够为哼将军发现异常提供宝贵线索。

image.png

派下去巡查的将士不断将收集的情报带回宫内,经一段时间的审查发现,有几个人的行为很反常。这几人自从进到城里,就时常不经意地和城内居民打听皇宫内庆典的小道消息,还有一个人隔三差五和每日送菜进宫的张家大哥聊天,貌似他俩的关系现在变得很亲密。这些人引起了哼将军的注意,为了不打草惊蛇,哼将军打算继续秘密对他们进行重点监视。
一天,那人进入张家大哥家,不一会竟然乔装成送菜张家大哥,意图代替他进宫送菜。负责监视的将士迅速将他拿下,经审查,此人真的是M国间谍——他计划先潜入宫内,再想办法混进庆典现场,没想到还没混进宫门就被发现并抓捕。
又一危机解除,但是庆典还没结束,大家仍不能松懈,防护持续进行中……
image.png
定位:杀伤链阶段
从上述故事我们知道人祸可防,天灾不可防。其实在网络世界中也一样,比如0day或其他新公布可以产生Webshell的漏洞都很难防。追溯到最早的大、小马,再到强悍的一句话,后续出现的冰歇以及前段时间火热的无文件Webshell。我只想说:写规则,真的好难!但是我们仍不能放弃,看下Webshell在杀伤链中的环节就知道原因了。

image.png

杀伤链

从杀伤链图中可以了解,Webshell处于杀伤链的安装植入、命令控制阶段,此时机器已经处在半控制状态,距离完全控制主机就只剩提权了。
说到提权,提权中的一项重要操作我们也必须提高重视程度,那就是shell。因为在Webshell里,想要将权限提升就一定会用到这个东西。
image.png
了解:Webshell提权
在Webshell上传成功之后,会伴随着一系列的动作,其中提权就是很重要的一步。如同间谍进城之后要获取关键信息,Webshell要想进行下一步的深入操作,一般也要获取服务器详情、服务器所处网络中的位置等信息。当我们的WEB服务器被上传Webshell后,攻击者需要将自己的权限进行提升,以获取到更多的东西。
通常攻击者在拿到Webshell后,获取到的权限相对较低,比如在IIS下面,拿到Webshell获取的权限就很低,这个权限和guest权限相差不大,要做一些权限更高的操作就需要将权限提升至admin权限。在linux的系统下则要提升至root权限。
image.png
思路:Shell指令复现
下面是通过主机监控agent抓到的日志信息。
  • 用户本地cmd正常执行whoami命令获取的的日志

image.png

平台接收的日志

在本地开启CMD执行whoami命令的时候我们看到父进程为C:\Windows\system32\cmd.exe。
  • 通过Webshell执行的whoami命令

image.png

Webshell操作截图

image.png

平台接收的日志

在Webshell下面执行的whomai命令看到的父进程显示是cmd.exe /c "cmd /c cd /d "C:\phpstudy_pro\WWW\"&whoami&echo [S]&cd&echo [E] 2>& ,父进程里面标识出了非系统正常调用路径并夹杂了其他的东西。
  • 用户本地cmd正常执行systeminfo命令获取的的日志

image.png

平台接收的日志

同样在本地开启CMD执行systeminfo命令的时候我们看到父进程是C:\Windows\system32\cmd.exe。
  • 通过Webshell执行的systeminfo命令

image.png

Webhell执行命令截图

image.png

平台接收的日志

同样在Webshell下面执行的systeminfo命令看到的父进程显示是cmd.exe /c "cmd /c cd /d "C:\phpstudy_pro\WWW\"&systeminfo&echo [S]&cd&echo [E] 2>&1,父进程里面标识出了非系统正常调用路径并夹杂了其他的东西。
上面的操作只是简单复现了Webshell下几个常见指令,不同Webshell下的特征各有不同,大家可以自己操作复现、举一反三。
image.png
分析:态势分析配置
经过上述一系列操作我们可以发现,通过Webshell执行命令和正常在本地CMD下面执行相同命令时,对应的父进程有着很大的差异。掌握了这个特征,我们就可以通过态势平台配置分析规则,从而发现这些异常操作。

image.png

配置日志分析策略

image.png
处置:联动处置(SOAR)
既然平台已经可以发现该危险操作,就不能仅仅停留在告警阶段被动等待安全人员进行处置,时间紧迫、运营人员工作量大等急切解决的问题就交给我们的神兵利器SOAR来处理吧。平台可联动网络防火墙,实现自动处置,将攻击行为扼杀在半途中。

image.png

自动响应与处置

image.png
总结
随着技术的提升,我们已经无法做到完全阻止Webshell上传,尤其是经过加密处理的Webshell文件,在不运行的情况下很难进行检测。如果攻击者上传成功后,Webshell没有运行起来,这种情况下借助机器学习算法分析所有的访问日志我们可以实现对此类没有正常运行的Webshell进行发现。。
但现在个别攻击者已经将文件落地性的攻击转为不落地的方式,再一次加大了发现异常Webshell的难度。既然无法阻止Webshell的上传,那我们可以有新的思路,找到其他解决办法。上传Webshell只是第一步,通过Webshell控制系统进行更多的操作才是攻击者最终的目的,比如提权操作。针对这些操作行为的分析也能够发现异常从而减少风险。
危险人员的渗入很难阻挡,但是明晰渗入人员的目的,并和他们的攻击思路保持一致,分析他们的行动轨迹,就一定能发现蛛丝马迹,这也是笔者从事安全多年所悟到的道理。在网络世界,所有谜团拆分到最后,就只会剩下点和线,当我们无法通过点做出判断,那就通过线来发现问题。学会抛却繁杂的外表直达事物的本质,能更好的解决看似繁复的问题。这便是所谓的“重剑无锋,大巧不工”。

本文作者:观安信息

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/147823.html


文章来源: https://www.secpulse.com/archives/147823.html
如有侵权请联系:admin#unsafe.sh