ethical.blue Magazine

// Cybersecurity clarified.

Pułapki typu honeypot (pol. beczułka z miodem)

05.04.2022   Dawid Farbaniec
...
Zestaw metod znanych jako honeypot istnieje od dawna. Nie są ściśle związane z konkretną technologią. Honeypot należy rozumieć jako: pomysł, filozofię, mechanizm lub metody. Mówiąc prościej, honeypot to zasób, usługa lub program, którego zadaniem jest przyciąganie cyberataków. Honeypot jest celowo narażony na ataki hakerów i pozwala niebieskiej drużynie zbierać informacje. Na przykład:
  • czy jesteśmy atakowani,
  • jakie narzędzia i metody zastosowano,
  • co jest atakowane: cała sieć, określony zasób, maszyna,
  • jaka jest motywacja ataku,
  • co atakujący planuje zdobyć: dane, zdalna kontrola, paraliż, okup, żart?

W tym tekście chciałbym nieco bliżej przybliżyć ideę honeypot. Warto zaznaczyć, że mimo etycznego stosowania honeypot może on być niezgodny z prawem. Szczególnie chodzi tutaj o prywatność — monitorowanie przesyłanych danych bez wiedzy użytkownika. Nie jestem prawnikiem. Sprawdź lokalne i międzynarodowe prawo.

Istnieją dwa główne typy honeypotów:
  • niska interakcja — symulowana usługa pozwala na niską interakcję, na przykład symulowana usługa SSH, która rejestruje nieprawidłowe próby logowania,
  • wysoka interakcja — symulowana usługa umożliwia wysoką interakcję, na przykład symulowana usługa Pulpitu zdalnego.

Dlaczego używa się honeypotów? Główne cele to: polowanie na zagrożenia, monitorowanie sieci, zbieranie nowych próbek złośliwego oprogramowania itp. Zauważ, że honeypot powinien być odpowiednio izolowany. Główne zagrożenia podczas korzystania z honeypotów to:
  • napastnik dowie się, że to jest honeypot,
  • napastnik może przejąć honeypot i użyć do ataku.

HoneyDB jako przykład honeypot

Dostępnych jest wiele rozwiązań typu honeypot. Jako przykład wybrano HoneyDB.

Aby skonfigurować agenta HoneyDB, można użyć wirtualnego serwera prywatnego (VPS) z systemem Windows lub innym preferowanym systemem operacyjnym. To bardzo wygodne rozwiązanie. Utworzoną maszyną można łatwo zarządzać za pomocą Pulpitu zdalnego (RDP).



Agent HoneyDB dla Windows jest jak typowy program.



Agenta można zainstalować jako usługę.


Zwróć uwagę, że aplikacja agenta HoneyDB powinna mieć możliwość komunikowania się przez zaporę Windows Defender.


Wykonanie skanowania portów na serwerze pokazuje, że są wystawione usługi honeypot.


Niektóre usługi można wyłączyć lub skonfigurować, modyfikując plik services.conf. Zwróć uwagę, że usługa honeypot Pulpitu zdalnego (3389) powinna być wyłączona, gdy do zarządzania serwerem używany jest prawdziwy Pulpit zdalny.

Dostęp do HoneyDB Threat Information za pomocą C#.NET

Zapewnij dobrą przynętę, aby łowić złośliwe ładunki. Przyciągaj łatwą zdobyczą. Zachęć atakujących do obrania pułapki za cel włamania. Po zebraniu pewnych danych można je odczytać. Projekt HoneyDB udostępnia interfejs API do pobierania informacji o zagrożeniach. Przykładowy kod w języku C#.NET (aplikacja konsolowa) znajduje się poniżej. Zauważ, że obserwując pole data, gdy event jest równe RX (odebranie danych), można znaleźć ładunki wykorzystywane w atakach.

// See https://aka.ms/new-console-template for more information

using Newtonsoft.Json;

using (HttpClient httpClient = new())
{
    using HttpRequestMessage request = new(new HttpMethod("GET"),
        "https://honeydb.io/api/sensor-data/mydata?sensor-data-date=" +
        DateTime.Now.ToString("yyyy-MM-dd"));

    request.Headers.Add("X-HoneyDb-ApiId", "26b2d...30a0e4");
    request.Headers.Add("X-HoneyDb-ApiKey", "71...9aa25");

    var response = await httpClient.SendAsync(request);

    var json = await response.Content.ReadAsStringAsync();

    var data = JsonConvert.DeserializeObject<List<Root>>(json);

    //(...)

    Console.WriteLine("Done.");
}

/*-- JSON Classes --*/
internal class Data
{
    public string date { get; set; }
    public string time { get; set; }
    public string millisecond { get; set; }
    public string session { get; set; }
    public string protocol { get; set; }
    public string @event { get; set; }
    public string service { get; set; }
    public string remote_host { get; set; }
    public string data { get; set; }
    public string bytes { get; set; }
    public string data_hash { get; set; }
}

internal class Root
{
    public List<Data> data { get; set; }
    public string from_id { get; set; }
}

Kilka słów podsumowania

Najbardziej niebezpieczne scenariusze to wykrycie pułapki lub przechwycenie pułapki. Aby uniknąć wykrycia, nie udostępniaj nierealnych zasobów, takich jak np. plik credit_cards.zip na stronie bankowej. Nie otwieraj zbyt wielu portów. Serwer musi wyglądać jak maszyna produkcyjna ze świata rzeczywistego. Aby uniknąć przechwycenia, odizoluj honeypot od innych maszyn. Można do tego wykorzystać maszyny wirtualne. Aktualizuj i łataj rzeczywiste usługi i system operacyjny.

Wykaz literatury

https://honeydb.io/ [access: 2022-04-05]

ethical.blue Appz

Categories

Archives


Donate to ethical.blue Magazine website maintenance with cryptocurrency or PayPal.

aspnet
Connections: 11

bitcoin diesel