提权方式及原理简介(面试)
一、提权
想了解原理首先要明白什么叫提权,为什么要提权,通常获取到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端口,并且只允许本地链接。
攻击者将端口转发出去,然后利用客户端链接就可以实现将恶意脚本传到受害机,比如写一些计划任务,开机启动项,实现提权
勿做伸手党,勤思考,总能成就一番事业。