Post on 16-Apr-2017
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!"