2024年4月28日是Eastmount的安全星球 —— 『网络攻防和AI安全之家』正式创建和运营的日子,并且已坚持5个月每周7更。该星球目前主营业务为 安全零基础答疑、安全技术分享、AI安全技术分享、AI安全论文交流、威胁情报每日推送、网络攻防技术总结、系统安全技术实战、面试求职、安全考研考博、简历修改及润色、学术交流及答疑、人脉触达、认知提升等。下面是星球的新人券,欢迎新老博友和朋友加入,一起分享更多安全知识,比较良心的星球,非常适合初学者和换安全专业的读者学习。
”
这是作者新开的一个专栏——“漏洞挖掘与防护”,前期会复现各种经典和最新漏洞,并总结防护技巧;后期尝试从零学习漏洞挖掘技术,包括Web漏洞和二进制及IOT相关漏洞,以及Fuzzing技术。新的征程,新的开启,漫漫长征路,偏向虎山行。享受过程,感谢您的陪伴,一起加油~
上一篇文章详细介绍了WinRAR漏洞(CVE-2018-20250),并复现了该漏洞和讲解了恶意软件自启动劫持原理。这篇文章将分享Windows系统漏洞,通过5次Shift漏洞重改CMD,最终实现修改计算机密码并启动计算机,其思路还是比较有趣的,希望对您有所帮助!同时,最近又爆出来结合某软件该漏洞的升级版。本文参考了Shimisi老师课程和参考文献中的文章,在此感谢。基础性文章,希望对入门的同学有帮助。
话不多说,让我们开始新的征程吧!您的点赞、评论、收藏将是对我最大的支持,感恩安全路上一路前行,如果有写得不好的地方,还请海涵。基础性文章,希望对您有所帮助,作者的目的是与安全人共同进步,加油!也强烈推荐大家去看看参考文献的视频和书籍。
文章目录:
一.原理知识
二.账户密码操作
三.漏洞验证
四.总结
前文赏析:
[漏洞挖掘与防护] 04.Windows系统安全缺陷之5次Shift漏洞启动计算机机理分析
声明:本人坚决反对利用教学方法进行犯罪的行为,一切犯罪行为必将受到严惩,绿色网络需要我们共同维护,更推荐大家了解它们背后的原理,更好地进行防护。
当我们使用计算机时,连续按下5次shift键会弹出一个程序,如下图所示:
该程序名为“esthc.exe”,路径为“c:\windows\system32\sethc.exe”。此系统漏洞存在于部分Win7和Win10系统中,攻击者可在未登录系统时通过连续按5次Shift键激活sethc.exe应用程序,进一步调用CMD窗口并执行命令修改或删除用户密码,从而实现对密码未知计算机的非法登录。
其基本流程如下:
第一步,在未登录系统的状态下,通过连续按5次Shift键,激活程序“c:\windows\system32\sethc.exe”。
第二步,通过强制关机的方式进入“启动修复(推荐)”界面。该界面存在一个漏洞,可通过它打开本地的错误日志TXT文件。
第三步,利用TXT文件的打开选项,在未进入系统前访问C盘中的“sethc.exe”文件位置。接着,将cmd.exe程序复制一份并重命名为“sethc.exe”。
第四步,重启计算机,再次按下5次Shift键,弹出CMD命令提示符界面,输入命令即可修改系统登录密码。
连续按5次shift键它会去C盘目录下调用sethc.exe程序,如下图所示。
注意:部分Win7和Win10系统以及修补了该漏洞,所以系统版本更新和打补丁是我们防御非常重要的手段之一。
SAM文件存储着Windows系统的账号和密码信息,经过不可逆的Hash算法加密。虽然破解Hash密码可以通过暴力破解等方法,但这往往需要耗费大量时间和资源。相比之下,直接通过CMD命令修改密码是一种更为快捷的方式。
例如,假设要将用户名为“Admin”的账户密码修改为“123456”,可以在CMD中执行以下命令:net user Admin 123456。
关键命名如下:
CMD工具路径:c:\windows\system32\cmd
用户账户密码存储位置:c:\windows\system32\config\SAM
修改账户密码:net user 用户名 新密码
创建一个新用户:net user 用户名 新密码 /add
删除用户:net user 用户名 /del
提示管理员:net localgroup administrators 用户名 /add
假设现在需要设置密码,用管理员身份运行CMD。
为用户“shimisi”设置一个复杂的开机密码。
随后注销计算机并尝试使用密码登录系统,但由于密码设置过于复杂,导致无法成功进入系统。针对这一问题,可通过以下方法解决。
第一步,重启计算机,当显示“正在启动 Windows”界面时,立即强制关机。此操作模拟了突发断电或非正常关机的情境,触发系统进入“修复模式”。需注意,建议避免在实际使用的电脑上频繁尝试此操作,以防数据损坏或系统不稳定。
第二步,再次启动计算机时,系统将进入“Windows错误恢复”界面,如下图所示。
第三步,选择“启动启动修复(推荐)”选项,系统将自动启动修复过程,并弹出如下图所示的对话框。
第四步,随后系统将提示“您想使用‘系统还原’还原计算机吗?”此时点击“取消”,系统将继续尝试修复过程。
第五步,此时的系统无法自动完成修复,弹出新的对话框,如下图所示,通常我们会选择点击“发送”或“不发送”选项。
第六步,点击“查看问题详细信息”,该漏洞就隐藏在这里,通过点击即可触发漏洞。虽然显示的是微软内部的错误报告,我们无需深入理解其具体含义,但漏洞正隐藏于此。
第七步,向下滚动后,会看到两个超链接,其中一条是联机远程访问微软,另一条是脱机访问本地的TXT文件。此时,我们选择点击第二条链接,访问本地的TXT文件。
第八步,当我们打开该文件时,如下图所示,文件的具体内容并不重要,关键在于它提供了一个“打开文件”的按钮。通过这个按钮,即使在没有进入系统的情况下,我们依然可以执行某些操作,这为进一步的漏洞利用提供了可能。
第九步,点击“文件”->“打开”,可以看到“计算机”。
第十步,双击“计算机”后,尽管尚未进入系统,但我们可以看到磁盘分区。在此情况下,显示为“D盘”的分区实际上是系统的真实C盘。这为进一步操作提供了访问系统文件的入口。
打开如下图所示:
第十一步,在此状态下,系统提供了一个本地的记事本应用,可以通过它打开TXT文件。由于此时尚未进入系统,因此系统并未加载用户权限概念,操作将以最高权限运行。接下来,使用记事本的“打开”功能,导航至“Windows”目录,进入“System32”文件夹,如下图所示:
第十二步,找到“sethc”文件。
第十三步,将“sethc.exe”文件的名称修改为“123”,下次当用户按下5次Shift键时,系统将无法找到该可执行文件,从而阻止它的启动。这一操作有效地中断了通过该程序的漏洞利用路径。
第十四步,找到同目录下的“cmd.exe”文件。之所以需要找到它,是为了利用偷换机制:通过将“cmd.exe”替换为之前的“sethc.exe”,这样当用户按下5次Shift键时,系统将调用CMD命令提示符,而不是原来的“sethc.exe”应用程序。借助这一方法,用户可以在CMD窗口中输入命令,修改系统的登录密码,从而绕过原有的密码保护。
第十五步,点击该程序,右键复制,然后粘贴。防止别对cmd造成修改。
第十六步,将“cmd.exe”重命名为“sethc.exe”。系统在调用程序时不会验证文件的具体内容,只会根据程序名称调用相应的可执行文件。
通过这种方式,按5次Shift键时,系统将启动CMD命令提示符,而不是原来的“sethc.exe”应用程序,从而实现进一步操作,如修改系统登录密码。
第十七步,关闭记事本,然后完成启动计算机。
第十八步,再按5次Shift键,弹出的对话框是CMD,这就非常可怕了。
第十九步,设置新密码,也可以设置无密码,即net user shimisi。
通过这一系列漏洞利用,最终成功进入系统。为确保系统恢复正常功能,建议在重新启动时删除已替换为“cmd.exe”的“sethc”文件,并将重命名为“123”的原始文件名称还原为“sethc”,以避免安全隐患。
然而,这种方法存在一个明显的缺点:如果是用于自己忘记密码的电脑尚可,但如果你修改了他人电脑的密码,下一次他人登录时便会察觉。接下来,将介绍一种无需修改密码的方法,通过最高管理员权限直接进入系统,从而避免这种问题的产生。
同时,我们可以调用“net haha feigezuishuai /add”增加新的用户,通过新用户登录系统。
但haha只是一个普通用户,接着需要将haha用户提权,将它添加到管理员组中。调用命令“net localgroup administrators haha /add”。
增加成管理员之后,重启电脑此时会有新的用户界面。
成功以系统管理员的身份进入了操作系统。
完成之后我们还需要删除用户,消灭踪迹。调用命令“net user haha /del”。
该漏洞可能已经被Win7和Win10修复,但仍有部分未更新的系统存在,所以系统补丁、版本更新是非常重要的步骤。而黑客也会对比不同版本的补丁进行攻击。
简单总结下该篇文章的方法:
开启win7虚拟机,开机并设置一个复杂密码
关机再开机,再出现Windows启动界面时强制关机
再开机出现“启动修复(推荐)”及选择该项。如果没有出现,多长时间几次强制关机或者换方法。
出现系统还原提示,点击取消,等待几分钟后,会出现问题原因,点击查看详细信息
打开最后一个链接即一个记事本
记事本中点击打开,并选择显示所有文件
找到sethc并改名为sethc-bak,再找到cmd,复制一份改名为sethc
全部关闭重启
系统启动完毕连续按5次shift键,将弹出cmd工具,使用命令“net user 用户名 新密码”,将当前用户密码修改即可,或者另建一个新用户,并提升为管理员,注销后可再删除新建的用户,这样的好处是不修改当前的用户密码即可登录系统
成功登录系统
写到这里,这篇基础性文章就此结束,最后希望这篇基础性文章对您有所帮助。突然发现,作者已经写了800多篇文章了,非常值得纪念,今后也希望帮到更多的读者。也觉得自己的技术好浅,要学的知识好多,读博真心不容易,之前很少遇到睡不着觉,这学期很多次惊醒,希望自己这四年能不断成长,身体和心理都健康!一定要好好的,有时候只是看着开心阳光,其背后的苦和痛都要去炼化,祝福所有博士战友们和。共勉~
真的感觉自己技术好菜,要学的知识好多。作为初学者,我们可能有差距,不论你之前是什么方向,是什么工作,是什么学历,是大学大专中专,亦或是高中初中,只要你喜欢安全,喜欢渗透,就朝着这个目标去努力吧!有差距不可怕,我们需要的是去缩小差距,去战斗,况且这个学习的历程真的很美,安全真的有意思。但切勿去做坏事,我们需要的是白帽子,是维护我们的网络,安全路上共勉。
『网络攻防和AI安全之家』目前收到了很多博友、朋友和老师的支持和点赞,并且保持每周七次更新,尤其是一些看了我文章多年的老粉,购买来感谢,真的很感动,类目。未来,我将分享更多高质量文章,更多安全干货,真心帮助到大家。虽然起步晚,但贵在坚持,像十多年如一日的博客分享那样,脚踏实地,只争朝夕。继续加油,再次感谢!
(By:Eastmount 2024-10-16 夜于贵阳)
该篇文章参考了以下文献,非常推荐大家阅读这些大牛的文章和视频:
https://github.com/eastmountyxz
《Web安全深度剖析》《黑客攻防技术宝典浏览器实战篇》
https://www.bilibili.com/video/av60018118 (B站白帽黑客教程)
2019/Web安全/漏洞挖掘/信息收集/SQLMAP/SSRF/文件上传/逻辑漏洞 (B站强推)
2019文件上传漏洞专题渗透入门网络安全黑客web攻防详解 (Fox B站强推)
2019 黑客入门基础Windows网络安全精讲 - Shimisi-B站
https://blog.csdn.net/weixin_44421798/article/details/100405496