一、服务器系统提权意义
(1)服务器系统权限的意义↓
修改服务器上某个文件
查看服务器上某个文件
获取服务器上数据库权限…
(2)网站webshell权限解析
一般情况下,webshell权限介于guests-users之间,权限较小!!
(3)webshell权限影响条件
网站脚本类型
搭建平台类型
当拿到一个网站时,看看它的脚本类型↓
ASP PHP (小于users)<ASPX(users) <JSP(system,如果网站是JSP搭建,权限就是system了,也就是不用提权了)
phpstudy apmserv lamp 等软件搭建 = administrators
(4)常规提权的方法
数据库提权
溢出漏洞提权
第三方软件提权
二、服务器提权系统溢出漏洞
(1)前期的信息收集
服务器操作系统的位数
网站脚本程序类型
服务器补丁情况
服务器防护软件
其他信息整理
(2)常见的系统命令(windows系统的)
ipconfig 查看计算机ip地址(判定网络情况,是否是内网还是外网)
net user 查看计算机用户
net start 查看计算机开启服务(可以看一下是否开启防护软件)
whoami 查看当前用户权限
tasklist /svc 查看计算机进程(判断第三方软件等)
systeminfo 查看计算机相关信息(操作系统、位数、补丁情况等)
netstat -ano 查看计算机端口开放情况
三、对提权的重新记录
(1)信息收集:
四、提权
那在什么情况下会用到提权?
比如在拿到webshell权限、数据库权限、普通用户权限
(1)Windows基础命令↓
query user
查看用户登录情况
whoami
查看当前用户权限
systeminfo
查看当前系统版本和补丁信息
添加管理员用户–设置密码为123456
net user 1111 123456 /add
net localgroup administrators 1111 /add
如果远程桌面连接不上,那么就添加远程桌面组
net localgroup "Remote Desktop Users" 1111 /add
(2)Linux基础命令
常见的提权方法总结:
本地溢出提权、数据库提权、三方软件提权、信息泄露
五、基于密码破解的提权
密码获取的常用手段↓
中间人劫持:网络窃听
用户主机窃听:键盘记录
简单猜测:常用密码(弱口令)
系统漏洞:永恒之蓝
用户泄露:git、配置文件等泄露
系统后门:shift后门等等
windows的密码原理↓
windows采用两种方法对用户密码进行哈希处理,分别是LM
和NT
。而哈希是一种加密函数经过计算后的结果
windows系统密码hash默认情况下由两部分组成,第一部分是LM-hash,第二部分是NT-hash
例如↓
得到了哈希密码后可以通过在线查询网站来破解
(1)windows密码hash导出(获取)↓
导出导入SAM、system
gethashs导出
Pwdump导出
Wce导出
这四种方法都是用不同的工具去获取,基本差不多的
演示 导出导入SAM、system↓
这里用win2003server虚拟机来尝试
首先,要拷贝SAM和system文件,但被使用着是无法直接被拷贝的
(文件在 C:\WINDOWS\system32\config
)
为了复制这两个文件,可以使用SAMCopy.exe等工具来复制
然后用SAMInside
里面的 GetHashes.exe
来获取哈希密码(使用 GetHashes.exe $Local
这个命令都不用复制那两个文件了,可以直接获取本地哈希密码)
然后用另一个工具PwDump7.exe
来获取hash
wce这个工具也是一样的
(2)破解hash密码↓
用这个工具尝试破解
导入SAM和system文件(也可以导入 pwdump导出来的文件)进行暴力破解即可
(3)明文密码的获取
可以用这些工具来获取↓
这里尝试用wce来获取,用wce.exe -w
命令来获取明文密码
Linux密码获取和破解↓
这里我用john
来破解密码
首先创建一个用户来实验 adduser test
接着 把用户和密码导出来
unshadow /etc/passwd /etc/shadow >pass.txt
加载字典破解
john --wordlist=/usr/share/john/password.lst pass.txt
用 john --show pass.txt
来显示破解成功的密码
六、windows系统的提权基础(pr提权)
现在我来实战一下pr.exe(很古老)
首先我,我在win2003server虚拟机上的IIS里面的随便一个网站中传一个一句话木马
其中这个3.asp文件要设置成everyone权限,不然用菜刀连接的时候要认证密码,导致无法连接的
然后用菜刀连接↓ 连接成功!
接着在菜刀中用虚拟终端
,调用基础命令查看当前用户权限之类的↓
然后我这边得重新传一个cmd.exe
现在我是匿名访问的权限,需要利用pr来提权
就要上传pr.exe的文件,要上传在哪里呢?
我们利用这个文件夹来上传(回收站的,一般可上传)
上传完成~
继续↓
添加用户↓
把用户提到管理员组↓
创建并提升成功! 因为此虚拟机开了3389远程服务的端口,我本机就可以直接连接了
打开远程桌面连接的界面(mstsc
)
输入ip地址,输入刚刚创建的管理员账号,即可连接成功!!!
这就完成了从shell权限到系统权限的提权,(本地溢出)
七、windows提权实践
1、WinSysHelper-master (上传bat+txt文件,适用于2003之前的系统)
这里在菜刀上传WinSysHelper.exe和两个txt文件来查看虚拟机存在的漏洞
结果如下↓
这里试着上传MS11-046
一执行MS11-046,就创建了k8team的管理员账号
2、powershell
这里首先了解学习一下powersell的知识,在win7虚拟机中开启powshell,并查看其版本(Get-Host或者$PSVersionTable.PSVERSION
命令来查看)
powershell脚本的文件名后缀是.PS1
这里利用Sherlock来提权(Sherlock是一个在Windows下用于本地提权的PowerShell脚本,可以在GitHub上下载)
下载之后我直接放在用户目录那里了
本地加载脚本↓
Import-Module Sherlock.ps1
发现漏洞↓
Find-AllVulns
这样就把漏洞的有无列出来了
然后根据存在的漏洞选用合适的exp,这里我利用MS14-058,上传至当前用户的目录下
然后退出powershell,调用漏洞程序,发现是system权限了
提权成功!~
八、Linux提权基础
1、基础命令:
2、反弹shell实战:
3、脏牛提权: