SecuriXy.kz
134 members
244 photos
3 files
140 links
Все самое интересное из мира информ. безопасности и IT 👍🏻
Обсуждаем, делимся, умнеем
https://securixy.kz
Обратная связь - @feedback_securixy_bot
Download Telegram
to view and join the conversation
SecuriXy.kz
Photo
WAPT или Тестирование Веб-Приложений на проникновение
Это один из самых сильных курсов за всю историю рунета по теме Web Application Penetration Testing (WAPT) как заявляют нам...
{LogWrite -Logfile $LogFileName -LogEntryString "| Empty input line ignored (line#: $cnt_LineNumber)." -LogEntryType INFO -TimeStamp}
Write-Verbose "| Empty input line ignored (line#: $cnt_LineNumber)."
$cnt_LineNumber++
Continue
}
$NTHash = $(Get-NTHashFromClearText $BadPassword)
If ($htBadPasswords.ContainsKey($NTHash)) # NB! Case-insensitive on purpose
{
$intBadPasswordsInListsDuplicates++
If ($bolWriteToLogFile -and $bolWriteVerboseInfoToLogfile) {LogWrite -Logfile $LogFileName -LogEntryString "| Duplicate password: '$BadPassword' = $NTHash" -LogEntryType INFO -TimeStamp}
Write-Verbose "| Duplicate password: '$BadPassword' = $NTHash (line#: $cnt_LineNumber)"
}
Else # New password to put into hash table
{
If ($bolWriteToLogFile -and $bolWriteVerboseInfoToLogfile) {LogWrite -Logfile $LogFileName -LogEntryString "| Adding to hashtable: '$BadPassword' = $NTHash" -LogEntryType INFO -TimeStamp}
Write-Verbose "| Adding to hashtable: '$BadPassword' = $NTHash (line#: $cnt_LineNumber)"
$htBadPasswords.Add($NTHash,$BadPassword)
}
# Counting line numbers
$cnt_LineNumber++
} # Foreach BadPassword
}
}
#Смещение верхней строки
$intBadPasswordsInLists = $htBadPasswords.Count - 1
Add-content -path $Pfile "Name,Username,NTLMPassword"

