首页 体育 教育 财经 社会 娱乐 军事 国内 科技 互联网 房产 国际 女人 汽车 游戏

提权总结以及各种利用姿势

2019-12-17

本文章合适正在学习提权的朋友,或许预备学习提权的朋友,大佬就能够绕过了,写的比较根底。我也是一个小白,总结一下提权的姿态和运用,也共享一些自己觉得好用的办法给咱们,欢迎咱们帮我弥补,有什么好用的提权的办法也能够共享一下,咱们一起前进。本篇有自己的了解,假如有什么不对的或许欠好的当地期望咱们不要喷我,可是欢迎帮我纠正。

提权,望文生义便是提高权限,当咱们getshell一个网站之后,大部分情况下咱们的权限是十分低的。这时分为了“扩展战果”,就需求运用提权,来让原本的低权限– 高权限,提高一下权限,有助于咱们持续往下浸透。

本地提权

数据库提权

第三方软件提权

本地提权

数据库提权

第三方软件提权

是的你没看错,Linux跟Windows都有三种,并且都是相同的,原本预备给咱们画一个图更直观,因为时刻原因就没画,假如咱们喜爱这篇文章的话,我会下次补上。

在windows中本地提权分为两种,一种是本地服务提权,比方iis6 iis5 ftp smb。另一种是体系内核提权缝隙,比方比较火的ms07-010提权,445端口存在缝隙,运用体系缝隙提权。为了让咱们更直观的看到提权过程,我决议用“啊保“的环境进行测验,贴图给咱们。首要咱们进入getshell的主机,然后履行‘systeminfo’指令,看一下这台主机的基本信息,还有哪些缝隙没有修正。

查找有哪些能够提权的缝隙,检查方针机的版别号,然后查找有哪个缝隙能够运用。

windows版提权下载的话一般都会有一个exe脚本,下载这个exe程序,可是纷歧定会提权成功。所以咱们要自己先建立一个跟方针机相同的环境先进行测验,测验成功之后,再将程序放到方针机中进行提权。这儿我就直接演示我测验好的脚本进行提权。

首要getshell,怎样getshell我就不说了,提权肯定是要在getshell之后的,假如看到有数据库的话,能够猜到数据库账号暗码的话那就不必getshell了,就用数据库提权,数据库提权后边再说。把咱们测验好的x64.exe脚本上传到方针机

咱们能够看到没履行这个脚本之前还不是system权限

接下来咱们履行这个x64.exe脚本,也便是MS16-032缝隙,能够看到权限变成了system权限,提权成功。

可是要注意几点,因为咱们用菜刀或许蚁剑衔接之后履行指令不是交互式的shell,至于什么是交互式的shell,能够去百度一下。所以咱们用脚本的时分需求在后边输入指令才能够履行。假如是交互式的shell的话,比方用msf,就会弹出一个对话框,只需在这个对话框里履行指令,不管什么指令都是以system权限履行。其他的脚本也是能够提权的,需求咱们去发掘了。当然也能够用msf生成的脚原本提权,msf反弹回来是交互式的shell后边咱们会提到。

1.直接履行exe程序,成功后会翻开一个cmd窗口,在新窗口中权限便是system。
2.在webshell中履行exe程序,履行办法为x64.exe whoami,成功后直接履行指令,再修正指令内容,能够履行不同的指令。
3.运用msf等东西。
4.特别的,c++源码,python脚本,powershell脚本。

Linux装置好体系后里边自带的软件或许内核存在的缝隙,比较盛行的“脏牛“提权,也能够运用vim提权,sudo提权等。linux内核提权跟windows是相同的,都要下载对应缝隙的脚本进行提权,只不过下载的linux提权脚本需求编译一下才能够运用,编译的办法很简单,后边再说。

getshell之后一般是apache用户,然后进入指令栏,输入uname -a 指令能够检查内核版别,运用内核版别提权。咱们仍是用“啊保“的环境进行演示。这两个都能够检查内核版别

看redhat系列的体系版别,能够看到是cento 6.5的

然后查找相关版别的缝隙,进行提权,仍是为了不把体系搞崩,咱们要装置相应版别的体系,先在本地进行测验,避免把方针体系搞崩一般来说linux提权脚本都是一个.c的文件,所以需求linux里边有gcc才能够进行编译,假如方针机没有gcc,那么咱们就只能建立一个相同的环境,然后装上gcc进行编译,编译办法脚本里一般都有。

咱们以测验好的脏牛脚本为例,首要咱们上传一个脏牛脚本,然后进行编译

多了一个脚本,咱们履行脚本,有必要在后边加上暗码,管理员跟咱们都不知道暗码就会连不上,然后体系溃散,后边的事我就不说了,且行且爱惜呀。

咱们检查passwd文件,能够看到root用户变成了firefart,然后咱们能够用ssh进行衔接。

root就会变成咱们的脏牛,然后登陆这个用户,就能够是管理员权限,记住必定要把脏牛备份的文件移动到原本的当地,不然管理员就会登陆不上。

1、具有MySQL的root权限,且MySQL以system权限运转。
2、具有履行SQL句子的权限。

MySQL数据库提权分为:

