Advanced Search
Search Results
137 total results found
资源访问
资源访问 本课程配套了相应的资源,不仅包含了教材,还有一套自治的靶场。靶场具有 5 个域,总计 13 台主机,共同模拟了一家虚构制药公司 Raven Medicine (渡鸦制药)。其中,个别服务器对外网开放特定端口与服务。 域与主机分布 以下是5个域以及域内主机的分布: prod.raven-med.local web01.prod.raven-med.local (边界1) file01.prod.raven-med.local srv01.prod.raven-med.local dc...
VPS选择
VPS 选择 我们需要模拟外部攻击者来入侵靶场模拟的渡鸦制药公司,并且要使得一切都更专业化,因此选择一个 VPS 用来搭建 C2 基础设施是必须的。VPS,即虚拟专用服务器,是多租户云托管的一种形式,其中虚拟化服务器资源通过云或托管提供商通过互联网提供给终端用户。 每个 VPS 都安装在物理机上,由云或托管服务提供商运营,并运行着多个 VPS。 VPS 的供应商多种多样,为了使我们不迷失在众多供应商之中,在这里我提供 2 个自己信赖的 VPS 厂商,以及建议的配置等。需要注意的是,在中国大陆也是有诸多主流 VP...
域名与证书选择
域名与证书选择 该篇内容对于学生来说是选做的,域名以及证书对于本课程的推进不是必要的。但如果用于实战中,那么这则会是必要的步骤。无论如何,让我们一起来了解一下怎么给VPS选择域名以及证书。 域名 同VPS厂商一样,提供域名注册/购买的厂商也是繁多的,甚至一些厂商提供一条龙服务:VPS、域名、静态IP、证书。但在这里的话,我个人推荐在谷歌上购买域名。 地址:Google Domains - Get a new domain 虽然域名的选择看似是可以根据个人喜好,但实则尽可能选择看起来有意义、合法有效的域...
C2的选择
C2 的选择 C2基础设施的准备工作已经做好了,接下来该选择一款得心应手的 C2 工具,因为它将会伴随着我们很长一段时间。 在选择的时候,我们可以参考 C2 矩阵 https://www.thec2matrix.com/matrix。C2 矩阵列举了知名的一批 C2 框架,当然这不是一个穷尽的列举,有些红队武器开发这会开发自己的 C2 工具,而且效果可能会很不错,但并不会公开而是内部使用。C2 矩阵还罗列了各个 C2 的差异、功能等属性。我从中挑选了几款作为介绍与对比。 Metasploit 这是大家很...
C2侧写
C2侧写 Cobalt Strike 支持自定义侧写。自定义侧写不仅可以让我们自定义 Beacon 与 Team Server 之间的通信方式,从网络通信层面实现混淆效果,还可以自定义 Beacon 行为特征,例如反射DLL拓展、进程注入设置、后利用选项等。Malleable C2 仓库(https://github.com/rsmudge/Malleable-C2-Profiles)整合了一系列的 C2 侧写 ,但是考虑到这个仓库是公开的,侧写中的通信模式被标记也是显然的事情。因此,如果用于实战中,我们需要对这...
目标站点与子域名
目标站点与子域名 在红队行动中,目标站点往往是提供的有限信息之一,例如 raven-med.local,而我们需要从这个点入手。有了目标站点,我们可以进一步枚举其子域名,得到其面向公网的IT资产。考虑到raven-med.local是一个虚构的制造公司,并且该域名尚未被注册,此处我们以SmartBear公司 (https://smartbear.com)作为教学案例。 目标站点 对于目标站点本身,我们也是有诸多内容可以做的。需要提醒的是,在当前阶段无需进行主动侦查,例如使用扫描器对目标站点进行目录爆破等,...
公开服务
公开服务 公开服务,顾名思义,即目标对互联网开放的端口上运行的服务。几乎所有公司都拥有Web服务,我们在上一篇也看到了。除此之外,邮件服务器、VPN门户等往往也是作为公开的服务,虽然很常见,但绝对值得我们一看。如果运气好,就能遇到可以利用的漏洞或者不当配置,例如开启Open Relay的邮件服务器、可能存在绕过认证的VPN登陆界面。 此外,除了上述提到的Web服务、邮件服务器、VPN门户等公开服务,也有一些服务是由于内部人员疏忽而开放的。例如对外开放3389端口,也就是RDP服务的工作站。虽然说暴露 338...
OSINT信息搜集
OSINT信息搜集 其实在前两篇,我们已经在做一些 OSINT 的信息搜集了,因此笔者刻意放缓了一些节奏,将重点和更有趣的部分在这里讲述。开源情报 (OSINT) 收集是红队、社会工程学攻击和物理渗透的早期关键行动。 OSINT 包括任何公开可用的内容,并且可以在不引起蓝队过度关注的情况下访问。许多人认为使用搜索引擎就足以找到他们所需要的数据,但实际上大多数互联网都没有被搜索引擎索引。 OSINT 的其他常用来源的示例包括: 公司网站 产品信息 组织信息 联系信息社交媒体 员工关系 ...
社会工程学信息搜集
社会工程学信息搜集 在之前,我们已经搜集到了一些很有料的信息,那我们来看看如何利用这些搜集到的信息进行社会工程学攻击。我们能想到的场景之一,是借用求职者的身份与公司的HR进行联系,包括但不局限于 LinkedIn 在线私信、电话联系、邮件联系。尤其是邮件联系,我们介绍过现代邮件系统的安全机制了,对于非内部的邮件地址都会进行 banner 标记,甚至比较明显的诈骗邮件、广告邮件直接会被拦截,收件者根本没有机会看到。 我们在之前看到,SmartBear公司具有HE部门,我们可以在LinkedIn上搜索该公司...
利用公开exp
利用公开exp 搜集完信息之后,我们已经了解了目标公司开放了哪些公共服务,如果运气好,这些开放的公共服务具有高危漏洞,且这些高危漏洞存在公开exp,例如Confluence RCE漏洞。这样的话,我们就能突破到内部网络了。但并非只有 RCE 漏洞能给予我们突破口,组合利用一些威胁程度相对低一些的漏洞也可能为我们带来突破,常见的一些情况如下 1:利用SQL注入漏洞提取凭证,绕过登陆或者密码重用。2:利用 SQL Server 的 SQL 注入漏洞通过xp_cmdshell执行远程代码。3:利用 XXE/LFI 等...
利用常见web漏洞
利用常见web漏洞 虽然说利用Web漏洞不是唯一突破边界的方式,但绝对是重要途径之一。在上一篇,我们说了如何利用漏洞的公开 exp 突破企业边界,但每个企业往往都有自己独自开发的Web应用,且不开源,那么对于这种独自开发、高度自定义的 web 应用,我们就不能依赖于公开 exp 了,而是需要通过手动与自动相结合的方式找出app的漏洞并加以利用。需要注意的是,该篇侧重于从黑盒的角度去寻找以及利用漏洞,因为下一篇会从白盒的角度去发掘漏洞。 我们固然可以通过自动化扫描器辅助我们寻找漏洞,但需要注意的是,使用扫描器是很...
代码审计自定义应用
代码审计自定义应用 在上一篇,我们从黑盒角度讨论了如何利用常见Web漏洞突破边界。白盒测试要比黑盒测试高效的多,有的漏洞甚至可能永远无法被发现除非人们看到源代码。企业独自开发的 web 应用 (公司产品、主站点等) 通常不是开源的, 一般情况下我们是无法访问到源代码的,那怎么才能审计代码?实际上,在一些情况下,我们是有机会得到源代码进行代码审计的,例如: 1:源代码文件source.tar.gz被放在web目录下。这是由于开发者不小心所导致的,但这种情况并非不可能遇到。源代码也可能存在于 FTP、SMB 服务器...
配置不当的网络服务
配置不当的网络服务 利用 Web 漏洞与社会工程学攻击是突破边界的主要手段,并且对于企业来说,例如 FTP 之类的网络服务越来越少在互联网上被公开,但这不意味着通过配置不当的网络服务突破边界是不可做到的事情。需要注意的是,我们讨论的是网络服务的不当配置,而不是利用漏洞,或者即便有漏洞可利用(拒绝服务漏洞)也不会给予我们额外优势。同利用漏洞一样,有时候我们需要将多个线索进行组合利用。以下是一些常见的网络服务以及常见的不当配置(不讨论弱口令以及 CVE 漏洞)。虽然这些服务更多时候出现在内网,但将它们暴露给互联网本身...
脆弱的云服务
脆弱的云服务 如今,云服务也是企业基础设施的一部分,常见的有 AWS,Azure,以及GCP等。本课程不专注于云安全或者云渗透,但是需要注意的是一个企业的云服务能给我们带来额外的攻击路径,例如本地 AD 与 Azure AD 进行了同步,并且因为Azure的一些特性,给我们带来了新的路径。一些常见的脆弱或者配置不当的情形有: 具有漏洞的 Azure 应用服务 尽管企业应用被部署在 Azure 云端,但不代表能幸免于常见的web漏洞。不过需要注意的是,即便我们能获得RCE,但企业应用是被部署在沙箱里,并非企业内...
社会工程学攻击
社会工程学攻击是多种多样的,如果用于红队行动中突破边界,那么可以大致有这么3类 1:客户端代码执行。例如带有 Macro 的 doc 文档。 2:窃取凭证。例如在钓鱼邮件里添加链接,指向一个伪造的登陆界面 3:诱导用户完成特定行为。例如在钓鱼邮件中诱导用户访问攻击者的 rogue 服务器。 社会工程学攻击的载体可以是 邮件 (最经典的)、短信、电话等。本小节主要介绍以邮件为载体的社会工程学攻击。此外,使用邮件进行钓鱼攻击也是需要搭建安全的基础设施,考虑到内容篇幅与课程进度,并不在此展开。可以参考的钓鱼基础设...
重要文件
这一节,我们来讲述需要关注的一些敏感文件。如果我们还不是最高权限,可能无法访问到所有的敏感文件,那么提权势必会有所帮助。主机上的敏感文件除了操作系统自带的 (例如 shadow,SAM数据库等),还有第三方应用的,例如Web应用,VncViewer, Putty,KeePass等。对于第三方应用,我们不做过多延伸,因为这类的应用是无穷无尽的,我们着重关注于系统自带的重要文件。 Windows 用户目录 Windows 用户目录下有这些目录:桌面、文档、下载、收藏等。尤其是对于有用户登录的个人主机,用户目录...
保存的凭证
关于凭证,尤其是 Windows 平台的不同类型的凭证,我们会在稍后章节作讲解。这里指的凭证,更多指的是明文帐号密码,例如存放在文本文件中的明文密码、保存在浏览器里的密码等。 在上一篇,我们讨论了双平台的一些敏感文件,其中一些文件可能已经包含凭证了。除此之外,我们来查看注册表、应用、缓存中所保存的凭证。 Windows开机自动登陆 有些主机会设置开机自动登陆,那么明文的帐号密码会存储于注册表 HKLM\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon ...
服务提权
服务提权,是 Windows 平台提升权限的经典途径,但实际上服务提权又可以根据利用的根源分为 3种 更具体的不当配置。一些有关服务提权的 CVE 漏洞原理也是来自这 3 个 (如果你发现了某个应用的服务匹配以下任一情形,只要你愿意申请,就能有 CVE)。 服务提权可以分为这三类: 配置不当的服务权限 攻击者对于服务本身具有特定权限,例如修改服务的二进制文件路径、停止/启动服务、修改其他服务参数等。因此,利用手法可以是将服务二进制文件指定为攻击者的载荷。此外,由于还可以修改服务的其他参数,例如是否自启动,可以...
AlwaysInstallElevated提权
如果系统管理员在注册表以及主策略里配置了 AlwaysInstallElevated,意味着任何用户可以在安装 msi 包裹的时候以 SYSTEM 权限执行,这无疑带来了一个提权路径。 我们可以通过命令 reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated和 reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /...
SeImpersonatePrivilege提权
如果一个账户被授予 SeImpersonatePrivilege 特权,那么该账户可以模仿任何我们能获得引用或者句柄的令牌。我们可以通过命令whoami /priv 或者 whoami /all 来查看当前账户是否拥有该特权。通常,本地服务帐号以及域服务帐号开启该特权,例如 IIS 的默认服务账号、SQL Server 的服务账号,以及域中被一些被设置了 SPN 的服务帐号。 我们之前通过上传了 aspx 的 webshell 在 Web02 上以 IIS 服务帐号的身份获得了代码执行,我们可以在 PRIVILE...