在Windows环境中,执行程序要求用户输入凭证以进行身份验证(例如outlook),提权授权(用户账户控制)或仅在window锁定屏幕,这在Window环境中非常常见。模仿window的这种机制可能可以获取到其它Windows用户的凭证。这种技术可以用于红队的攻击技术中。当已经在系统上实现立足点并且无法通过其它方法发现用户的凭证时,此技术可能有用。
现在红队要求Tradecraft以C#语言为基础,因为C语言可以允许通过各种框架(Cobalt Strike Covenant等)在内存中执行。FakeLogonScreen是Arris Huijgen在c#中开发的Windows程序,它可以模仿windows登录屏幕,试图捕获用户密码
该工具可以显示当前配置的背景,以降低安全意识强的用户发现该恶意操作的风险。
当用户在假登录屏幕上输入密码时,它将针对Active Directory或本地执行验证,以确保密码正确。密码会显示在控制台。
还有一个辅助二进制文件,它是项目的一部分,并将凭证储存到本地磁盘上的文件(user.db)中,具体执行以下操作将读取包含域用户凭证的文件。
type C:\Users\pentestlab.PENTESTLAB\AppData\Local\Microsoft\user.db
Matt Pickford开发了一个类似1名为SharpLocker的程序集二进制文件,该二进制文件在执行后将向用户显示伪造的登录屏幕。
每次输入的数据都可以在控制台上输出被看见,直到完全查明用户密码为止。
Window安全型输入提示非常常见,因为公司环境中的应用程序可能会定期要求用户进行身份验证。Outlook通常会在你登陆的时候输入一些账号信息。有一个名为CredsLeaker的安全提示工具,可以尝试模仿Windows安全提示。它需要WEB服务器储存必要的文件,这些文件将读取凭证并将其写入文本文件中,并通过Powershell调用HTTP请求可以从BAT文件直接执行Powershell命令
run.bat
在执行BAT文件之前,应修改项目文件上的信息,以定位储存配置,PHP和Powershell文件的WEB服务器为目标。当执行BAT时,可以向用户显示Windows安全弹窗。
该工具可以对登录凭证进行验证,并且只有提供的登录信息正确的时候,弹窗才会消失,主机名,用户名和密码会被写入到以下位置
/var/www/html/creds.txt
Matt Nelson开发了一个PowerShell脚本,该脚本可以生成一个输入提示,这个提示可以检查登录信息是否有效,否则提示不会关闭,可以从远程位置执行脚本然后信息会返回到控制台那里。
Nishang框架还包含一个PowerShell脚本,该脚本可用于创建假输入提示来获取window登录信息:
输入提示会包含一条信息,提示用户执行此操作需要输入一些数据,提示用户执行此操作需要某些数据。更具安全意思的用户可能会识别出某些操作已经在后台执行,但这并未完全适用于所有公司用户。
Metasploit Framework包含一个模块,该模块具有在创建特定进程或任何进程时输入提示的功能。该模块必须连接到现有的Meterpreter会话中,并且需要自定义该过程
use post/windows/gather/phish_windows_credentials
set SESSION 3
set PROCESS *
run
*指示模块监视系统上正在运行的所有程序并等待新实例启动可以向用户显示假的输入提示
输入的提示将作为来自流程的凭证请求回显给用户以便启动
当用户输入信息的时候,这些信息会被捕获并返回到控制台
或者可以把模块配置改为仅监视特定过程的创建
引用:Pentration Testing Lab https://pentestlab.blog/2020/03/02/phishing-windows-credentials/
用户名 | 金币 | 积分 | 时间 | 理由 |
---|---|---|---|---|
奖励系统 | 50.00 | 0 | 2020-09-28 15:03:42 | 投稿满 5 赞奖励 |
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.