当前位置: 首页 > news >正文

在本地校验密码或弱口令 (windows)

# 0x00 背景

需求是验证服务器的弱口令,如果通过网络侧校验可能会造成账户锁定风险。在本地校验不会有锁定风险或频率限制。

# 0x01 实践

## 1 使用 net use 命令


可以通过命令行使用 net use 命令来验证本地账户的密码。打开命令提示符(CMD),然后输入以下命令:

net use \\localhost\IPC$ /user:用户名 密码

net use \\localhost\IPC$ /user:00e04c123456 00e04c123456

将 用户名 替换为你要验证的本地账户名,密码 替换为相应的密码。如果输入的密码正确,命令将成功执行;如果密码错误,则会提示验证失败。

注意
net use \\localhost\IPC$   这个命令不会验证密码,不可以

runas /user:用户名 "命令"  # 会提示输入密码,可以用来验证,但是交互式

## 2 使用 PowerShell (本地无需输入密码,报错)

也可以使用 PowerShell 来验证本地账户的密码。以下是一个示例脚本:

$Username = ".\00e04c123456"; $Password = "00e04c123456" | ConvertTo-SecureString -AsPlainText -Force;$Credential = New-Object System.Management.Automation.PSCredential($Username, $Password);
try { $null = Get-WmiObject -Class Win32_ComputerSystem -Credential $Credential Write-Host "1" } catch { Write-Host "2" }

$Username = ".\00e04c123456"; $Password = "00e04c123456" | ConvertTo-SecureString -AsPlainText -Force; $Credential = New-Object System.Management.Automation.PSCredential($Username, $Password); try { Invoke-Command -ScriptBlock { Get-WmiObject -Class Win32_ComputerSystem } -Credential $Credential -ComputerName "localhost" Write-Host "1" } catch { Write-Host "2"}

## 3 调用windows login api (未测试)

Here’s a simple example of how to use the LogonUser function in C++:

#include <windows.h>
#include <iostream>int main(){HANDLE hToken;const char* username = "User";const char* password = "Password";const char* domain = "Domain"; // Use NULL for local accountsif(LogonUser(username, domain, password, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, &hToken)) {std::cout << "User logged in successfully."<< std::endl;// Perform actions as the logged-in user...CloseHandle(hToken); // Don't forget to close the token handle} else{std::cerr << "LogonUser failed with error: "<< GetLastError() << std::endl;}return 0;
}

## 4 Hids 检查windows弱口令逻辑 

推测可以实现的一个逻辑:

1.net user 跑出所有用户
2.遍历pwd字典 net use 强制使用密码验证
   如果验证到密码,跳出循环,del net use share,再验证下一个用户
3.好处是不会造成账户锁定

不强制输入密码是无法认证的,本地直接建立连接了。

密码错误截图如下:

反之,如果密码正确,会生成一个IPC链接。net use命令可以查看到。

http://www.lryc.cn/news/538398.html

相关文章:

  • pytest测试专题 - 1.3 测试用例发现规则
  • 零基础学习人工智能
  • LeetCode热题100- 缺失的第一个正数【JavaScript讲解】
  • JAVA泛型介绍与举例
  • 【ISO 14229-1:2023 UDS诊断(会话控制0x10服务)测试用例CAPL代码全解析③】
  • Vivado生成edif网表及其使用
  • Win10环境借助DockerDesktop部署大数据时序数据库Apache Druid
  • mac 意外退出移动硬盘后再次插入移动硬盘不显示怎么办
  • 力扣动态规划-32【算法学习day.126】
  • 【算法进阶详解 第一节】树状数组
  • 【苍穹外卖】学习
  • Python常见面试题的详解8
  • Deepseek R1模型本地化部署与API实战指南:释放企业级AI生产力
  • node.js + html调用ChatGPTApi实现Ai网站demo(带源码)
  • sql语言语法的学习
  • 力扣 最长递增子序列
  • 【linux】在 Linux 服务器上部署 DeepSeek-r1:70b 并通过 Windows 远程可视化使用
  • visutal studio 2022使用qcustomplot基础教程
  • Linux:线程概念、理解、控制
  • Postman如何流畅使用DeepSeek
  • K8S下载离线安装包所需文件
  • 探索Hugging Face:开源AI社区的核心工具与应用实践
  • 【操作系统】深入理解Linux物理内存
  • npm 私服使用介绍
  • 安全筑基,智能赋能:BeeWorks IM引领企业协同新纪元
  • 水务+AI应用探索(一)| FastGPT+DeepSeek 本地部署
  • [JVM篇]垃圾回收器
  • SQL Server:查看当前连接数和最大连接数
  • DeepSeek应用——与PyCharm的配套使用
  • 【第15章:量子深度学习与未来趋势—15.3 量子深度学习在图像处理、自然语言处理等领域的应用潜力分析】