2025中国互联网产业年会丨《中国互联网产业绿色算力发展倡议》正式发布
2025-02-07
美创用户专访 | 精细化管理:医疗行业数据分类分级的策略与实践
2025-01-10
容灾演练双月报|美创助力某特大型通信基础设施央企顺利完成多个核心系统异地容灾演练
2025-01-10
国家级|美创、徐医附院共建项目入选工信部《2024年网络安全技术应用典型案例拟支持项目名单》
2024-12-20
全球数据跨境流动合作倡议
2024-11-22
存储域
数据库加密 诺亚防勒索访问域
数据库防水坝 数据库防火墙 数据库安全审计 动态脱敏流动域
静态脱敏 数据水印 API安全 医疗防统方运维服务
数据库运维服务 中间件运维服务 国产信创改造服务 驻场运维服务 供数服务安全咨询服务
数据出境安全治理服务 数据安全能力评估认证服务 数据安全风险评估服务 数据安全治理咨询服务 数据分类分级咨询服务 个人信息风险评估服务 数据安全检查服务美创科技为了更好地进行入侵检测和防御,参照各种安全威胁框架和自身的实践与思考,提出了基于入侵生命周期的攻击管理模型,作为美创新一代安全架构的三大支柱之一。
入侵生命周期v1.0把入侵过程划分为7个阶段:探索发现、入侵和感染、探索感知、传播、持久化、攻击和利用、恢复。入侵生命周期v1.0同样以ATT&CK作为基本战术知识库,匹配到不同的入侵阶段。需要注意的是,并非所有的入侵都会经历这7个阶段,也没有绝对的线性次序。
1)探索发现
在这个阶段中,攻击者会先锁定攻击对象,然后利用某些技术手段,尽可能多地获取目标暴露出来的信息,如通过端口扫描、指纹探测等方式,发现敏感端口及版本信息,进而寻找攻击点,为下一步入侵做准备。
2)入侵和感染
在这个阶段,攻击者会根据“探索发现”阶段所发现的重要信息,来对目标暴露出的攻击面进行攻击尝试,在“探索发现”阶段收集到的信息越多,攻击对象所暴露的攻击面也就越多,攻击更易成功。
3)探索感知
攻击者在成功进入系统内部后,由于是首次进入所以会出现对内部环境不熟悉的情况,这时攻击者的动作一般会是对当前所处环境进行探索,摸清内部大致的网络结构,常常伴随着被入侵本机的敏感信息收集以及对内网大量的端口进行扫描,后续根据攻击者的目的进行下一步操作。
4)传播
在此阶段,攻击者根据上一阶段在内网探索感知收集到的信息,选择特定的攻击手法。如若发现内部是域环境,攻击者可能会尝试先攻破域控服务器,再传播其他机器。若是工作组环境,可能会利用收集到的端口和服务信息,选择特定漏洞进行批量扫描攻击,来尽可能多地继续获得其他计算机的控制权。
5)持久化
攻击者在对资产进行恶意操作后,为了能够减少再次连接的攻击成本,方便下次进入,会进行“留后门”的操作,常见的后门如:建立计划任务,定时连接远程服务器;设置开机启动程序,在每次开机时触发执行特定恶意程序;新建系统管理员账号等。这样便于攻击者下次快速登录并控制该系统。
6)攻击和利用
攻击者在此阶段便会开始对目标资产进行恶意操作,按照攻击者意愿,对能利用的数据进行窃取、利用;对操作系统、敏感文件进行破坏、删除。所有的防御手段都应该极力阻止攻击者进行到这一阶段。
7)恢复
攻击者在执行所有的攻击操作时,往往会在系统上留下大量的行为日志,因此在这一阶段,攻击者会对记录自身痕迹的所有日志进行处理,或删除或混淆,从而消灭证据,逃避追踪。
本系列文章基于美创科技入侵生命周期1.0架构,细分各阶段攻击者的常用攻击手段,并对相关攻击手段的具体实施方式进行逐一剖析,为安全防御建设提供有力知识补充和反制准备。
从攻击行为链条的上下文来看,针对计划任务攻击的行为链条输入输出如下:
输入:被攻击机IP、登录凭证(账号密码)
输出:服务器的文件、命令执行后的回显
Windows和Linux利用计划任务的方式有所不同。具体演示如下
1.Windows使用at/schtasks配置计划任务
首先通过net use建立ipc通道。经测试,ipc通道使用445端口
连接
netuse \\192.168.96.218\admin$ /user:sojrs 123456
查看远程主机时间
nettime \\192.168.96.218
通过at方式设置计划任务,注意在新版本系统at已不支持,已通过schtasks进行设置
at\\192.168.96.218 17:00 "calc.exe": 当天下午5点运行calc.exe
at\\192.168.96.218 17:00 /every:5,10,15 "calc.exe" : 每月的5,10,15号下午17点启动计算器
注:通过at命令运行的计划任务,你在任务栏里面无法看到相关进程,但你通过wmic process get Name 或者tasklist能看到
利用schtasks方式,同样要先通过net use 建立ipc连接,利用schtashs设置计划任务
创建任务
schtasks/create /s 192.168.1.102 /u “administrator” /p “123!@#” /RL HIGHEST /tn windowsupdate /tr C:\\Windows\temp\1.bat /sc DAILY /mo 1 /ST 19:30
启用相关任务名
schtasks/run /tn windowsupdate /s 192.168.1.102 /u “administrator” /p “123!@#”
其中,RL表示作业级别,一般设置最高,为HIGHEST,tn是任务名称,tr是运行程序路径,sc表示时间间隔,DAILY表示以天为间隔,mo为执行周期,这里设置成了1天1次
删除相关计划任务
schtasks/delete /tn windowsupdate /s 192.168.1.102 /u “administrator” /p "123!@#"
注:这里RL表示设置的执行权限,如果是HIGHEST,则会以system权限进行执行,因此也经常会通过这种手段进行提权
2.Linux计划任务
Linux的计划任务主要是通过特定的命令格式写入配置文件中,具体涉及到的文件和目录如下
涉及到的文件
/etc/crontab
涉及到的目录
/var/spool/anacron
/var/spool/cron
/etc/cron.d/
/etc/cron.hourly/
/etc/cron.daily/
/etc/cron.monthly/
/etc/cron.weekly/
一般来说里面主要是这个格式,可以直接编辑/var/spool/cron等文件或者crontab -e
分时 日 月 星期 执行命令
** * * * echo "111" : 表示每分钟打印一次
根据利用手段来看,主要涉及到的动作为添加计划任务到系统中,存在两种情况,一种为登录服务器后添加计划任务,另一种为远程通过ipc通道添加计划任务
1.当通过本地登录后cmd命令配置计划任务时
这个动作涉及到的身份、资产、行为如下
身份:登录凭证、cmd.exe
资产:计划任务资源
行为:创建计划任务、以及计划任务触发后要调用的资源。如黑客使用cmd.exe调用schtasks.exe,执行schtasks /create /RL HIGHEST /tn test /tr c:\\windows\system32\calc.exe /sc DAILY /mo 1 /ST 13:00 这个命令
同时会在windows目录下新建该计划任务名的文件
2.当通过计划任务配置面板添加计划任务时
这个动作涉及到的身份、资产、行为如下:
身份:登录凭证、远程登录IP
资产:explorer.exe、cmd.exe、taskschd.msc、C:\Windows\System32\Tasks访问权限
行为:手工打开计划任务程序(taskschd.msc),并添加计划任务
该动作首先会通过explorer.exe程序调用taskschd.msc,然后再去调用C:\Windows\System32\mmc.exe的资源,从表现来说,相比于通过cmd.exe创建计划来说,更符合普通用户的操作规范。
3.当登录在Linux中创建计划任务并执行时
这个动作涉及到的身份、资产、行为如下
身份:登录凭证、登录IP
资产:计划任务的文件,如/var/spool/cron/crontabs/,对应账户名下为计划任务文件,可用crontab -l查看计划任务
行为:crontab -e 创建计划任务
这里我们通过crontab -e 创建计划任务,查看相关进程树
该行为为常见创建计划任务的动作
crontab -l 可查看具体的计划任务
当计划任务被执行时,查看相关进程树可知
计划任务将要执行的程序父进程为cron。