ethical.blue Magazine

// Cybersecurity clarified.

Symulacje phishing z aplikacją Collector

10.03.2022   Dawid Farbaniec
...
Wykonuj symulowany phishing i testy penetracyjne z aplikacją stworzoną w Blazor.

Idea stojąca za programem Collector

Program Collector znajduje największe zastosowanie, gdy nie ma potrzeby przeprowadzania prawdziwej operacji red team w firmie. Ogólna idea jest taka, że nie trzeba wybijać szyb, strzelać do kamer i wyważać drzwi, aby udowodnić szefowi, że ma słabo zabezpieczone biuro. Oczywiście nie jest wykluczone zastosowanie programu Collector podczas operacji red team. Na przykład: Link w kampanii może kierować do niebezpiecznego ładunku stworzonego przez red team albo tylko do nieszkodliwej witryny ostrzegającej pracowników.

Jedno jest jasne: Projekt Collector nie zawiera malware.

Panel internetowy chroniony hasłem

Panel internetowy programu Collector jest chroniony przez login i hasło. Nie ma obsługi wielu kont, ale dane logowania mogą być współdzielone z zespołem. Warto zauważyć, że dane logowania są zachowywane w bazie SQLite, ale nie jako czysty tekst. Hasło jest hashowane algorytmem SHA512 z zastosowaniem soli. Jest również mechanizm wykrywający nieudane logowania, aby monitorować ataki na formularz.



Łatwe zarządzanie kampanią linków

Linki używane w teście penetracyjnym (np. symulacji phishingu) są podzielone na kampanie dla jasności i łatwego zarządzania. Można tworzyć nowe linki, sortować, eksportować, usuwać i wyświetlać szczegóły określonego łącza.


Każdy link w kampanii ma identyfikator, nazwę kampanii, opis, licznik kliknięć, adres IP oraz czas ostatniej aktywności. Warto zauważyć, że każdy link może zostać przekierowany do określonego adresu URL.


Kampanie plikowe

Oprócz kampanii linkowych możliwe jest przeprowadzanie kampanii plikowych. Głównym celem kampanii linkowej jest sprawdzenie ile osób kliknie w link. Kampania plikowa natomiast ma sprawdzić ile osób uruchomiło plik wykonywalny.



Próbka dołączona do programu Collector to nie malware. Jej zadaniem jest pobrać nazwę użytkownika, komputera oraz numer seryjny BIOS, aby zidentyfikować maszyny, które wykonały ładunek. Dane zebrane przez próbkę są wysyłane do panelu internetowego.

Program.cs (C#.NET)
// See https://aka.ms/new-console-template for more information


using System.Management;

#region Sample settings
string collectorURL = "https://localhost:7096/collect";
string campaignName = "campaign001";
#endregion

#pragma warning disable CA1416 // Walidacja zgodności z platformą
ManagementObjectSearcher searcher = new("SELECT * FROM Win32_BIOS");
#pragma warning restore CA1416 // Walidacja zgodności z platformą
ManagementObject? obj = searcher.Get().Cast<ManagementObject>().FirstOrDefault();

if (obj == null)
    return;

string? BIOSSerialNumber = obj["SerialNumber"].ToString();

HttpClient httpClient = new();
var content = new FormUrlEncodedContent(new[]
{
    new KeyValuePair<string, string>("CampaignField", campaignName),
    new KeyValuePair<string, string>("UserNameField", Environment.UserName),
    new KeyValuePair<string, string>("MachineNameField", Environment.MachineName),
    new KeyValuePair<string, string>("BIOSSerialNumberField", BIOSSerialNumber ?? "empty")
});

await httpClient.PostAsync(collectorURL, content);

Usługa VirusTotal potwierdza, że próbka jest nieszkodliwa i nie powinna straszyć alarmami od antywirusa.


Eleganckie raporty

Prawdopodobnie każdy szef i klient lubi mieć wszystko podane na tacy.




Przykładowy scenariusz aplikacji

Przegląd symulacji phishingu za pomocą aplikacji Collector.

0x01. Uzupełnij dokumenty z firmą i ludźmi, którzy zostaną poddani testom. Działaj legalnie.
0x02. Przygotuj adresy e-mail (możesz kupić domeny), szablony wiadomości oraz program lub skrypt, który wysyła maile. Wiadomości e-mail mogą być też wysyłane ręcznie.
Tutaj nadchodzi aplikacja Collector. 🙂
0x03. Utwórz kampanie i linki w panelu internetowym aplikacji Collector.
0x04. Umieść linki w wiadomościach i wyślij wiadomości do celów ataku.
0x05. Monitoruj które linki zostały kliknięte. Zbierane są też adresy IP i znaczniki czasu.
0x06. Wydrukuj eleganckie raporty dla swojego szefa/klienta.
0x07. Edukuj pracowników i powtarzaj testy regularnie.

Wykaz literatury

https://ethical.blue/download/Collector-ASP-NET-Blazor.zip [access: 2022-09-24]
https://github.com/ethicalblue/Collector [access: 2022-03-10]