轻松看懂的加解密系列(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

相关文章

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

C#实现获取电脑中的端口号和硬件信息

《C#实现获取电脑中的端口号和硬件信息》这篇文章主要为大家详细介绍了C#实现获取电脑中的端口号和硬件信息的相关方法,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。那么如果我们使用C#编写软件时候,如

C#实现WinForm控件焦点的获取与失去

《C#实现WinForm控件焦点的获取与失去》在一个数据输入表单中,当用户从一个文本框切换到另一个文本框时,需要准确地判断焦点的转移,以便进行数据验证、提示信息显示等操作,本文将探讨Winform控件... 目录前言获取焦点改变TabIndex属性值调用Focus方法失去焦点总结最后前言在一个数据输入表单

通过C#获取PDF中指定文本或所有文本的字体信息

《通过C#获取PDF中指定文本或所有文本的字体信息》在设计和出版行业中,字体的选择和使用对最终作品的质量有着重要影响,然而,有时我们可能会遇到包含未知字体的PDF文件,这使得我们无法准确地复制或修改文... 目录引言C# 获取PDF中指定文本的字体信息C# 获取PDF文档中用到的所有字体信息引言在设计和出

python中os.stat().st_size、os.path.getsize()获取文件大小

《python中os.stat().st_size、os.path.getsize()获取文件大小》本文介绍了使用os.stat()和os.path.getsize()函数获取文件大小,文中通过示例代... 目录一、os.stat().st_size二、os.path.getsize()三、函数封装一、os

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换