本文章为Atomic Red Team系列文章,本篇文章内容为T1036-伪装第一部分。本文的目的旨在帮助安全团队开展安全测试,发现安全问题,切勿将本文中提到的技术用作攻击行为,请切实遵守国家法律法规。
重要声明: 本文档中的信息和工具仅用于授权的安全测试和研究目的。未经授权使用这些工具进行攻击或数据提取是非法的,并可能导致严重的法律后果。使用本文档中的任何内容时,请确保您遵守所有适用的法律法规,并获得适当的授权。
01
—
T1036伪装
T1036-伪装
来自ATT&CK的描述
攻击者可能会试图操纵其攻击组件的特征,使其对用户和(或)安全工具而言显得合法或无害。当为逃避防御和监测而操纵或滥用某个对象(不论该对象合法与否、恶意与否)的名称或位置时,伪装就发生了。这可能包括操纵文件元数据、诱使用户误判文件类型,以及使用合法的任务或服务名称。
将可被滥用的系统工具重命名以逃避安全监测,也是伪装的一种形式。(引用:LOLBAS主站 )
原子测试
-
原子测试#1-将系统文件复制到非正常位置 -
原子测试#2-恶意软件伪装并从压缩文件中执行
原子测试#1-将系统文件复制到非正常位置
在System32或SysWOW64中的EXE文件被复制到非系统目录,或从非系统目录执行,这种情况可能会引起怀疑。
- 支持的平台
Windows - 自动生成的GUID
51005ac7-52e2-45e0-bdab-d17c6d4916cd - 攻击命令
使用 powershell
运行!
copy-item "$env:windirSystem32cmd.exe" -destination "$env:allusersprofilecmd.exe"
start-process "$env:allusersprofilecmd.exe"
sleep -s 5
stop-process -name "cmd" | out-null
- 清理命令
remove-item "$env:allusersprofilecmd.exe" -force -erroraction silentlycontinue
原子测试#2-恶意软件伪装并从压缩文件中执行
当解压文件并打开README.cmd文件时,它会执行,将.pdf文件更改为.dll文件并执行该dll。这是BazaLoader使用的技术,相关报道见此处。
- 支持的平台
Windows - 自动生成的GUID
4449c89b-ec82-43a4-89c1-91e2f1abeecc - 输入参数
|
|
|
|
---|---|---|---|
|
|
|
|
- 攻击命令
使用 powershell
运行!
Expand-Archive -Path "PathToAtomicsFolder..ExternalPayloadsT1036.zip" -DestinationPath "$env:userprofileDownloadsT1036" -Force
cd "$env:userprofileDownloadsT1036"
cmd /c "$env:userprofileDownloadsT1036README.cmd" >$null 2>$null
rename 2.pdf 2.dll & rundll32 2.dll, StartW
- 清理命令
taskkill /IM Calculator.exe /f >$null 2>$null
Remove-Item "$env:userprofileDownloadsT1036" -recurse -ErrorAction Ignore
- 依赖项
使用 powershell
运行! - 描述
压缩文件必须存在。 - 检查先决条件命令
if (Test-Path "PathToAtomicsFolder..ExternalPayloadsT1036.zip") {exit 0} else {exit 1}
- 获取先决条件命令
New-Item -Type Directory "PathToAtomicsFolder..ExternalPayloads" -ErrorAction ignore -Force | Out-Null
Invoke-WebRequest #{url} -OutFile "PathToAtomicsFolder..ExternalPayloadsT1036.zip"
02
—
T1036.003-伪装:重命名系统实用程序
来自ATT&CK的描述
攻击者可能会重命名合法的系统实用程序,试图规避与这些实用程序使用相关的安全机制。针对攻击者可能滥用的系统实用程序,通常会设置安全监测和控制机制(参考来源:LOLBAS官方网站)。在使用之前重命名实用程序,有可能绕过这些安全机制(例如:重命名rundll32.exe
)(参考来源:Elastic Masquerade Ball)。另一种情况是,合法的实用程序被复制或移动到不同目录并重命名,以避免基于系统实用程序从非标准路径执行的检测(参考来源:F-Secure CozyDuke)。
原子测试
-
原子测试#1-伪装成Windows本地安全授权服务(LSASS)进程 -
原子测试#2-伪装成FreeBSD或Linux的crond进程 -
原子测试#3-伪装:将cscript.exe伪装成notepad.exe运行 -
原子测试#4-伪装:将wscript.exe伪装成svchost.exe运行 -
原子测试#5-伪装:将powershell.exe伪装成taskhostw.exe运行 -
原子测试#6-伪装:将非Windows可执行文件伪装成Windows可执行文件运行 -
原子测试#7-伪装:将一个Windows可执行文件伪装成另一个Windows可执行文件运行 -
原子测试#8-恶意进程伪装成LSM.exe
原子测试#1-伪装成Windows本地安全授权服务(LSASS)进程
复制cmd.exe,重命名并启动它,使其伪装成lsass.exe的实例。执行时,cmd将由powershell启动。如果使用Invoke-AtomicTest,测试将一直挂起,直到120秒超时取消会话。
- 支持的平台
Windows - 自动生成的GUID
5ba5a3d1-cf3c-4499-968a-a93155d1f717 - 攻击命令
在命令提示符中运行!
copy %SystemRoot%System32cmd.exe %SystemRoot%Templsass.exe
SystemRoot%Templsass.exe /B
- 清理命令
del /Q /F %SystemRoot%Templsass.exe >nul 2>&1
原子测试#2-伪装成FreeBSD或Linux的crond进程
复制sh进程,将其重命名为crond并执行,以伪装成cron守护进程。执行成功后,sh将被重命名为crond
并执行。
- 支持的平台
Linux - 自动生成的GUID
a315bfff-7a98-403b-b442-2ea1b255e556 - 攻击命令
在sh中运行!
cp /bin/sh /tmp/crond;
echo 'sleep 5' | /tmp/crond
- 清理命令
rm /tmp/crond
原子测试#3-伪装:将cscript.exe伪装成notepad.exe运行
复制cscript.exe,重命名并启动它,使其伪装成notepad.exe的实例。执行成功后,cscript.exe将被重命名为notepad.exe,并从非标准路径执行。
- 支持的平台
Windows - 自动生成的GUID
3a2a578b-0a01-46e4-92e3-62e2859b42f0 - 攻击命令
在命令提示符中运行!
copy %SystemRoot%System32cscript.exe %APPDATA%notepad.exe /Y
cmd.exe /c %APPDATA%notepad.exe /B
- 清理命令
del /Q /F %APPDATA%notepad.exe >nul 2>&1
原子测试#4-伪装:将wscript.exe伪装成svchost.exe运行
复制wscript.exe,重命名并启动它,使其伪装成svchost.exe的实例。执行后,不会有窗口保持打开状态,但wscript将被重命名为svchost并从临时文件夹中运行。
- 支持的平台
Windows - 自动生成的GUID
24136435-c91a-4ede-9da1-8b284a1c1a23 - 攻击命令
在命令提示符中运行!
copy %SystemRoot%System32wscript.exe %APPDATA%svchost.exe /Y
cmd.exe /c %APPDATA%svchost.exe "PathToAtomicsFolder..ExternalPayloadsT1036.003srcT1036.003_masquerading.vbs"
- 清理命令
del /Q /F %APPDATA%svchost.exe >nul 2>&1
- 依赖项
在powershell中运行! - 描述
要执行的Wscript文件必须存在于磁盘上 - 检查先决条件命令
if (Test-Path "PathToAtomicsFolder..ExternalPayloadsT1036.003srcT1036.003_masquerading.vbs") {exit 0} else {exit 1}
- 获取先决条件命令
New-Item -Type Directory (split-path "PathToAtomicsFolder..ExternalPayloadsT1036.003srcT1036.003_masquerading.vbs") -ErrorAction ignore | Out-Null
Invoke-WebRequest "https://github.com/redcanaryco/atomic-red-team/raw/master/atomics/T1036.003/src/T1036.003_masquerading.vbs" -OutFile "PathToAtomicsFolder..ExternalPayloadsT1036.003srcT1036.003_masquerading.vbs"
原子测试#5-伪装:将powershell.exe伪装成taskhostw.exe运行
复制powershell.exe,重命名并启动它,使其伪装成taskhostw.exe的实例。执行成功后,powershell.exe将被重命名为taskhostw.exe,并从非标准路径执行。
- 支持的平台
Windows - 自动生成的GUID
ac9d0fc3-8aa8-4ab5-b11f-682cd63b40aa - 攻击命令
在命令提示符中运行!
copy %windir%System32windowspowershellv1.0powershell.exe %APPDATA%taskhostw.exe /Y
cmd.exe /K %APPDATA%taskhostw.exe
- 清理命令
del /Q /F %APPDATA%taskhostw.exe >nul 2>&1
原子测试#6-伪装:将非Windows可执行文件伪装成Windows可执行文件运行
复制一个可执行文件,将其重命名为Windows可执行文件并启动,使其伪装成真正的Windows可执行文件。执行成功后,powershell将从非标准路径把T1036.003.exe作为svchost.exe执行。
- 支持的平台
Windows - 自动生成的GUID
bc15c13f-d121-4b1f-8c7d-28d95854d086 - 输入参数
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
|
|
- 攻击命令
在powershell中运行!
copy "#{inputfile}" #{outputfile}
try { $myT1036_003 = (Start-Process -PassThru -FilePath #{outputfile}).Id }
catch { $_; exit $_.Exception.HResult}
Stop-Process -ID $myT1036_003
- 清理命令
Remove-Item #{outputfile} -Force -ErrorAction Ignore
- 依赖项
在powershell中运行! - 描述
要复制的可执行文件必须存在于指定位置(#{inputfile})的磁盘上 - 检查先决条件命令
if (Test-Path "#{inputfile}") {exit 0} else {exit 1}
- 获取先决条件命令
New-Item -Type Directory (split-path "#{inputfile}") -ErrorAction ignore | Out-Null
Invoke-WebRequest "https://github.com/redcanaryco/atomic-red-team/raw/master/atomics/T1036.003/bin/T1036.003.exe" -OutFile "#{inputfile}"
原子测试#7-伪装:将一个Windows可执行文件伪装成另一个Windows可执行文件运行
复制一个Windows可执行文件,将其重命名为另一个Windows可执行文件并启动,使其伪装成另一个Windows可执行文件。
- 支持的平台
Windows - 自动生成的GUID
c3d24a39-2bfe-4c6a-b064-90cd73896cb0 - 输入参数
|
|
|
|
---|---|---|---|
|
|
|
|
|
|
|
|
- 攻击命令
在powershell中运行!
copy "#{inputfile}" #{outputfile}
$myT1036_003 = (Start-Process -PassThru -FilePath #{outputfile}).Id
Stop-Process -ID $myT1036_003
- 清理命令
Remove-Item
#{outputfile} -Force -ErrorAction Ignore
原子测试#8-恶意进程伪装成LSM.exe
检测从错误目录运行的LSM以及使用错误服务账户的情况。通过将cmd.exe复制到一个文件,命名为lsm.exe,然后将一个文件复制到C:文件夹来实现。执行成功后,cmd.exe将被重命名为lsm.exe,并从非标准路径执行。
- 支持的平台
Windows - 自动生成的GUID
83810c46-f45e-4485-9ab6-8ed0e9e6ed7f - 攻击命令
在命令提示符中运行!需要提升权限(例如root或管理员权限)
copy C:WindowsSystem32cmd.exe C:lsm.exe
C:lsm.exe /c echo T1036.003 > C:T1036.003.txt
- 清理命令
del C:T1036.003.txt >nul 2>&1
del C:lsm.exe >nul 2>&1
原文始发于微信公众号(网空安全手札):T1036-伪装(一)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论