$arrUsersAndHashes = Get-ADReplAccount -All -Server $DC -NamingContext $Domain | Where {$_.Enabled -eq $true -and $_.SamAccountType -eq 'User' -and $_.DistinguishedName -like $OUsss} | Select SamAccountName,@{Name="NTHashHex";Expression={ConvertTo-Hex $_.NTHash}}
$intUsersAndHashesFromAD = $arrUsersAndHashes.Count
Foreach ($hashuser in $arrUsersAndHashes)
{
$strUserSamAccountName = $hashuser.SamAccountName
$Nametable = Get-ADUser -LDAPFilter "(sAMAccountName=$strUserSamAccountName)" | Select Name
$Name = $Nametable.name
$strUserNTHashHex = $hashuser.NTHashHex
If ($htBadPasswords.ContainsKey($strUserNTHashHex)) # NB! Case-insensitive on purpose
{
$intBadPasswordsFound++
$strUserBadPasswordClearText = $htBadPasswords.Get_Item($strUserNTHashHex)
Add-content $Pfile "$Name,$strUserSamAccountName,$strUserBadPasswordClearText" -Encoding UTF8
}
}
$UsersAll = Import-Csv $Pfile -Encoding UTF8
#Список исключения
$Users = Import-Csv $Pfile -Encoding UTF8 | where-object { $_.Username -NotMatch 'УверенныйАдмин|testuser|СУПЕРБОСС' }
#Мылинг
function SendNotification {
$Msg = New-Object Net.Mail.MailMessage
$Smtp = New-Object Net.Mail.SmtpClient($MailServer)
$Msg.From = $FromAddress
$Msg.To.Add($ToAddress)
$Msg.Subject = "Внимание! $datA Обнаружен слабый пароль!"
$Msg.Body = $EmailBody
$Msg.IsBodyHTML = $true
$Msg.Priority = [System.Net.Mail.MailPriority]::High
$Smtp.Send($Msg)
}
$TOsoc='soc@yourcompany.kz'
$head = "Внимание! $datA Обнаружены слабые пароли на $intBadPasswordsFound из $intUsersAndHashesFromAD :"
$emailBodyTXT = $UsersAll | Sort NTLMPassword,Username | ConvertTo-Html -Head $head | Format-Table -Autosize | Out-String
Send-MailMessage -smtpServer $MailServer -from $FromAddress -to $TOsoc -subject "Внимание! $datA Обнаружены слабые пароли!" -body $emailBodyTXT -BodyAsHTML -Encoding UTF8
Foreach ($User in $Users){
$FIO = $User.name
$ToAddress = "$FIO
С праздником Вас ребята, с днем победы. Помните наших дедов!
https://github.com/WiIs0n/Fuzzer наш знакомый сделал удобный фазер. Попробуйте и если понравиться поддержите товарища.
Интересный привеск через Nmap...
А вообще оч помогает сервис https://gtfobins.github.io/
ping ;calc.exe 127.0.0.1/../../../../../../../../../../windows/system32/WindowsPowerShell/v1.0/POWERSHELL.EXE бабайки винду все наковыривают...
SecuriXy.kz
Photo
Zerotier или великолепный инструмент для RedTeam
Удобное средство для удаленной работы с любой точки мира...
Снова Винда, баг или фича...
TBHMv4 Recon.pdf
12.2 MB
Отличное пособие по рекону.
Актуальная тема в борьбе ИБ специалистов с разработчиками веб приложений, когда разработчики застряли в цикле: я прав, если я не прав - я всё равно прав.
Один из классических вопросов на собеседование AppSec специалисту - "Как хранить пароли?". И тут будет потрясающим ответ - "пароли хранить не надо, потому что в 2020 мы не должны запускать сервисы с паролями!". За это можно получить хороший плюс. Но если все-таки вернуться к вопросу, то ожидается ответ в духе:
- Давайте использовать Argon2, PBKDF2, Bcrypt, Scrypt с оптимальным количеством раундов
- И харденинг - например использовать HSM (тут долгие холивары в каком режиме), "pepper" и т.д.

Ответы хранить соленный md5/sha1/sha256/sha512 автоматически ставят жирный минус.

Но также есть еще один вопрос, сложный, и ответ на него мало кто знает - *”А как нам хранить пароли так, что если атакующий получит RCE на бэкендах, в т.ч. root привилегии, то не сможет дампнуть табличку с хэшами?”*

Вопрос ставит в тупик, можно начинать придумывать "security through obscurity" решения, но не надо. Есть очень легкий, понятный и технически верный путь, как решить поставленную задачу. Нам нужно отозвать права "select" у бэкенд юзера на таблицу с хэшами и написать 2 хранимых SQL процедуры:

getSalt(user_id)

Вернет «соль» пароля на бэкенд по userId, который пытается войти. Бэкенд возьмет введенный юзером пароль и получит хэш с солью из базы

checkPassword(user_id, hashed_password)

Возвращает true/false на проверке хэша пароля на предыдущем шаге у user_id

Еще нужна процедура на создание пользователя и смену пароля, но они также не позволяет select'нуть хэши паролей пользователей. Хорошая статья по теме(но там не всё): https://www.secjuice.com/secure-password-handling/

Странно, что ни в одном современном решении - типа WordPress или Django это не реализовано. Да и не надо уже, давайте лучше откажемся от паролей!
Наглядный пример того, как Microsoft скрывает все что связано со спец символом $ Так что будьте внимательны используя bat,cmd,vbs скрипты для поиска локальных администраторов. Чем опасно? представьте себе Windows Core без GUI. Скоро Мы выложим статью по верной автоматизации таких процессов в Доменной сети...