持久化控制学习

  1. 前言
  2. 持久化控制学习
  3. 声明

前言

上完六天学,获得为时不长的两天假期。真是太逊了,这那叫法定节日,简直亏死这假放的和学上的永远成不了正比。

顺便说一下,这个月份叫做:恶魔五月哭

持久化控制学习

方法一:
向指定的注册表添加一个条目

  • 添加到运行注册表项的程序在System StartUo执行。
    恶意软件可能会将自己添加到各种自动启动位置,下面是最常见的运行注册表项列表
HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

实例:

HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer

添加一个Run项,值设置为
C:\System32\calc.exe

方法二:
计划任务

  • 使用schtasks命令添加计划任务,在指定时间或开机或用户登录后执行

使用到的命令

schtasks

schtasks命令详解:命令详解
schtasks常见错误:常见错误

实例:

schtasks /create /sc ONLOGIN /tr C:\Windows\System32\notepad.exe /tn notepad

设置每天指定时间内运行

schtasks /create /sc daily /st 00:00:00 /tr C:\Windows\System32\calc.exe /tn demo3

更多命令请点击上面命令详解

删除计划任务

scthasks /Delete /TN 任务名称 /F

方法三:
启动文件夹

  • 将要启动的东西放在启动文件夹,每次开机或重启都会运行

启动文件夹的两个路径

C:\Users\demo\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

方法四:
图像文件执行选项(映像劫持)

  • 图像文件执行选项允许直接在调试器下启动一个可执行文件。它为开发人员提供了调试其软件的选项,以便在可执行文件的启动代码中发现问题

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

项下创建一个子项,子项的名称为你要劫持的exe名称,比如说notepad++.exe
然后创建一个值,值名为Debugger,值为要执行的恶意脚本路径

劫持之后,在运行notepad++.exe就会弹出calc

参考文章:映像劫持

注意:有安360的把360卸了,就算360退出了,主动防御还是在的,这个就会拦截你

方法四:
Winlogon registry entries注册表项

  • 攻击者可以通过修改winlogon进程使用的注册表项来实现持久性。

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit这个注册表键的作用是在用户进行登陆时,winlogon运行指定的程序。根据官方文档,可以更改它的值来添加与删除程序。

参考文章:利用userinit注册表键实现无文件后门
修改:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit

注册表键

重新登陆用户之后就会执行notepad

修改

HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit

也行

修改

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\shell

启动的explorer.exe改为你要启动的(问题是:修改之后用户登录后不会运行explorer.exe,也显示不出桌面,很容易被发现)

这么一搞环境好像tm崩了…噢,逊毙了
(windows修复中…..)

方法五:
通过映像劫持修改辅助功能,比如像什么放大镜,粘带键等

  • 当攻击者在登录的时候或已经登录的时候使用辅助功能将触发,攻击者所设置的后门

当然你也可以直接替换掉原来sethc.exe

方法六:
应用程序劫持

  • Windows中的applnit dlls功能提供了将自定义dlls加载到每个交互式应用程序的地址空间的方法。
    一旦一个dll被加载到任何进程的地址空间中,它就可以在该进程的上下文中运行,并且可以挂接已知的API来实现替代功能。攻击者可以通过在下面的注册表项中设置applnit_dlls值来实现恶意dll的持久性。

一旦修改了

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\Applint_DLLs

里的键值和启用加载之后,LoadApplnit_DLLs为1即为加载Applin_DLLs里的dll,所有有加载user.dll的进程里面都会有hook.dll

参考文章:Applnit_DLLs劫持

注意:当实验完之后记得删除注册表里面的设置和重启系统,如果不重启的话即便你删除了注册表里面的配置。任然会进行劫持

方法六:
DLL劫持

  • 程序加载DLL的时候会从上到下的搜索DLL如果中途把DLL给劫持为攻击者自己的DLL也能实现一个后门的效果

注意:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs键值所写的DLL始终都从

C:\Windows\System32
C:\Windows\System
C:\Windows
当前目录
path环境中的自定义目录

如果你想保护某个DLL可以将其加入上述说的注册表路径中

由于DLL劫持需要符合一定的要求这里不做实验,寻找一个程序是否缺少DLL的最好的方法就是使用某些工具检查或者自己使用Procmon来检查

方法七:
创建恶意服务与服务劫持

  • 攻击者可能以exe、dll或内核驱动程序的形式实现恶意程序,并以服务运行Windows支持各种服务类型

劫持aliide服务例子:

创建一个恶意的aliide.sys驱动文件替换掉原来路径下的aliide.sys驱动

由于创建的服务在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services项下都会创建一个子项,例如刚刚创建的update服务

找到aliide,将start设置为2

劫持后的服务

声明

转载请声明:来自422926799.github.io
禁止做任何商业用途


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。

文章标题:持久化控制学习

本文作者:九世

发布时间:2019-05-12, 10:59:55

最后更新:2019-05-12, 11:13:33

原始链接:http://jiushill.github.io/posts/26a6c441.html

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录