网络攻防学习笔记 Day8
对 Linux 提权,会通过内核漏洞提权、SUID 提权、计划任务提权和环境变量劫持提权来实现。
内核漏洞提权是指普通用户访问操作系统内核,利用内核漏洞将权限提升到 root 权限。通常内核漏洞提权步骤如下:
(1)信息收集,例如查看当前权限、查看系统版本和内核版本等。
(2)根据收集到的信息查找 EXP。
(3)使用 EXP 提权。
管理员 UID 为“0”,系统用户 UID 为“1~999”,普通用户 UID 从“1000”开始。
SUID 是一种对二进制程序进行设置的特殊权限,可以让二进制程序的执行者临时拥有属主的权限,若是对一些特殊命令设置了 SUID,那么将会有被利用于提权的风险,常用的 SUID 提权命令有 nmap、vim、find、bash、more、less、nano 和 cp 等。
在 Shell 输入命令时,Shell 会按 PATH 环境变量中的路径依次搜索命令,若是存在同名的命令,则执行最先找到的,若是 PATH 中加入了当前目录,也就是“.”这个符号,则可能会被黑客利用,例如在“/tmp”目录下黑客新建了一个恶意文件“ls”,若 root 用户在“/tmp”目录下运行“ls”命令时,那么将会运行黑客创建的恶意文件。
在目标系统没有可利用的漏洞进行提权时可考虑数据库提权,一般通过 Web 入口拿到 Shell 后可从配置文件读取数据库连接信息,或是通过弱口令直接获取数据库的口令信息,若数据库配置不当,则可通过执行数据库语句、数据库函数等方式提升服务器用户的权限。
SQL Server 数据库内置了很多系统存储过程,其中“xp_cmdshell”这个存储过程可以以操作系统命令行解释器的方式执行给定的命令字符串,并以文本行方式返回输出,简单来说,就是可以通过“xp_cmdshell”执行系统命令。如果 SQL Server 服务是以管理员权限启动的,那么“xp_cmdshell”就可以以管理员的身份执行系统命令,从而达到提权的目的。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/6f8cb512d9f74d1591a570c8d】。文章转载请联系作者。
评论