44
Piotr Kaźmierczak (@n0clues) CDeX CTO, Red Team Leader piotr.kazmierczak [@] vectorsynergy _._ com Red Team - najlepszy przyjaciel Blue Teamu

[Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Embed Size (px)

Citation preview

Page 1: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Piotr Kaźmierczak (@n0clues)CDeX CTO, Red Team Leaderpiotr.kazmierczak [@] vectorsynergy _._ com

Red Team - najlepszy przyjaciel Blue Teamu

Page 2: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

AGENDA

Cyber Defence eXercisesRed Team – Modus Operandi

Narzędzia i TechnikiTips & Tricks

Red Teaming – wprowadzenie

Dirty Tricks

Red Team vs Blue TeamObiekcje względem Red Teamingu

Q & A

Page 3: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

$ whoamiPiotr Kaźmierczak (@n0clues)

• obecnie CDeX CTO i Red Team leader w firmie Vector Synergy

• tester penetracyjny, posiadacz OSCP i gracz CTF – DebugTeam

• wcześniej analityk bezpieczeństwa w SOC w IBM

• jeszcze wcześniej programista i student polityki Wrocławskiej

• prywatnie fan motocykli, entuzjasta sztuk walki (1-sze kyu w Karate Kyokushin, instruktor samoobrony), survivalu, militariów i astronomii

Page 4: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Red TeamingWprowadzenie w tematykę

• skąd pomysł na taką prezentację?

• trochę historii…

• pojęcia takie jak Blue Team/Red Team (zwany również Tiger Teamem) pochodzą z wargamingu i mają swoje początki w militariach

• Blue Team – zespół broniący

• Red Team (Tiger Team) – atakujący zespół technicznych specjalistów, których zadaniem jest bezlitosne wyśledzenie każdego możliwego źródła awarii w systemie

Page 5: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Blue TeamCharakterystyka

• zespół obrońców

• Hunting Team

• zadania BT:

• ochrona i utwardzanie systemów

• wykrywanie ataków

• reagowanie na incydenty

• wyszukiwanie symptomów włamań (hunting),

• przeprowadzanie śledztw po włamaniowych,

• zabezpieczanie systemów, logów, plików po włamaniu.

Page 6: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Red Teaming vs PentestingKonfrontacja pojęć

• Test penetracyjny• nastawiony na weryfikację bezpieczeństwa infrastruktury

IT poprzez analizę możliwych do wykorzystania podatności,• może być rozszerzony o elementy socjotechniczne,• często ograniczony do wybranych systemów albo aplikacji

(np. WWW),• kończy się najczęściej po uzyskaniu dostępu do systemów

z wykorzystaniem znalezionych podatności oraz ewentualnej eskalacji uprawnień,

• bardzo często przeprowadzany w ścisłej współpracy z działem IT klienta.

Page 7: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Red Teaming vs PentestingKonfrontacja pojęć

• Red Teaming• nastawiony na test umiejętności BT oraz procedur obsługi

incydentów,• ma za zadanie zwiększenie skuteczności i wydajności

operacyjnej BT,• można powiedzieć, że zaczyna się tam gdzie test

penetracyjny często się kończy,• działania RT przeprowadzane są bez wiedzy działu IT

atakowanej infrastruktury,• wszystkie chwyty dozwolone (z uwzględnieniem

odpowiednio ujętych reguł umownych) .

Page 8: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Red Teaming vs PentestingKonfrontacja pojęć

RT ma sprawić by BT był silniejszy!

Purple Teaming?

Page 9: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Red Teamingvs security lifecycle…

Proces dbania o

bezpieczeństwo

w firmie

Operacje RT

Page 10: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

TAKE A CHALLENGE

Wargames

Cyber Defence Exercises

Page 11: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Cyber Defence ExercisesCyber Wojna na sportowo

Najbardziej znane ćwiczenia tego typu:• Locked Shield – odbywają się raz do roku na Łotwie i nie są niedostępne dla sektora

prywatnego. W manewrach bierze udział wiele zespołów różnego typu (nie tylko RT i BT, a np. zespół prawny)

• NCCDC (National Collegiate Cyber Defense Competition) – zawody organizowane raz do roku w USA, skierowane do koledży. Pierwsze etapy to rozgrywki regionalne (RCCDC), którą kończą się finałem krajowym (NCCDC). Drużyny BT są 8-mio osobowe, na każdy zespół przypada dwóch RT.

Co wpływa na bardzo wysoką skuteczność tego typu szkoleń?• hands-on

• gamifikacja

• realizm (realne systemy, Gray Team)

• praca zespołowa.

Page 12: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

RT – Role w zespolePodział umiejętności i zakres obowiązków

•Dwie możliwości podziału RT:•RT przypisany do konkretnego BT,•RT podzielony na specjalizację.

•Podział RT na specjalizacje:•zespół zarządzający dostępami,•zespół post exploitacyjny,•zespół wykonujący ataki zdalne na infrastrukturę,•zespół odpowiedzialny za ataki na aplikacje webowe,•zespół przeprowadzający ataki typu client-side,•zespół wykonujący „zasłonę dymną”.

•Zadanie RT:•Zaplanowanie scenariuszy ataków,•Przygotowanie swojej infrastruktury (serwery C&C, serwery WWW,

maszyny pośrednie),•Przygotowanie informacji zwrotnej dla BT z przeprowadzonych działań.

Page 13: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

TAKE A CHALLENGE

Trochę technikaliów

RT – Modus Operandi

Page 14: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Kill chainNie do końca

Rekonesans

Omijanie AV/IDS

Omijanie White Listingu

Eskalacja uprawnień

Persystencja

Lateral Movements

Page 15: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

RekonesansSkanuj porty dopiero jeśli musisz

• tajemnice Active Directory…• SPN Scanning – skanowanie portów jest hałaśliwe i niepotrzebne• polowanie na użytkowników

• pasywny nasłuch tam gdzie to możliwe…• Windows – netsh

netsh trace start capture=yes overwrite=no tracefile=<FilePath.etl>

default: 250 MB, maxsize=<N>

• LLMNR, NBT-NS• Responder (https://github.com/SpiderLabs/Responder) –

tryb analizy

Page 16: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Techniki omijania zabezpieczeńMyśl jak BT…

TROJAN HTTP GET Request on port 53 - Very Likely Hostile

WEB_SERVER /bin/bash In URI, Possible Shell Command Execution Attempt Within Web Exploit

POLICY Possible HTA Application Download

WEB_SERVER Weevely PHP backdoor detected (shell_exec() function used)

SCAN Nikto Web App Scan in Progress

Page 17: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Techniki omijania zabezpieczeńOmijanie AV/IDS

•Rekonesans!•msfencode = przeszłość•pomocny soft:

•Veil–Evasion (https://www.veil-framework.com/framework/veil-evasion/)•Shellter (https://www.shellterproject.com/ )

•własny kod:•autorskie rozwiązania•własne implementacje szyfrowania•kod napisany w różnych językach (pyinstaller)•wspomagany różnego rodzaju technikami omijania AV

(spowalnianie uruchamiania, zwiększenie liczby operacji lub potrzebnej pamięci, etc…)

Page 18: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Techniki omijania zabezpieczeńOmijanie AV/IDS - Powershell

•BT: „ale my też go używamy… :/„•dostępny w każdej wspieranej wersji Windows

•NIE DA SIĘ GO WYŁĄCZYĆ•https://

gist.github.com/subTee/68749aa53d7ce0fb02e0a64b89615767

•restrykcje na wykonywania skryptów?

v 2.0 Windows 7 Windows 2008 R2

v 3.0 Windows 8 Windows 2012

v 4.0 Windows 8.1 Windows 2012 R2

v 5.0 Windows 10 Windows 2016

więcej np. na: https://blog.netspi.com/15-ways-to-bypass-the-powershell-execution-policy/

Page 19: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Techniki omijania zabezpieczeńOmijanie White Listingu

•regsvcs•https://github.com/subTee/Troopers2016/blob/master/regsvcs.cs

$key = 'BwIAAAAkAABSU0EyA…. ‚$Content = [System.Convert]::FromBase64String($key)Set-Content key.snk -Value $Content -Encoding ByteC:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /r:System.EnterpriseServices.dll /target:library /out:regsvcs.dll /keyfile:key.snk regsvcs.cs

C:\Windows\Microsoft.NET\Framework\v4.0.30319\regsvcs.exe regsvcs.dll

•https://github.com/subTee/ApplicationWhitelistBypassTechniques/blob/master/TheList.txt

[ComRegisterFunction] public static void RegisterClass ( string key ){

Console.WriteLine("I shouldn't really execute");

Shellcode.Exec();}

Page 20: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Eskalacja uprawnieńZostawmy jądro w spokoju

•poza tym jest EMET… •omijanie UAC to funkcjonalność, nie trik•inne możliwości eskalacji uprawnień:

•podatne usługi•błędne uprawnienia na pliki wykonywalne usług•ścieżki usług bez cudzysłowu•plik autostartu (np. te które już nie istnieją)•DLL Hijacking•GPP (groups.xml, \\<DOMAIN>\SYSVOL\<DOMAIN>\Policies\)•AlwaysInstallElevated•pliki/skrypty z hasłami

…znowu z pomocą przychodzi powershellPowerUp!

•LLMNR, NBT-NS poisoning•Responder•Inveigh•// zmień challenge

• Invoke-Mimikatz

https://msdn.microsoft.com/en-us/library/cc422924.aspx

Page 21: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

PersistanceNie daj się wykurzyć

•lokalnie•schtasks•sc•WMI•klucze SSH•użytkownicy•backdoorowanie linków

•domena•użytkownicy domenowi•GoldenTicket•SilverTicket

•inne•debuggers•backdoory webowe

Page 22: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Lateral Movementspsexec

• narzędzia:• Sysinternals PsExec: https://

technet.microsoft.com/en-us/sysinternals/bb897553.aspx• moduł metasploita: exploit/windows/smb/psexec• smbexec: https://github.com/pentestgeek/smbexec

• po uzyskaniu dostępu do zdalnej maszyny tworzy usługę

• hasło niepotrzebne• pass the hash• pass the ticket

CORAZ RZADZIEJ STOSOWANY - NIEZALECANY

Page 23: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Lateral MovementsWinRM

•Windows Remote Management

•usługa nie jest włączona domyślnie (TCP 5985)

•pozwala na zdalne zarządzanie maszynami z wykorzystaniem Powershella

•Powershell v5 (od Windows 10):• logowanie blokowanych skryptów • Anti malware scan interface (AMSI)

Page 24: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Lateral MovementsWMI

•istnieje w Windowsach od czasów Win98 i NT4•usługa włączona domyślnie na wszystkich systemach Windows•pozwala m.in. na:

•odczytywanie informacji z rejestru, systemu plików, etc.•wykonywać komendy•odczytywać i reagować na eventy

•podobnie jak powershell nie dotyka systemu plików•wykorzystuje istniejący, niepodejrzany protokół•może być wykorzystywany do rekonesansu, wykonywania poleceń, persystencji, komunikacji

C2 i przede wszystkim do lateral movements•BT często nie znają WMI od strony wektorów ataków•Przykładowe narzędzia:

•Windows: wmic.exe, winrm.exe•Linux: wmic, wmis, wmis-pth

•można go obsługiwać z poziomu języków skryptowych: VBScript, Jscript•oraz z wykorzystaniem modułów platformy .NET•wykorzystywany przez malware: stuxnet, ghost

Page 25: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

NarzędziaRAT

Pożądane cechy:• mechanizm dostarczenia implantu• komunikacja low/slow, różne protokoły• szyfrowany kanał komunikacji• kontrola persystencji• mechanizm logowania• możliwość identyfikacji• usuwanie.

Komercyjne• CobaltStrike• Innuendo• CoreImpact

Open-Source• Empire• meterpreter• Throwback• Pupy (https://github.com/n1nj4sec/pupy )

Page 26: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

NarzędziaEmpire Powershell (1/2)

• łączy w sobie moc narzędzi wykorzystywanych do post-exploitacji opartych o Powershell takich jak powertools, powerup, powerview, itp.

• integruje się z metasploitem• różnego rodzaju stagery:

• makra• dll• war• USB Rubber Ducky

• komunikacja po http/https• duże możliwości konfiguracji agentów

• DefaultDelay• WorkingHours• DefaultJitter• DefaultProfile• KillDate

Page 27: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

NarzędziaEmpire Powershell (2/2)

• od niedawna RESTful server• Integracja z WebGUI• Integracja z BEEF• Multiplayer console• Powerempire

• wiele modułów• Rekonesans domeny• persystencja• lateral movements• management• eskalacja uprawnień• trolling

Page 28: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Narzędziameterpreter

• Powershell Extension• Python Extension• Reverse Port Forwards• TLV Traffic Obfuscation

Page 29: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

NarzędziaThrowback

• HTTP(s) beaconing backdoor• Dwa komponenty

• Throwback (https://github.com/silentbreaksec/Throwback) • ThrowbackLP (https://github.com/silentbreaksec/ThrowbackLP

)• stringi w źródle (w tym adresy) są hex-encodowane• Integracja z meterpreterem

Page 30: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Narzędzianetcatokształtne

• ncat (brat netcata)• white/black listing hostów• SSL

• dnscat• Musimy edytować źródło w przeciwnym razie wszystkie

subdomeny będą prefixowane „dnscat”• shell• przesyłanie plików

• powercat• https://github.com/besimorhino/powercat - pozwala na

łączenie się zarówno po TCP jak i UDP, ale też DNS (integracja z dnscat serverem)

• https://github.com/secabstraction/PowerCat - ma możliwość komunikowania się po nazywanych pipe’ach SMB

Page 31: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Dirty TricksUtrudnijmy sobie życie• zmiana timestamp plików

• touch –d „data” plik• touch –r plik_wzorzec plik• meterpreter: timestomp plik –m „data”

• nieusuwalne pliki• chattr +i plik

• podmiana poleceń/aliasy ];->• czyszczenie logów

• find /var/log -name "*log*" -type f | xargs -v• find /var/log -name "*gz*" -type f | xargs -v

• ruch wychodzący ograniczony? Zeskanuj swoją maszynę nadsłuchując połączenia przychodzące.• TCP: nc -nvw 1 -z 10.114.1.83 20-100• UDP: nc -nvuw 1 -z 10.114.1.83 20-100

• stawiasz backdoora? Pamiętaj o HA

Page 32: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Tips & TricksPrzydatne informacje (1/3)

•automatyzuj swoją pracę•wiele adresów IP:

# ifconfig eth0:1 10.10.15.120

•metasploit – LHOST•Empire – HOST [od nowej wersji] •nc i ncat [-l LHOST] or [-s addr]•nmap [-e <iface>]•curl [--interface INTERFACE]•ping [-I interface]

•dla wszystkich pozostałych komend: # route add -host 10.15.40.101 dev eth0:1

Page 33: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Tips & TricksPrzydatne informacje (2/3)

•opcje zaawansowane nie są opcjonalne!

•metasploit i meterpreter $ SHOW ADVANCED

•profilowanie Empire Powershella

•DefaultProfile•CertPath

Name: ET ATTACK_RESPONSE Metasploit Meterpreter Reverse HTTPS certificate Priority: 1Type: A Network Trojan was detectedIP Info: 10.128.0.67 -> 192.168.11.16

Page 34: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Tips & TricksPrzydatne informacje (3/3)

•DNS + SMTP•communication/info

sharing•Etherpad (

http://etherpad.org/)•Dradis•google docs (?)

•file sharing

Page 35: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

TAKE A CHALLENGE

RT vs BT

Przemyślenia i wnioski

Page 36: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

RT vs BTJak powinna wyglądać współpraca

Złe Podejście – nie prowadzi do wzajemnego zwiększania swoich umiejętności, poznania nowych technik i technologii.

- ominięcie zabezpieczeń BT = sukces

- w przeciwnym razie porażka

- raportowanie do BT tylko akcji zakończonych sukcesem

- zablokowanie akcji RT = sukces

- w przeciwnym przypadku porażka

- brak detekcji akcji RT = porażka

Page 37: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

RT vs BTJak powinna wyglądać współpraca

Dobre Podejście – prowadzi do zwiększenia własnych umiejętności, poznania nowych technik, ugruntowania wiedzy, dokładne zrozumienie wykorzystywanych technologii.

+ testowanie nowych technik – jakich? Jakie IOC?

+ jeśli udało się ominąć zabezpieczenie, jak?

+ wypracowanie nowych technik wykrywania ataków

+ ulepszenie technik huntingu, monitoringu

+ aktualizacja procedur obsługi incydentów

Page 38: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

RT vs BTRealizm?• rekonfiguracje w trakcie treningu – otwarcie portów,

zresetowanie danych uwierzytelniających, • zablokowanie usług• inne…

Największe cyber-zagrożenie znajduje się pomiędzy monitorem a klawiaturą

Page 39: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

RT vs BTRealizm?

× wielkość infrastruktury w firmach× liczba pracowników× 24/7/365skala treningu

Page 40: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

PodsumowanieObiekcje względem Red Teamingu

#1 - Jestem atakowany każdego dnia, nie potrzebuję Red Teamu#2 – Fajnie to brzmi, ale obawiam się, że mi zdestabilizujecie sieć #3 – RT zawsze wygrywa…

Page 41: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

PodsumowanieKilka zdań na koniec

• Red Teaming to nie test penetracyjny. Red teaming testuje umiejętności i procedury.• Red Team ma sprawić by BT był silniejszy!• Customizujmy istniejące narzędzia, rozwijajmy nowe techniki.• Zawsze miej plan awaryjny, jeśli jedna technika zawodzi, spróbuj

czegoś innego.

Page 42: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

PodsumowanieLinkownia

•https://adsecurity.org•http://blog.harmj0y.net/ •https://blog.cobaltstrike.com/

Page 43: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Q&A

Page 44: [Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

n0clues@cdex:~# env x='() { :;}; echo Happy Hunting!' bash -c "echo Thank you!"