1、开机发动脚本
2、udf脚本
3、mof脚本
4、方案任务咱们首要介绍udf脚本提权,因为我个人觉得这个数据库提权办法仍是比较好用的,可是需求数据库写权限。

运用MySQL,将后门写入开机发动项。一起因为是开机自发动,再写入之后,需求重启方针服务器,才能够运转。

不需求判别mysql是什么版别的,直接检查途径就行,直接写so文件,linux里边的文件是so文件,Windows文件是dll文件。

咱们getshell之后进入终端输入whoami,发现咱们仅仅apache用户权限

咱们找一下网站数据库的配置文件,检查数据库的账号暗码,能够看到账号root暗码root

登陆mysql数据库,能够在MySQL里输入show variables like ‘%plugin%’; 直接检查plugin途径

然后咱们把so文件运用16进制修正东西进行编码,再解码写入目录中,回来为true,写入成功。

写入之后,履行创立函数的指令,就会创立一个sys_eval的函数,用来履行体系指令,这个函数履行的体系指令全部都是system权限的。

sys_eval这个函数就能够履行体系指令,括号里输入体系指令即可

UDF能够了解为MySQL的函数库,能够运用udf界说的创立函数。• 想要运用udf,有必要上传udf.dll作为udf的履行库。• MySQL中支撑UDF扩展,使得咱们能够调用DLL里边的函数来完成一些特别的功用。首要导出DLL文件,然后判别mysql的版别mysql版别 5.2,UDF导出到体系目录c:/windows/system32/mysql版别 5.2,UDF导出到装置途径MySQL\Lib\Plugin\后边的办法跟linux udf提权相同。就不演示了,办法跟Linux udf提权相同

1、首要找一个能够写的目录,把咱们的MOF文件上传上去。
2、履行以下sql句子,mof文件内的指令就会履行。

咱们把mof文件上传到C:/wmpub/nullevt.mof,之后再将这个文件仿制到c:/windows/sysrtem32/wbem/mof/nullevt.mof目录下

Select load fileintodumpfile’c:/windows/sysrtem32/wbem/mof/nullevt.mof’

将这段代码仿制到mof后缀的文件

# pragma namespace

instance of EventFilter as $EventFilter{ EventNamespace = Root\Cimv2 Name = filtP2 Query = Select * From InstanceModificationEvent

Where TargetInstance Isa \ Win32_LocalTime\

And TargetInstance.Second = 5

QueryLanguage = WQL

};

instance of ActiveScriptEventConsumer as $Consumer

{

Name = consPCSV2

ScriptingEngine = JScript

ScriptText =

var WSH = new

ActiveXObject WSH.run

};

instance of __FilterToConsumerBinding

{

Consumer = $Consumer;

Filter = $EventFilter;

};

把这个mof文件上传到方针机中,能够修正代码,进行指令履行。现在mof提权办法用的比较少了,因为比较费事,主张MySQL数据库提权仍是用udf比较好。

1、开机发动脚本
2、一般情况下,因为运用源码编译安全的,默许以root权限运转,经过未授权进入数据库,能够写恣意文件,还能够用exp直接履行指令。
3、mof脚本
4、方案任务
5、ssh公钥

所谓运用数据库进行提权,运用的其实是数据库的运转权限,所以咱们只需满意以下条件即可进行提权:1、有必要取得sa的账号暗码或许sa相同权限的账号暗码,且mssql没有被降权。2、有必要能够以某种办法履行sql句子,例如:webshell或许1433端口的衔接。

mssql数据库提权思路:

1、开机发动脚本
2、监听在1433端口,拿到mssql的sa账户的账号和暗码,就能够履行指令,运用exec xp_cmdshellwhoami。

假如mssql数据库运转时,以管理员权限运转,那么履行指令时便是管理员权限。

mssql数据库提权过程:咱们首要仍是要先getshell或许找其他缝隙,我这儿看到方针机21端口敞开,直接用ftp衔接,把文件直接仿制出来,获取到数据库的账号暗码

运用数据库衔接东西衔接,之后输入exec xp_cmdshell whoami指令,能够看到是system权限

Linux体系中有一个suid的提权,假如一个文件有s权限,那么普通用户有履行权限,假如普通用户履行这个文件,就会以文件具有者的权限履行 首要找有s权限的文件,然后再找能够履行指令的文件 Linux可履行文件包含: Nmap、vim、find、Bash、More、Less、Nano、cp

这条指令就能够查询具有root权限的suid文件

Find / -user root -perm -4000 -print2 /dev/null

咱们用find指令演示一下,首要找到find的目录,能够用whereis指令查找find目录,咱们将find加上s权限

创立一个新进行用户进行试验

咱们能够看到权限是qqq用户的权限

能够看到输入这个指令之后咱们的权限变成了root,成功提权

提权到这就完毕了,至于msf的话,假如能够我下篇文章给咱们补上,假如有写的欠好的当地期望咱们不要喷我,码字也挺累的,可是欢迎咱们来纠正我,一起学习前进,这是咱们的初衷,感谢阅览。

*本文原创作者:likechuxin,本文归于FreeBuf原创奖赏方案,未经许可制止转载

热门文章

随机推荐

推荐文章