轻松看懂的加解密系列(5)番外篇III:如何优雅地获取到你同事的电脑登录密码

本文主要是介绍轻松看懂的加解密系列(5)番外篇III:如何优雅地获取到你同事的电脑登录密码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        这篇文章可能是本系列最实用的一篇了,希望读者学习了之后不是立刻去非法获取你同事的电脑登录密码,而是能够增强自我安全意识,在日常工作和学习中防患于未然。毕竟常言说得好——“人在江湖飘,哪有不挨刀”!

        本文的主角——【mimiktaz】是一款知名的安全工具,它是一个密码和凭证获取工具,专注于 Windows 操作系统。它的开发者是法国安全研究人员Benjamin Delpy,也被称为gentilkiwi。Mimikatz 的主要用途是在渗透测试和安全评估中测试 Windows 系统的安全性,尤其是对于凭证管理和密码保护方面的漏洞和弱点。但由于其名气太大,以至于绝大多数杀毒软件和 Windows 系统内置的安全程序,只要是发现了它的踪迹,基本上会在第一时间把它隔离和清除。所以能不留痕迹地把它在目标机器上下载并且运行起来首先就是一件比较棘手的事情。

        所以不怀好意者在实施窃取操作的时候,大多时候并不会费尽周折地将 mimiktaz 工具下载到目标机器本地,而一般都会选用类似猴子把食物囫囵吞枣塞入嗉囊的行为,即把需要窃取的数据先悄悄地整体打包下来,然后想办法隐蔽地传输出去,最后再换个地方安安静静地分析其内容。假设你的电脑出了问题,而你又是个电脑小白,窃取者要想优雅地获取你登录密码,针对你的 Windows 机器,只需要做到以下三个步骤,就可以将包含登录密码的数据整体打包后发送出去。记住,当你下次把系统出了问题的 Windows 机器交给同事摆弄的时候,要千万提防以下这些异常行为。

第一步:

        由于微软早在2014年就发布过针对内存保存明文登录密码的修复【Microsoft Update Catalog】,所以在实施窃取前,需要手动在目标机器的【图-1】注册表路径下创建【UseLogonCredential】,并设置为1,或者通过命令行运行以下命令,来还原 Windows 的这项修复。但是注册表设置需要重启机器或者用户重新登录才能起效,所以当别人操作过你的机器后要求你重启或者重新登录的时候,一定要多留一个心眼,最好了解对方有没有修改了你的某些系统设置。

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f 
#需要重启或用户重新登录后可以成功抓取
图-1

         不过针对普通人来说,别人在修理其电脑问题的时候,要求重启下机器基本是无法抗拒的要求。如果你连重启电脑表示都不放心的话,别人可能直接就走开了。哎!真是难以启齿来拒绝啊~~

第二步:

        重启电脑之后,窃取者接下来就是获取【lsass】进程的内存【Dump】文件了。这是因为 lsass.exe(Local Security Authority Subsystem Service)是 Windows 操作系统的一个重要进程,它具有多项关键功能,其中最重要的就是负责处理用户登录和身份验证请求。当用户尝试登录到计算机时,lsass.exe 负责验证其凭据。所以当第一步的注册表项被打开后,lsass 就会在内存中保存你刚才登录时输入的明文密码,而这正是窃取者的首要目标。

        此时窃取者一般会采用两种方式来获取 lsass Dump 文件,最简单的方法莫过于直接从任务管理器里创建 Dump 文件,如【图-2】,但这过于明目张胆,很容易被发现。比较隐蔽一点的方式是装作在命令行里敲命令的方式,顺便利用命令行运行 Sysinternals procdump 软件来获取 lsass.exe 进程的 Dump 文件,如【图-3】。前提是还得在当前目标机器里下载一份 procdump 的拷贝,的确比较麻烦。

图-2
图-3

        不过针对普通人来说,别人在修复你的系统问题的时候,特别是系统死机、软件崩溃、或者弹出异常窗口这类问题,对方要求抓取一份 Dump 日志加以分析也是天经地义的事情。 哎!真是防不胜防啊~~

第三步:

        其实在第二步完成之后,你的明文密码所在的内存文件就已经被拷贝出来了,窃取者接下来要做的就是采用一种“光明正大”的策略把这份拷贝从目标机器上发送出去。常用的方法包括但不限于以下这些:

  • 即时通讯应用程序,比如微信,QQ等;
  • FTP服务器或局域网共享服务器;
  • 移动存储设备,比如U盘;
  • 云存储服务;

        所以当对方宣称需要把相关的日志文件发送出去供细细研究的时候,往往是你最后的机会了。哎!人家帮忙捣鼓半天,好不容易发现点线索,又是不知道该怎么拒绝啊~~

综上所述,普通小白要想防范窃取者,可以采用以下防备策略:

  • 按照组织要求安装杀毒软件、应用软件更新和系统更新,并且保证都是最新的;
  • 将 Windows 内置的所有安全选项都设置在最严格的级别;
  • 不将电脑交由不信任的人来操作;
  • 当授信方操作电脑时切忌不管不问,任由对方摆弄,最好一直在身边寸步不离,紧盯屏幕,并且装作自己挺懂的样子;
  • 一旦发生需要下载安装第三方软件、修改系统配置、关闭防火墙和杀软、添加白名单、重启电脑和传输日志等操作的时候,要求对方讲清楚为什么是必须的。如果自己不懂,可以请授信的其他相关IT人员参与讨论;
  • 不要启用系统内置的管理员账号;
  • 定期更新电脑系统的密码,特别是刚刚被其他人操作过以后(这可能是最简单而行之有效的策略)!!!

