一、Windows系统权限
1.1、Windows系统权限
在Windows系统中,权限大概分为四种:
- User:普通用户权限
- Administrator:管理员权限,可以利用Windows机制提升为Sys权限
- System:系统权限
- Trustedlnstaller:Windows中最高权限
- 备注:在系统中有些文件只能够Trustedlnstaller修改...
1.2、脚本权限
通常来说,不同的脚本所处的权限是不一样的。这就意味着,如果该站点支持权限更高的脚本,我们可以上传该权限更高的脚本的大马,进而拿到更高的权限。
脚本格式 | 权限类型 |
asp | 网络服务权限--->IIS USER |
aspx | 通常为User权限-->sqlserver |
php | 网络服务权限-->WWW |
jsp | 通常为系统权限 |
1.3、提权流程
Webshell能够执行命令
-->信息收集是否打补丁
-->未打补丁对应EXP
-->查找编译上传执行
-->获取服务器高权限
二、windows系统信息收集
查询网络配置
ipconfig /all
查询用户列表
net user #查看本机用户列表
net localgroup administrators #本机管理员(通常含有域用户)
query user ||qwinsta #查看当前在线用户
查询进程列表
tasklist /v
wmic process list brief
查询操作系统及安装软件版本信息
systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本" #获取操作系统和版本信息
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" #获取英文操作系统和版本信息
#查看安装软件以及版本,路径等
wmic product get name,version
powershell "Get-WmiObject -class Win32_Product |Select-Object -Property name,version"
查询端口列表
netstat –ano
查询补丁列表
systeminfo
wmic qfe get description,installedOn
查询本机共享
net share
wmic share get name,path,status
查询防火墙配置
netsh firewall show config
关闭防火墙
netsh firewall set opmode disable #Windows Server 2003系统及之前版本
netsh advfirewall set allprofiles state off #Windows Server 2003之后系统版本
开启的3389方法:
1.通用开3389(优化后):
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
2.For Win2003:
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
3.For Win2008:
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
4.For Every:
cmd开3389 win08 win03 win7 win2012 winxp
win08,三条命令即可:
wmic /namespace:\root\cimv2 erminalservices path win32_terminalservicesetting where (__CLASS != "") call setallowtsconnections 1
wmic /namespace:\root\cimv2 erminalservices path win32_tsgeneralsetting where (TerminalName ='RDP-Tcp') call setuserauthenticationrequired 1
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f
win2012通用;win7前两条即可。权限需要run as administrator。
查询终端端口 :
REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber
(or) 终端端口:tasklist /svc查询TermService对应PID和netstat查询的PID对应的端口号
(or) 注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\ Wds dpwd\Tds cp 中PortNumber的值
查询当前权限
whoami #查询当前权限
whoami /all #获取域SID
net user XXX /domain #查询指定账户的详细信息
三、辅助脚本
3.1、Vulmap
使用Vulmap,一个开源的在线本地漏洞扫描工具,项目地址:GitHub - vulmon/Vulmap: Vulmap Online Local Vulnerability Scanners Project
这是一个Powshell脚本,从 Vulmon 获取实时漏洞数据,而不是依赖本地漏洞数据库。因此,即使是最新的漏洞也可以通过此方法检测到。
3.2、Wesng
项目地址:GitHub - bitsadmin/wesng: Windows Exploit Suggester - Next Generation
WES-NG(Windows ExploitSuggester - Next Generation),可以给用户提供目标操作系统可能存在的漏洞列表,并针对这些漏洞给出漏洞利用实施建议。该工具的适用系统范围从Windows XP到Windows 10,还包括Windows Server等服务器/工作站版本。
使用方法就是先升级漏洞库,然后会下载下来一个名为“definitions.zip”的压缩包,之后把systeminfo的信息和这个压缩包里面的内容做对比,找出漏洞... 但是windows版本众多,各种语言的各种版本,还有盗版的,精简的……所以最终结果仅供参考。优点:只需要获取到对方的systeminfo信息即可。
3.3、WindowsVulnScan
项目地址:GitHub - chroblert/WindowsVulnScan
WindowsVulnScan:一款基于主机的漏洞扫描工具,采用多线程确保可以快速的请求数据,采用线程锁可以在向sqlite数据库中写入数据避免database is locked的错误,采用md5哈希算法确保数据不重复插入。
本工具查找是否有公开exp的网站为shodan,该网站限制网络发包的速度,因而采用了单线程的方式,且耗时较长,优点:只需要获取到对方的systeminfo信息即可。只不过需要对结果略做处理。
3.4、Online Tools
https://i.hacking8.com/tiquan
http://blog.neargle.com/win-powerup-exp-index/