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. 2.

    O czym? - Czym różni się fałszywy TLS od prawdziwego?

    - Co to jest beaconing? - Czy można wykryć komunikację C2 grup APT?
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 13.

    FakeTLS w praktyce 3b. Server Hello / Certificate/ Server Hello

    Done Certificate prawdziwy, ale wygasły certyfikat https://www.censys.io
  8. 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
  9. 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
  10. 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
  11. 20.

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

    Mellable C2 profile - elastyczność konfiguracji • C2 zewnętrzne: HTTP, HTTPS, DNS • C2 proxy: SMB
  12. 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
  13. 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
  14. 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)