利用mimikatz解析出个人隐私数据:

        假设以上三步骤已经被完成,接下来的内容就是讲解如何从刚才窃取到的 lsass Dump 文件里解析出电脑登录密码了。小白也可以围观,看看你电脑里的隐私是如何被一步步窃取出来的,从而加强个人的安全防范意识。

        首先需要提醒一下窃取者,尽量在实施窃取操作后,清除留下的痕迹。所以以上三步的操作最好都尽量还原,包括清除注册表内容、删除下载的文件拷贝和清除传输记录等等。

第一步:下载 mimikatz

发布地址:GitHub/mimikatz/releases

        一般来说,浏览器会内置屏蔽 mimikatz 的下载路径,如【图-4】,需要手动继续,直到显示下载内容,如【图-5】。

图-4
图-5

        作为黑客,如果你自己的 Windows 安全实时保护没有关闭,或者杀毒软件都在正常工作。那么大概率 mimikatz 的压缩包一旦下载后就会立刻被隔离。这时你要么关闭保护和杀软,如【图-6】;要么把 mimikatz 加到白名单里,如【图-7】;要么就手动从隔离区里把 mimikatz 所有被禁文件给还原回来,如【图-8】。

图-6
图-7
图-8

第二步:使用 mimikatz 解析内存 Dump 文件 

        将 mimikatz 顺利地下载到本地后,就可以通过以下三条命令解析出目标机器的登录密码了。如【图-9】所示,目标机器的 Administrator 账号密码为“12345678”,如【图-9】。

mimikatz # privilege::debugmimikatz # sekurlsa::minidump C:\Users\test\Downloads\lsass.dmpmimikatz # sekurlsa::logonpasswords
图-9

        mimikatz # sekurlsa::logonpasswords 命令输出的内容远不止目标电脑登录密码,还包括存储在控制面板【Credential Manager】里的所有密码。如【图-10】,其隐私泄漏的惨烈程度简直不忍直视,估计目标电脑主人都不一定还记得这么多密码。

图-10

第三步:通过登录目标电脑后获取更多密码

        在获得了目标电脑登录密码之后,如果有机会再次登录目标电脑,那对方的各种隐私将对你完全洞开。比如你可以轻易获得对方存储在Chrome浏览器里的各种网站的登录密码,如【图-11】。此处不能再展开说了~~

图-11

第四步:通过远程访问获取对方电脑的文件

        即使暂时没有机会通过窃取到的登录密码再次登录目标电脑,还可以通过著名的【sekurlsa::pth】哈希传递攻击PTH。

        当我们获得了目标电脑账号的 NTLM 哈希值,如【图-9】中 NTLM,我们可以使用 mimikatz 对其进行哈希传递攻击。执行完命令后,会弹出cmd窗口。

        以【图-12】为例,PTH 命令包含三个参数:目标机器登录账号、目标机器 IP地址以及目标机器账号的 NTLM 哈希值。命令执行成功后会再次弹出一个本地命令行窗口,其进程号为【3616】。但此命令行可以访问目标机器上的登录账号下的文件,甚者可以访问其他更低权限账号的文件。对比【图-13】中的文件内容,可以确认远程打开的文件的确是相同的文件。

图-12
图-13 在目标机器上直接打开这两个文件的结果

        综上所述,普通小白要想防范窃取者,还需要采用以下防备策略:

  • 尽量不让浏览器或者其他应用软件记住你的网站密码;
  • 尽量选择需要二次验证的登录方式,比如需要手机短信验证码登录;
  • 尽量不要通过 Windows Native 登录方式,并选择记住密码,因为这样会导致存储在控制面板【Credential Manager】;

        最后笔者忍不住还要再次强调一下最简单有效的防范手段 —— 定期更新电脑系统的密码,特别是刚刚被其他人操作过以后!!!如【图-14】所示,你只要赶在攻击者利用获取到的账号 NTLM 哈希值发起 PTH 攻击之前改了你的系统登录密码并重启机器,攻击者就是有天大的本事也暂时无计可施了。

图-14

这篇关于轻松看懂的加解密系列(5)番外篇III:如何优雅地获取到你同事的电脑登录密码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/815900

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

Security OAuth2 单点登录流程

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

【数据结构】——原来排序算法搞懂这些就行,轻松拿捏

前言:快速排序的实现最重要的是找基准值,下面让我们来了解如何实现找基准值 基准值的注释:在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。 在此我们采用三数取中法,也就是取左端、中间、右端三个数,然后进行排序,将中间数作为枢纽值。 快速排序实现主框架: //快速排序 void QuickSort(int* arr, int left, int rig

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

怎么让1台电脑共享给7人同时流畅设计

在当今的创意设计与数字内容生产领域,图形工作站以其强大的计算能力、专业的图形处理能力和稳定的系统性能,成为了众多设计师、动画师、视频编辑师等创意工作者的必备工具。 设计团队面临资源有限,比如只有一台高性能电脑时,如何高效地让七人同时流畅地进行设计工作,便成为了一个亟待解决的问题。 一、硬件升级与配置 1.高性能处理器(CPU):选择多核、高线程的处理器,例如Intel的至强系列或AMD的Ry

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

Android Environment 获取的路径问题

1. 以获取 /System 路径为例 /*** Return root of the "system" partition holding the core Android OS.* Always present and mounted read-only.*/public static @NonNull File getRootDirectory() {return DIR_ANDR