Posted in: Windows 10, Windows 11, Windows 8 a 8.1

Nástroj pro dampování hesel z Mozila Firefox

Krom legitimního exportu je několik cest, jak získat z Firefoxu uložená hesla. Každého napadne přenesení profilu prohlížeče, ale tato metoda není cestou k úspěchu, i když vede k získání spousty zajímavých dat. Ale existují nástroje, které dokáží najít a obnovit zapomenutá hesla, případě hesla vykrádat. Jedním z takových nástrojů je také Firefox Password Decrypt.

Upozorňuji, že užití takovéhoto nástroje je legitimní pouze v případě, že máte poškozený Firefox a potřebujete získat svá vlastní data, nebo může posloužit v rámci pentestu.

Posted in: Vývoj počítačů, Windows 10, Windows 11, Windows 8 a 8.1, Windows server

Databáze uniklých hesel ke stažení

Pokud si jako správce Active Directory nebo jiné autentizačního systému potřebujete provést audit, zda uživatelé využívají veřejně známá hesla, nebo si vyrobit filtr proti těmto heslům, potřebujete nejdříve mít nějakou databázi těchto hesel.

Jednou z variant je stažení databáze z Have i been pwned (NTLM a SHA-1), nebo existuje volně přístupné místo pro stahování těchto textových databází: https://weakpass.com/wordlist

Posted in: Windows server

Vylepšená kontrola hesel uživatelů v Active Directory

Již před delším časem jsem publikoval sktript, který pracuje s modulem DSinternals Michaela Grafnettera a kontroloval hesla uživatelů proti databázi uniklých hesel. Dnes publikuji jeho vyleošenou verzi, která je pohodlnější na zadávání informací potřebných ke kontrole.
Prerekvizitou je nainstalovaný modul DSinternals, což lze provést příkazem:

Install-Module DSInternals -Force$rezim = Read-Host -Prompt "Plně textový režim?(A/N) (pokud ne, cestyk souborům jsou zadány výběrovým dialogem)"
if(($rezim -eq "A") -or ($rezim -eq "a") -or ($rezim -eq "y") -or ($rezim -eq "Y"))
{
$ntdsPath = Read-Host -Prompt "Zadej cestu k ntds.dit"
$systempath = Read-Host -Prompt "Zadej cestu k souboru registru SYSTEM z DC"
$slovnik = Read-Host -Prompt "Zadej cestu k souboru slovníku"
$vystup = Read-Host -Prompt "Zadej cestu k výstupnímu souboru"
}
else
{
Add-Type -AssemblyName System.Windows.Forms
$shell = New-Object -ComObject Shell.Application
[void] [System.Windows.MessageBox]::Show( "Vyber soubor ntds.dit ", "Script completed", "OK", "Information" )
$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
$OpenFileDialog.Multiselect = $false
$response = $OpenFileDialog.ShowDialog( )
if ( $response -eq 'OK' ) { $ntdsPath = $OpenFileDialog.FileName }
[void] [System.Windows.MessageBox]::Show( "Vyber soubor SYSTEM z DC", "Script completed", "OK", "Information" )
$response = $OpenFileDialog.ShowDialog( )
if ( $response -eq 'OK' ) { $systempath = $OpenFileDialog.FileName }
[void] [System.Windows.MessageBox]::Show( "Vyber soubor slovníku hesel", "Script completed", "OK", "Information" )
$response = $OpenFileDialog.ShowDialog( )
if ( $response -eq 'OK' ) { $slovnik = $OpenFileDialog.FileName }
[void] [System.Windows.MessageBox]::Show( "Vyber umístění výstupního souboru", "Script completed", "OK", "Information" )
$selectedfolder = $shell.BrowseForFolder( 0, 'Select a folder to proceed', 16, $shell.NameSpace( 17 ).Self.Path ).Self.Path
$vystup = $selectedfolder + "\" +(Read-Host -Prompt "Zadeh název výstupního souboru") + ".txt"
}
Import-Module -Name DSInternals
$key = Get-BootKey -SystemHivePath $systempath
$hash = Read-Host -Prompt "Je slovník NTLM hash? (Y/N)"
if(($hash -eq "Y") -or ($hash -eq "y"))
{
Get-ADDBAccount -All -DBPath $ntdsPath -BootKey $key | Test-PasswordQuality -WeakPasswordHashesFile $slovnik | Out-File $vystup -Encoding utf8
}
else
{
Get-ADDBAccount -All -DBPath $ntdsPath -BootKey $key | Test-PasswordQuality -WeakPasswordsFile $slovnik | Out-File $vystup -Encoding utf8
}
Posted in: Windows 10, Windows 11, Windows 8 a 8.1, Windows server

Výpis přihlašovacích údajů a pověření z trezoru Windows

Následující PowerShell příkaz vypíše obsah trezoru systému Windows:

[void][Windows.Security.Credentials.PasswordVault,Windows.Security.Credentials,ContentType=WindowsRuntime];$vault = New-Object Windows.Security.Credentials.PasswordVault;$vault.RetrieveAll() | % { $_.RetrievePassword();$_} | Select UserName, Resource, Password | Format-Table

V trezoru Windows jsou především síťová pověření, ale i přístupy k webovým službám pomocí IE, či jiného podporovaného programu.

Posted in: Windows 10, Windows 11, Windows 8 a 8.1, Windows server, Základy PowerShellu

Generování hesel v PowerShellu

Každý správce, který se stará o nějaký identitní systém, potřebuje vymýšlet bezpečná jednorázová hesla. K tomu mu může sloužit například následující kousek PowerShell kódu:

$delka = 10
$specZnaku = 2
Add-Type -AssemblyName System.Web
[System.Web.Security.Membership]::GeneratePassword($delka,$specZnaku)

Verze, která nevyužívá volání .NET:

function Generate-Password
{
param
(
[int] $delka = 12,
[switch] $specZnak
)
$length = $delka
if($specZnak)
{
$charSet = ‚abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789{]+-[*=@:)}$^%;(_!&#?>/|.‘.ToCharArray()
}
else
{
$charSet = ‚abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789‘.ToCharArray()
}
$rng = New-Object System.Security.Cryptography.RNGCryptoServiceProvider
$bytes = New-Object byte
$rng.GetBytes($bytes)
$result = New-Object char
for ($i = 0 ; $i -lt $length ; $i++) {
$result[$i] = $charSet[$bytes[$i]%$charSet.Length]
}
return (-join $result)
}

Back to Top