| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 渗透测试提权指南 -> 正文阅读 |
|
[系统运维]渗透测试提权指南 |
windows系统提权一.系统内核漏洞利用已存在未安装补丁的漏洞进行提权 1.手动寻找缺失补丁拿到权限后通过如下命令查看系统安装了哪些补丁
2.自动寻找缺失补丁msf(enum_patches)模块这里也是拿到权限以后利用这个模块快速查找缺少的补丁
msf(local_exploit_suggester)模块和上面同理
Windows Exploit Suggester该工具可以将系统中已经安装的补丁程序与微软的漏洞数据库进行比较,并可以识别可能导致权限提升的漏洞,而且其只需要我们给出目标系统的信息即可。下载地址
然后执行如下命令,查看目标主机系统信息,保存为sysinfo.txt文件:
最后,运行如下命令,查看该系统是否存在可利用的提权漏洞:
PowerShell的Sherlock脚本同上同上 二.Windows错误配置提权参考Windows错误配置提权 powerup下载地址
msf(service_permissions)模块使用两种方法可获得system权限,其实和之前的相同,一种是尝试创建并运行一个新服务,第二种就是判断哪些文件权限会有问题,对其进行劫持。两种的结果都是创建出一个随机文件名安装路径的可执行程序。
注册表键AlwaysInstallElevated注册表键AlwaysInstallElevated是一个策略设置项。如果开启了Windows Installer特权安装功能。windows允许低权限用户以System权限运行安装文件。如果启用此策略设置项,那么任何权限用户都能以NT AUTHORITYSYSTEM权限来安装恶意的MSI(Microsoft Windows Installer)文件 感觉太老了叭。 可信任服务路径漏洞windows服务通常都是以System权限运行的,所以系统在解析服务的二进制文件对应的文件路径中的空格的时候也会以系统权限进行解析。如果我们能利用这一特性,就有机会进行权限提升。
对于上面文件路径中的每一个空格,windows都会尝试寻找并执行名字与空格前的名字向匹配的程序。操作系统会对文件路径中空格的所有可能进行尝试,直到找到一个匹配的程序。以上面的例子为例,windows会依次尝试确定和执行下面的程序:
所以如果我们能够上传一个适当命名的恶意可执行程序在受影响的目录,服务一旦重启,我们的恶意程序就会以system权限运行(大多数情况下)。 msf对应trusted_service_path模块,感觉已经不是提权了而是一些奇怪的任意执行漏洞 自动安装配置文件网络管理员在内网中给多台计算器配置同一个环境时,通常不会逐台配置,而会使用脚本化批量部署的方法,这个过程就会使用安装配置文件。这些文件中包含的安装配置信息,其中还可以包含管理员账号密码等等可以执行一下命令搜索Unattend.xml文件,msf对应post/windows/gather/enum_unattend模块 计划任务schtasks /query /fo LIST /v 绕过UAC提权谢公子绕过UAC提权 需要UAC的授权才能进行的操作列表如下:
msf(bypassuac)模块
msf(ask)模块使用 exploit/windows/local/ask 模块,需要使用 EXE::Custom 选项创建一个可执行文件(需要免杀),目标机器会运行一个发起提升权限请求的程序,提示用户是否要继续运行,如果用户选择继续运行程序,就会返回一个高权限的shell。 Nishang中的Invoke-PsUACme模块Powershell 渗透测试工具-Nishang感觉就是用在PowerShell上的一个cs,但是无图像话界面 Empire中的bypassuac(_wscript)模块后渗透测试神器Empire的详解感觉和nishang也差不多。。。。。 令牌窃取msf(incognito)模块【Windows提权】令牌窃取,感觉这个东西已经太老了,真的会有这个东西吗,哪天靶机遇到再写吧 烂土豆提权(MS16-075)烂土豆,脏牛算是听得比较多的了,打算遇到靶机用过了再专门写一下 使用ms16-075
直接上传https://github.com/SecWiki/windows-kernel-exploits/tree/master/MS16-075
无凭证下的权限提升参考内网渗透研究:LLMNR和NetBIOS欺骗攻击分析,不得不说真的太菜了,名词都没咋听过。 LLMNR和NetBIOS欺骗攻击LLMNR链路本地多播名称解析(LLMNR)是一个基于协议的域名系统(DNS)数据包的格式,使得双方的IPv4和IPv6的主机来执行名称解析为同一本地链路上的主机。当局域网中的DNS服务器不可用时,DNS客户端会使用LLMNR本地链路多播名称解析来解析本地网段上的主机的名称,直到网络连接恢复正常为止。 NetBIOSNetbios(Network Basic Input Output System):网络基本输入输出系统,它提供了OSI模型中的会话层服务,让在不同计算机上运行的不同程序,可以在局域网中,互相连线,以及分享数据。严格来说,Netbios是一种应用程序接口(API),系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名解析为相应IP地址,几乎所有的局域网都是在NetBIOS协议的基础上工作的。NetBIOS也是计算机的标识名称,主要用于局域网内计算机的互访。NetBIOS的工作流程就是正常的机器名解析查询应答过程。在Windows操作系统中,默认情况下在安装 TCP/IP 协议后会自动安装NetBIOS。 原理我们利用SMB协议获取目标网络中计算机的Net-NTML Hash。 当用户输入 不存在、包含错误 或者 DNS中没有的主机名 时,主机先在自己的内部名称缓存中查询名称,如果没找到,主机就会向DNS服务器查询,而DNS解析会失败,此时就会退回LLMNR和NetBIOS进行计算机名称解析。那么攻击者就能够代替网络上任何不存在的主机回答请求,并诱导搜索内容的主机连接到我们。如果攻击者使用 Metasploit 和 Responder 等工具,就可以要求验证受害者主机的身份,而如果攻击者被认为是这些主机所在的本地网络中的一部分时,他们就会把自己进行哈希后的Windows凭据发给攻击者。核心过程与arp欺骗类似。 工具Responder下载地址:https://github.com/sdfzy/Responder,kali自带 Responder是监听LLMNR和NetBIOS协议的工具之一,能够抓取网络中所有的LLMNR和NetBIOS请求并进行响应,获取最初的账户凭证。 linux系统提权信息收集的一些命令
一.内核漏洞提权拿到普通用户权限后get到linux内核版本,使用searchspolit搜索相应版本漏洞
找到对应的.c源文件,将其发送到靶机或是靶机下载后进行编译执行 脏牛内核提权漏洞原理:利用只读文件映射区域写数据时,会使用get_user_page内核函数处理产生一个映射文件的复制(COW),对此区域的任何修改都不会写回原来的文件,但这里通过条件竞争就能使其任务执行顺序异常,就会成功的写到原来的文件中。比如我们修改su或者passwd程序就可以达到提权root的目的。 操作流程拿到一个权限后利用可以执行的命令来进行提权,所以下面所有操作都是在被打的机子上用(除了把.c文件扔上去)
Linux内核 >= 2.6.22(2007年发行,到2016年10月18日才修复) https://github.com/FireFart/dirtycow
在对vulnhub-CH4INRULZ靶机进行渗透测试有用到,可以看一看 二.SUID提权参考【安全科普】Linux提权——利用可执行文件SUID
首先在本地查找符合条件的文件,有以下三个命令,列出来的所有文件都是以root用户权限来执行的,接下来找到可以提权的文件
Linux 下的两个特殊的文件 – /dev/null 和 /dev/zero 简介及对比 感觉能把每一个命令都拉出来写一下如何提权,下面是一个find命令提权 find提权搞vulnhub-DC-1靶机渗透测试时有用到,其实也就是在渗透过程中如果发现存在一些具有root权限命令的话,可以直接拿来执行命令
Vim提权vim的主要用途是用作文本编辑器。 但是,如果以SUID运行,它将继承root用户的权限,因此可以读取系统上的所有文件。
Bash以下命令将以root身份打开一个bash shell。
Less/more程序Less也可以执行提权后的shell。同样的方法也适用于其他许多命令。
nmap提权版本问题旧版本的Nmap(2.02至5.21)带有交互模式,从而允许用户执行shell命令。因此可以使用交互式控制台来运行具有相同权限的shell。
msf(setuid_nmap)模块Metasploit通过SUID Nmap二进制文件进行提权
三.sudo提权在Linux中,有时为了让普通用户获得root的执行权限,除了su -永久提权方法,还有一种常用的方法,就是sudo,sudo的工作过程如下:
通过vim /etc/sudoers可进入编辑界面,默认root支持sudo,是因为文件中有一行
数据库提权udf提权udf(user defined function)用户自定义函数。是通过添加新函数,对MYSQL的功能进行扩充,性质就象使用本地MYSQL函数如abs()或concat()。udf在mysql版本小于5.1版本,udf.dll文件在windows2003下放在:c:\windows\system32。在windows2000放在:c:\winnt\system32在mysql5.1以后的版本中,存在于mysql/lib/plugin目录下(没有plugin这个文件夹,需要自己创建),文件后缀.dll(windows)linux后缀名:.so,常用c语言编写。(因为自己还没有遇到过,所以暂时都贴的参考文章中的内容,遇到真实环境时再更)。 大致思路参考udf提权原理详解 将udf文件放到指定位置,从udf文件中引入自定义函数,执行自定义函数 这里要搞清楚 1.指定位置是哪个位置mysql版本小于5.1版本,udf.dll文件在windows2003下放在:c:\windows\system32。在windows2000放在:c:\winnt\system32 2. 拿到一个网站的webshell之后,要在指定位置创建udf文件,这里要如何创建(MySQL 反弹shell提权)首先sqlmap中有现成的udf文件,分为32位和64位,我们可以直接get到内容,这里将获得的udf.dll文件转换成16进制,然后上传时候再解码
此时gg.txt文件的内容就是udf文件的16进制形式。,然后再把它传到目标主机上。
3.前提确定secure_file_priv的值,secure_file_priv 是用来限制 load dumpfile、into outfile、load_file() 函数在哪个目录下拥有上传或者读取文件的权限
我们先查看 secure_file_priv 的值是否为空,因为只有为空我们才能继续下面的提权步骤。 步骤参考Windows提权系列中篇
2.调用函数
3.删除函数
mof提权mof文件是mysql数据库的扩展文件,存放在(C:/windows/system32/wbem/mof/nullevt.mof)它的作用是每隔一段时间就会去监控进程创建和死亡,mof当中是一段vbs脚本(基于Visual Basic的脚本语言,简单可行性强,易写成病毒或者整人的代码),通过通过控制vbs脚本让系统执行命令,进行提权。 提权条件1、windows2003及以下 步骤参考Day3——提权学习之MySQL数据库(MOF提权)
2、执行导入命令
导入后,系统会自动运行该文件。
反弹端口提权提权条件 这种方法提权网上一查一页一样的,直接放弃了 启动项提权使用mysql写文件,写一段vbs代码到开启自启动中。服务器重启的时候达到创建用户并提取。可以使用DDOS迫使服务器重启
成功率应该也挺低的。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/9 17:03:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |