[Confidence 2016] Red Team - najlepszy przyjaciel Blue Teamu

Post on 16-Apr-2017

325 views 0 download

Transcript of [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

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

$ 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

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

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.

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.

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

Red Teaming vs PentestingKonfrontacja pojęć

RT ma sprawić by BT był silniejszy!

Purple Teaming?

Red Teamingvs security lifecycle…

Proces dbania o

bezpieczeństwo

w firmie

Operacje RT

TAKE A CHALLENGE

Wargames

Cyber Defence Exercises

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.

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

TAKE A CHALLENGE

Trochę technikaliów

RT – Modus Operandi

Kill chainNie do końca

Rekonesans

Omijanie AV/IDS

Omijanie White Listingu

Eskalacja uprawnień

Persystencja

Lateral Movements

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

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

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…)

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/

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();}

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

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

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

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)

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

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 )

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

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

Narzędziameterpreter

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

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

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

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

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

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

Tips & TricksPrzydatne informacje (3/3)

•DNS + SMTP•communication/info

sharing•Etherpad (

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

•file sharing

TAKE A CHALLENGE

RT vs BT

Przemyślenia i wnioski

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

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

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ą

RT vs BTRealizm?

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

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…

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.

PodsumowanieLinkownia

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

Q&A

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