Script that parses PShitt bruteforce logs 09-18-2016, 12:27 AM
#1
PSHITT can be found here: https://github.com/regit/pshitt
Script:
Live example from real server: https://ghostbin.com/paste/46dfx
Script:
PHP Code:
<?php
// [Axi] 09-17-2016
// Na discordu: Axi#3372
// Prosty skrypt dla PHP który analizuje pliki od pshitt :) (Ale nie jest tak szybki... :P)
$fd = fopen("ssh.log", "r");
$proby = 0;
$ip = array();
$login = array();
$haslo = array();
if(!$fd) {
die("[Błąd] Nie można otworzyć pliku \"ssh.log\"\n");
}
while(($line = fgets($fd)) !== false) {
if(empty($line)) continue;
if(($json = json_decode($line, true)) !== null) {
if(isset($json['username'], $json['password'], $json['src_ip'])) {
$login[] = $json['username'];
$haslo[] = $json['password'];
$ip[] = $json['src_ip'];
$proby++;
} else {
echo "[Błąd] Elementy brakuje od jsonu!\n";
}
} else {
echo "[Błąd] JSON nie może być rozpakowany\n";
continue;
}
}
$ip_2 = array_count_values($ip); arsort($ip_2);
$login_2 = array_count_values($login); arsort($login_2);
$haslo_2 = array_count_values($haslo); arsort($haslo_2);
$ip = array_unique($ip);
$login = array_unique($login);
$haslo = array_unique($haslo);
$ilosc_ip = count($ip);
$ilosc_login = count($login);
$ilosc_hasly = count($haslo);
echo "========= Generalny statystyki =========\n\n";
echo "Ilość próby: {$proby}\n";
echo "Ilość unikalne IP addressy: {$ilosc_ip}\n";
echo "Ilość unikalne nazwy użytkowników: {$ilosc_login}\n";
echo "Ilość unikalne hasły: {$ilosc_hasly}\n\n";
echo "========= Najczęstsze źródła prób =========\n\n";
foreach($ip_2 as $k => $v) {
echo "{$k}\t{$v}\n";
}
echo "========= Analiza najczęściej używane nazwy użytkowników =========\n\n";
foreach($login_2 as $k => $v) {
echo "{$k}\t\t\t{$v}\n";
}
echo "========= Analiza najczęściej używane hasły =========\n\n";
foreach($haslo_2 as $k => $v) {
echo "{$k}\t\t\t{$v}\n";
}
Live example from real server: https://ghostbin.com/paste/46dfx
(This post was last modified: 09-18-2016, 12:31 AM by Wildfire.)