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

F27a0efdfd8f851b01d95d84666d8638?s=47 secman
June 14, 2018

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

F27a0efdfd8f851b01d95d84666d8638?s=128

secman

June 14, 2018
Tweet

Transcript

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

    White Cat Security
  2. O czym? - Czym różni się fałszywy TLS od prawdziwego?

    - Co to jest beaconing? - Czy można wykryć komunikację C2 grup APT?
  3. O mnie? analizuję narzędzia i techniki atakujących techniki detekcji (

    TI ->SOC -> SIEM, TH ) MITRE ATT&CK wyniki
  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
  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
  6. FakeTLS - historia użycia

  7. FakeTLS a Kill Chain

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

  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
  10. FakeTLS w praktyce 2. Client Hello Client Hello SNI: www.wetransfer.com

    192.168.56.21 114.215.107.218
  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
  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
  13. FakeTLS w praktyce 3b. Server Hello / Certificate/ Server Hello

    Done Certificate prawdziwy, ale wygasły certyfikat https://www.censys.io
  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
  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
  16. FakeTLS - profil TLS 1.0 8 B 192.168.56.19 114.215.107.218 8

    B 24 B 8 B 4 B
  17. Profilowanie SSL - RE 24 B

  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
  19. Detekcja za pomocą Bro (Security Onion) video

  20. Bad CobaltStrike - FIN7 • beaconing - seanse łączności •

    Mellable C2 profile - elastyczność konfiguracji • C2 zewnętrzne: HTTP, HTTPS, DNS • C2 proxy: SMB
  21. Beacon <-> Cobalt Teamserver metadane - “heartbeat” HTTP GET Beacon

    Cobalt teamserver HTTP 200
  22. Komunikacja Beacon <->C2

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

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

  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
  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
  27. Analiza częstotliwości https://gist.github.com/securitykitten/a7edcee0932c556d5e26

  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)
  29. Dziękuję za uwagę Pytania? lub