一、前言
前几期文章中,我们介绍ATT&CK 14项战术中提权战术(二),包括提权前7项子技术。那么从前文中介绍的相关提权技术来开展测试,进行更深一步的分析。本文主要内容是介绍攻击者在运用提权技术时,在相关的资产服务器或者在PC机器上所产生的特征数据进行分析,使安全运维人员在后续工作中应当如何去进行预防和快速响应。
二、提权战术
(一)cron提权
1.1crontab介绍
Linux crontab 是用来定期执行程序的命令, crond 命令每分钟会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
1.2 Linux Cron Jobs提权
定时任务(cron job)被用于安排那些需要被周期性执行的命令。利用它可以配置某些命令或者脚本,让它们在某个设定的时间内周期性地运行。cron 是 Linux 或者类 Unix 系统中最为实用的工具之一。cron 服务(守护进程)在系统后台运行,并且会持续地检查 /etc/crontab 文件和 /etc/cron.*/ 目录。它同样也会检查 /var/spool/cron/ 目录
提权的前提是存在一个执行危险脚本的任务计划,并且这个任务计划执行的执行脚本可以被非root权限用户修改覆盖,并可以正常执行任务计划。
1.3suid介绍
是一种特殊权限,设置了suid的程序文件。在用户执行该程序时,用户的权限是该程序文件属主的权限。
添加suid权限:chmod u+s filename
只有可以执行的二进制程序文件才能设定SUID权限,非二进制文件设置SUID权限没任何意义
命令执行者要对该程序文件拥有执行(x)权限
命令执行者在执行该程序时获得该程序文件属主的身份
SUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效
1.4crontab提权原理
如果特权用户通过crontab -e 或者 vim /etc/crontab添加了计划任务,计划任务中存在脚本文件,且其他用户有可写的权限,则我们可以利用计划任务进行提权。
1.5crontab提权演示
普通用户test登录192.168.2.164linux系统
并且查看cat /etc/crontab下root用户的计划任务
* * * * * root sh /test.sh >> /tmp/test.txt
普通用户再查看/test.sh文件权限,普通用户有是否有读写权限
ls -l /test.sh
-rw-rw-rw-. 1 root root 3942 Apr 17 17:56 /test.sh
利用其他用户可写权限,向该脚本文件中写入提权操作
echo "cp /bin/bash /tmp/bash; chmod u+s /tmp/bash" >> /test.sh
运行/tmp/bash,此时我们已拿到root权限。
1.6态感平台检查日志
基于计划任务cron日志关联被脚本变化,脚本里写入/bin/bash从而产生告警。
下面是态感平台检测到192.168.2.164系统上rontab的产生的日志
Apr 17 17:49:01 localhost CROND[113772]: (root) CMD (sh /test.sh >> /tmp/test.txt)
下面是态感平台检测到192.168.2.164系统上检测/test.sh脚本的产生的日志
Apr 17 17:49:06 localhost test: secisland user=test client=192.168.2.160 53602 22 path=/tmp command: echo "cp /bin/bash /tmp/bash; chmod u+s /tmp/bash" >> /test.sh
1.7态感管理平台产生告警
1.8防御
系统内可能会有一些定时执行的任务,一般这些任务由crontab来管理,具有所属用户的权限。Cron的脚本程序以root权限执行时,不要将非特权用户可以通过编辑此脚本。
(二)利用漏洞提权
攻击者可利用软件漏洞来提升权限,利用程序、服务或操作系统软件或内核本身中的编程错误来执行恶意代码。漏洞通常存在于通常以较高权限运行的操作系统组件和软件中,可以利用这些漏洞在系统上获得更高级别的访问权限。
2.1永恒之蓝漏洞介绍
永恒之蓝漏洞(MS17-010),是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。
它的爆发源于 WannaCry 勒索病毒的诞生,该病毒是不法分子利用NSA(National Security Agency,美国国家安全局)泄露的漏洞 “EternalBlue”(永恒之蓝)进行改造而成 。勒索病毒的肆虐,俨然是一场全球性互联网灾难,给广大电脑用户造成了巨大损失。据统计,全球100多个国家和地区超过10万台电脑遭到了勒索病毒攻击、感染。
2.2漏洞原理
永恒之蓝漏洞通过 TCP 的445和139端口,来利用 SMBv1 和 NBT 中的远程代码执行漏洞,通过恶意代码扫描并攻击开放445文件共享端口的 Windows 主机。只要用户主机开机联网,即可通过该漏洞控制用户的主机。不法分子就能在其电脑或服务器中植入勒索病毒、窃取用户隐私、远程控制木马等恶意程序。
2.3影响版本
目前已知受影响的 Windows 版本包括但不限于:WindowsNT,Windows2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012 SP0。
2.4漏洞复现过程
环境:
攻击机:Linux kali (IP:192.168.2.164)
靶机:Windows Server 2008 R2 Datacenter (IP:192.168.2.174)
hack主机实施攻击:
我们登录kali攻击机上,matespliot利用 ms17-010 攻击代码进行攻击。搜索ms17-010 攻击相关的攻击模块:search ms17_010。
进入到相关模块后,设置攻击目标地址:set rhosts 192.168.2.174,设置目标端口445。
这样我们就攻击成功,得到靶机system权限。并且可以靶机进行控制
靶机被攻击时,产生的服务:WMI Performance Adapter、Volume Shadow Copy、Shell Hardware Detection、Windows Update、Windows Remote Management (WS-Management)被动启停。
我们登录到靶机上查看相关日志如下:
2.5态感管理平台检测告警
我们态感平台检测到windows server 2008系统上的MS17-010相关漏洞的编码,就会触发告警
2.6漏洞防御
1、关闭445端口。
2、打开防火墙,安装安全软件。
3、安装对应补丁
三、总结
一个网络系统中难免存在一定的漏洞,由于部分用户缺乏一定的安全意识,往往没有对系统中的漏洞进行及时的修补,或系统文件权限等设置过于简单,这都会导致病毒通过系统漏洞入侵到计算机系统,从而获得操作系统的权限。为了提高网络安全性,需要采取合理的措施对计算机防御,为计算机构建一个健康、安全的环境。