内网渗透瑞士军刀-impacket工具解析(七)
字数 1501 2025-08-23 18:31:34
Impacket工具解析:Atexec横向移动技术详解
1. Atexec概述
Atexec是Impacket工具包中用于内网横向移动的高频使用工具,它通过远程调用目标主机的任务计划程序(Task Scheduler)实现命令执行。该技术主要包含以下核心步骤:
- 创建定时任务
- 手动触发任务执行
- 通过SMB共享读取执行结果
- 清理任务和临时文件
2. 技术基础:MS-TSCH协议
Atexec基于微软的MS-TSCH(任务调度程序服务远程协议),该协议包含三个主要RPC接口:
2.1 三个核心接口
-
网络时间表(ATSvc)
- 在atsvc.py中实现
- UUID:
1FF70682-0A51-30E8-076D-740BE8CEE98B - 提供基本的增删改查功能
-
任务计划程序代理(SASec)
- 在sasec.py中实现
- 提供额外的安全功能
-
ITaskSchedulerService
- 在tsch.py中实现
- 最常用且功能最完善的接口
- 使用XML配置任务
- 不依赖远程注册表和文件系统协议
3. Atexec工作流程详解
3.1 初始化阶段
- 解析输入参数(目标、凭证、命令等)
- 设置日志和DEBUG级别
- 初始化TSCH_EXEC类对象
3.2 连接建立
- 使用SMB传输通过命名管道
\pipe\atsvc建立RPC连接 - 通过DCERPCTransportFactory创建rpctransport对象
- 根据凭证类型设置认证凭据
3.3 任务创建与执行
-
获取dce对象并绑定ITaskSchedulerService接口
-
生成随机文件名作为临时文件和任务名
-
构造执行命令:
cmd.exe /Q /c "command > \\127.0.0.1\ADMIN$\Temp\output_file 2>&1" -
定义XML任务配置:
- 触发器:设置为从2015年7月15日开始每天执行
- 执行命令:包含要执行的命令和参数
-
使用
hSchRpcRegisterTask注册计划任务 -
使用
hSchRpcRun立即触发任务(不等待定时触发)
3.4 结果获取与清理
- 使用
hSchRpcGetLastRunInfo获取任务执行信息 - 使用
hSchRpcDelete删除已完成的任务 - 建立SMB连接读取输出结果
- 删除临时文件
output_file
4. 技术实现细节
4.1 XML任务配置关键部分
<Triggers>
<CalendarTrigger>
<StartBoundary>2015-07-15T00:00:00</StartBoundary>
<Enabled>true</Enabled>
<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay>
</CalendarTrigger>
</Triggers>
<Actions Context="Author">
<Exec>
<Command>cmd.exe</Command>
<Arguments>/Q /c "command > \\127.0.0.1\ADMIN$\Temp\output_file 2>&1"</Arguments>
</Exec>
</Actions>
4.2 关键RPC调用
hSchRpcRegisterTask- 注册新任务hSchRpcRun- 立即运行任务hSchRpcGetLastRunInfo- 获取任务最后运行信息hSchRpcDelete- 删除任务
5. 技术优缺点分析
5.1 优势
- 不依赖交互式shell实现命令执行
- 执行结果可通过SMB回传
- 支持多种认证方式
5.2 局限性
- 只能单次执行命令,无法获取交互式shell
- 清理不彻底时可能留下痕迹(临时文件)
- 敏感操作易被安全设备检测:
- 计划任务创建
- SMB文件操作
- RPC调用
6. 防御建议
- 监控计划任务的创建和修改
- 限制RPC接口的访问权限
- 检查异常的SMB文件操作
- 启用高级威胁检测规则:
- 异常的计划任务触发器设置
- 短时间内创建并删除任务
- 通过本地回环地址(127.0.0.1)访问SMB共享
7. 替代方案
当Atexec被拦截时,可考虑其他横向移动技术:
- 通过COM组件创建计划任务
- WMI命令执行
- PowerShell远程执行
- DCOM技术
8. 总结
Atexec作为Impacket工具包中的重要组件,利用Windows任务计划程序服务实现了高效的横向移动能力。理解其底层协议(MS-TSCH)和实现细节,有助于安全人员更好地防御此类攻击,也为红队提供了可靠的内网渗透手段。