提权方式及原理简介(面试)
一、提权
想了解原理首先要明白什么叫提权,为什么要提权,通常获取到 Shell 之后,假如我们拿到的是普通权限比如 mysql、tomcat 等普通应用权限,那我们如果想在内网畅通无阻,那肯定第一步需要获取到管理员最起码要是 administrator 甚至是 system。
这种获取最高权限的方式就叫提权。
二、提权方式
1、系统本地漏洞提权
2、数据库提权
3、第三方软件提权
4、获取高权限用户比如 msf 的 getsystem 提权等
三、分类
Windows 提权
Windows 提权一般为系统漏洞提权,
wmic qfe get Caption,Description,HotFixID,InstalledOn 使用这条命令。根据这条命令得到补丁情况,按照补丁情况进行判断需要使用哪种提权方式比如
KiTrap0D (KB979682), MS11-011 (KB2393802), MS10-059 (KB982799), MS10-021 (KB979683), MS11-080 (KB2592799) 包括但不限于这些
wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:"KB.." /C:"KB.."使用这条命令可以进行补丁的筛选。
Linux 提权
Linux 提权一般为内核漏洞提权,我们能说出来的经常说的就是脏牛了
脏牛漏洞是利用条件竞争,修改 root 账户信息,强制覆盖/etc/passwd 文件第一行,其本质是利用线程并发引发的线程安全问题。
使用 uname -a 查看内核信息,根据信息使用相应的提权方式。
mysql 提权
MySQL 提权基本有两种,一种是 UDF 提权、另一种是 MOF 提权
MySQL 的 UDF 提权,UDF 是 MySQL 的一个接口,用来创建自定义函数(包括系统命令),但需要 dll(程序扩展文件)作为 UDF 的执行库。
使用 UDF 提权有两个前提
1、MySQL 以管理员启动
2、MySQL 开启远程链接和文件读取功能,并且成功登录 MySQL。
满足前提的情况下,登录 MySQL 将准备好的 dll 文件上传到 MySQL 的 plugin 目录下,然后利用 dll 文件创建执行系统命令的函数,就能执行系统任意命令了。
MySQL 的 MOF 提权,MOF 其实是 Windows 的系统文件,用来监控进程创建与结束,每隔 5 秒会启动一次,并且以 System 全新运行,攻击者将构造好的 mof 文件放到 mof 目录下,就能执行任意命令。
使用 MOF 提权的前提
1、需要 Windows2008 以下的版本
2、运行 MySQL 是 system 权限
3、MySQL 开启远程连接与读写功能
4、登录 MySQL
使用非常有限
第三方软件提权
之前遇到过一个 nmap 提权,nmap 版本超级老,至今--interactive 就可以搞定
还有的就是 FileZilla 软件,这个软件分为客户端与服务端,客户端使用 21 端口,服务端使用 14147 端口,并且只允许本地链接。
攻击者将端口转发出去,然后利用客户端链接就可以实现将恶意脚本传到受害机,比如写一些计划任务,开机启动项,实现提权
评论