$30 off During Our Annual Pro Sale. View Details »

Detekcja cech dystynktywnych kanałów Dowodzenia i Kontroli (C2)

secman
June 14, 2018

Detekcja cech dystynktywnych kanałów Dowodzenia i Kontroli (C2)

secman

June 14, 2018
Tweet

Other Decks in Research

Transcript

  1. Detekcja cech
    dystynktywnych kanałów
    Dowodzenia i Kontroli (C2)
    Bartosz Jerzman
    White Cat Security

    View Slide

  2. O czym?
    - Czym różni się fałszywy TLS od prawdziwego?
    - Co to jest beaconing?
    - Czy można wykryć komunikację C2 grup APT?

    View Slide

  3. O mnie?
    analizuję narzędzia i techniki atakujących
    techniki detekcji
    ( TI ->SOC -> SIEM, TH ) MITRE ATT&CK
    wyniki

    View Slide

  4. Cechy charakterystyczne komunikacji C2
    T1090: Connection Proxy T1032: Standard Cryptographic
    Protocol
    T1188: Multi-hop Proxy
    T1092: Communication Through
    Removable Media
    T1132: Data Encoding T1219: Remote Access Tools
    T1095: Standard Non-Application
    Layer Protocol
    T1024: Custom Cryptographic
    Protocol
    T1043: Commonly Used Port
    T1094: Custom Command and
    Control Protocol
    T1026: Multiband Communication T1071: Standard Application Layer
    Protocol
    T1205: Port Knocking T1102: Web Service T1172: Domain Fronting
    T1008: Fallback Channels T1105: Remote File Copy T1065: Uncommonly Used Port
    T1001: Data Obfuscation T1104: Multi-Stage Channels T1079: Multilayer Encryption
    https://attack.mitre.org/wiki/Command_and_Control

    View Slide

  5. Przykłady C2 stosowane przez APT
    • FakeTLS - grupa LAZARUS / Hidden Cobra:
    – Sony Pictures
    – Bangladesh Bank - 81 mln $
    – KNF (Polska)
    • CobaltStrike - grupa Cobalt / FIN7/ Carbanak:
    – 100 banków, 40 krajów, 1 mld Euro
    – ATM

    View Slide

  6. FakeTLS - historia użycia

    View Slide

  7. FakeTLS a Kill Chain

    View Slide

  8. FakeTLS a Kill Chain
    makro - dropper
    smss.exe / lsm.exe

    View Slide

  9. FakeTLS w praktyce
    1. TCP handshake, brak zapytań DNS
    brak rozwiązywania nazw DNS
    port 443
    192.168.56.21 114.215.107.218

    View Slide

  10. FakeTLS w praktyce
    2. Client Hello
    Client Hello
    SNI: www.wetransfer.com
    192.168.56.21 114.215.107.218

    View Slide

  11. FakeTLS w praktyce
    2. Client Hello / Brak odpowiedzi C2
    Client Hello
    SNI: www.dropbox.com
    SNI: www.debian.org
    ….
    192.168.56.19 114.215.107.218

    View Slide

  12. FakeTLS w praktyce
    3a. Server Hello / Certificate/ Server Hello Done
    Server Hello
    192.168.56.19 114.215.107.218
    wymiana klucza: ECDHE
    uwierzytelnienie:ECDSA
    algorytm szyfr.: AES_256
    algorytm integralności: SHA

    View Slide

  13. FakeTLS w praktyce
    3b. Server Hello / Certificate/ Server Hello Done
    Certificate
    prawdziwy, ale wygasły certyfikat
    https://www.censys.io

    View Slide

  14. FakeTLS w praktyce
    SSL Handshake
    Client Hello
    192.168.56.19 114.215.107.218
    Server Hello,Certificate, Server Hello Done
    Client Key ExchangeChange Cipher Spec, Encrypted
    Handshake Msg
    Change Cipher Spec, Encrypted Handshake Message
    Zaszyfrowane dane w tunelu SSL

    View Slide

  15. FakeTLS w praktyce
    Application Data Length == 8 (sic!)
    SSL Application Data
    192.168.56.21 114.215.107.218
    TLS_ECDHE_ECDSA_WITH
    _AES_256_CBC_SHA

    View Slide

  16. FakeTLS - profil TLS 1.0
    8 B
    192.168.56.19 114.215.107.218
    8 B
    24 B
    8 B
    4 B

    View Slide

  17. Profilowanie SSL - RE
    24 B

    View Slide

  18. Profilowanie SSL - detekcja
    Przepis:
    - Analizator ruchu sieciowego np. Bro-IDS
    - Analizator SSL/TLS - wielkość komunikatów Enc App Data
    - profile SSL - na podstawie analizy sieciowej w sandbox lub
    inżynierii wstecznej

    View Slide

  19. Detekcja za pomocą Bro (Security Onion)
    video

    View Slide

  20. Bad CobaltStrike - FIN7
    • beaconing - seanse łączności
    • Mellable C2 profile - elastyczność konfiguracji
    • C2 zewnętrzne: HTTP, HTTPS, DNS
    • C2 proxy: SMB

    View Slide

  21. Beacon <-> Cobalt Teamserver
    metadane - “heartbeat”
    HTTP GET
    Beacon Cobalt teamserver
    HTTP 200

    View Slide

  22. Komunikacja Beacon <->C2

    View Slide

  23. Komunikacja Beacon <->C2
    C2:
    zadanie
    Beacon:
    odpowiedź

    View Slide

  24. Detekcja Beaconingu - Jack Crook
    https://twitter.com/jackcr/status/992390807268352001

    View Slide

  25. Frequency - Analiza częstotliwości
    Przepis:
    ● Obliczamy odstępy między kolejnymi połączeniami
    HTTP,
    ● Obliczamy entropię (miarę losowości) wartości tych
    interwałów,
    ● Poziom detekcji powinien zniwelować “jitter”
    ● Zmodyfikowany skrypt securitykitten/bro_beacons.bro

    View Slide

  26. Frequency - Analiza częstotliwości
    W Cobaltstrike definiuje się wartość centralną seansów:
    sleep = 60s, jitter = 20% → [48s, 72s]
    mała entropia
    {1s, 60s, 1000s, 45s, 127s}
    duża entropia

    View Slide

  27. Analiza częstotliwości
    https://gist.github.com/securitykitten/a7edcee0932c556d5e26

    View Slide

  28. Podsumowanie
    • komunikacja C2 wprowadza anomalie odróżniające ją od
    komunikacji użytkowej
    • analiza narzędzi i technik atakującego przekuta w mądrą
    defensywę to:
    – większy koszt atakującego (brak aktualizacji skopiowanych
    certyfikatów)
    – długofalowa inwestycja (FakeTLS stosowany conajmniej od 2014)

    View Slide

  29. Dziękuję za uwagę
    Pytania?
    lub

    View Slide