DNStapir – Robust DNS

Jag tog ett snack under sommaren Olle E Johansson som är en av initiativtagarna bakom projektet DNSTapir. Olle berättar mer om projektet:

Fokus vad gäller DNS har varit mycket på hur man kan skydda sina frågor från insyn och hur vi kan lita på svaren. Vi såg att det finns mycket information i loggarna från DNS resolvers, dom som förmedlar svar, som är värd att analysera. Det görs idag, men i många fall av utländska aktörer som förser oss med gratis resolvertjänster. Vi vill se till att loggarna anonymiseras och att vi kan analysera data och se vad som händer, inte minst ur cybersäkerhetssynpunkt.

Med stöd av Sunet/Vetenskapsrådet bildade vi projektet Robust DNS som nu fått projektmedel av Post- och Telestyrelsen. Organisation: Vi är nu i en uppstartsfas av ett utvecklingsprojekt och ett Open Source-projekt. All utveckling kommer att ske öppet i vårt projekt ”DNStapir” på Github. Dagens gäng är initiativtagarna – däribland Lars Johan Liman på Netnod, Johan Stenstam på Internetstiftelsen, Jakob Schlyter på Kirei och Mikael Kullberg på Cat Herd. Leif Johansson på Sunet satte oss i samma rum och har fått igång projektet.

DNSTapir Robust DNS

Vi har också resurser från Sunet i projektet och kommer att utvidga vårt nätverk och bygga en långsiktig organisation. Jag har en sammahållande funktion i det hela.  Partners bakom projektet är idag PTS, Sunet/Vetenskapsrådet, Netnod och Internetstiftelsen. Vi kommer att söka samarbete med fler organisationer, både i näringslivet och i offentlig sektor. Framtidsplaner: Vi jobbar nu med steg 1: Utveckling av arkitektur och programvara.

Samtidigt planerar vi för kommande steg som innebär att bygga för drift och ge oss en stabil grund för vidare utveckling. Idéerna sprudlar och vi har många roliga diskussioner i arbetsgruppen. Målet är att vi ska bygga en plattform som olika operatörer – såväl privata som i offentlig sektor – har förtroende för. För att lyckas krävs ett samarbete, inte minst med Sveriges internetoperatörer. Vad gäller DNS generellt så är jag nog inte rätt person att svara, men har ju expertisen i projektet. Det pågår ju mycket arbete i IETF för att öka privacy i DNS och stärka infrastrukturen. Ett problem jag ser är ju att DNSSec inte har acceptans i alla kretsar och i viss mån motarbetas.

Personligen är jag ju intresserad av att förankra klient- och server-certifikat i DNS, vilket förutsätter DNSsec. Jag är med i arbetsgruppen DANCE som jobbar med klient-cert. Den lösningen handlar mer om TLS och applikationer än själva DNS, men förutsätter DNSsec.

Kontaktuppgifter: Om man har frågor får man gärna kontakta mig direkt. Som sagt, vi bygger upp en organisation inklusive web sajt och kommer att synas mer under hösten. Projektet DNStapir finns redan på GitHub och där kommer det löpande komma mer kod och ges möjlighet att medverka.

BloodHound CE ”Six Degrees of Domain Admin”

Bloodhound Community Edition

Säkerhetsverktyget Bloodhound finns nu ute i en ny utgåva vid namn BloodHound Community Edition (CE). BloodHound skapades 2016 av Rohan Vazarkar, Will Schroeder och Andy Robbins. Den har laddats ner närmare 500 000 gånger och har över 12 000 användare i BloodHound Community Slack. BloodHound har rekommenderats av US Cybersecurity, Infrastructure Security Agency (CISA) och av Microsoft för att hjälpa till att säkra Microsoft Active Directory och Azure AD.

BloodHound CE är den nya och fria, öppna versionen av BloodHound och som alltid kommer alltid att vara gratis under en Apache 2.0-licens. Den delar nu kodbas och dokumentation med BloodHound Enterprise (BHE), vilket innebär konsekventa och högkvalitativa uppdateringar. Från bl.a. SpecterOps som står bakom utvecklingen till stor del.

Nya funktioner och förbättringar

  • Ny arkitektur: BloodHound CE har en arkitektur med flera front-end och back-end komponenter, inklusive Postgres och Neo4J databaser, ett nytt REST API och en helt ny frontend-webbapplikation
  • Förenklad implementering: Alla komponenter presenteras nu i en helt containeriserad modell, vilket gör det enklare att köra BloodHound CE (se nedan)
  • Nytt GUI: Det nya gränssnittet är helt ombyggt och använder design och komponenter från BloodHound Enterprise, med diverse förbättringar
  • Säkerhet och autentisering: Nya funktioner inkluderar Cypher-inmatning, cachade frågeresultat och möjligheten att hantera användare och autentisering

Introduktion av BloodHound API

BloodHound API är en autentiserad REST API som accepterar och returnerar JSON-formaterad data. Det öppnar spännande möjligheter för att fråga BloodHound och få tillförlitlig, välformaterad data som kan användas som indata för andra verktyg.

Vad är nästa steg?

Denna första release av BloodHound CE är ett tidigt tillgänglighetsbygge. Applikationen är fullt funktionell och stabil, men det finns några kända buggar som arbetas med. Feedback är mycket välkommen, och du kan gå med i BloodHound Slack eller rapportera problem på BloodHound GitHub-repo.

Denna release markerar en helt ny era för BloodHound CE, med en helt ombyggd applikation som delar en gemensam kodbas med BHE. Detta innebär snabbare och enklare uppdateringar och community-bidrag i framtiden.

Ladda hem och testa nya BloodHound CE

Teamet tillhandahåller en docker-compose YAML-fil som enkelt kan laddas hem och startas. Ungefär något liknande bör fungera väl:

$ mkdir bloodhound-ce && cd bloodhound-ce
$ wget https://raw.githubusercontent.com/SpecterOps/BloodHound/main/examples/docker-compose/docker-compose.yml
$ docker compose up

Sen väntar du ett stund och läser texten som visas på skärmen när du kör docker compose up, där står lite intressant information som är viktig att ta del av. Bl.a. så står lösenordet till webbgränssnittet som du kan behöva. Exempelvis:

Bloodhound docker compose password

Du loggar sedan in mot localhost:8080 med din webbläsare och användarnamnet admin med lösenordet som visades upp.

Bloodhound Community Edition login

Om du inte har en demo-miljö eller liknande och vill testa lite så finns det ett github-repo med test-data som du kan importera till Bloodhound (kolla även BadBlood):

Viktigt att poängtera är att det inte finns något enkelt sätt i GUI:t att ladda upp JSON/ZIP-filer, som det fanns i tidigare versioner av Bloodhound. Det sättet jag gjorde var att använda python-programmet bloodhound import från Fox IT, installeras genom följande kommando:

pip install bloodhound_import

Sedan kan man köra:

for a in *.json; do bloodhound-import -p 7687 -dp bloodhoundcommunityedition -du neo4j $a; done

Observera att detta kräver att du exponerar port 7687 från Neo4j-containern. Det gör du enklast genom att modifiera docker-compose.yml. Viktigt att poängtera att lösenordet ovan som är bloodhoundcommunityedition bör ändras.

Nu bör demo-datat vara importerat och du kan använda API:et eller webb GUI:t. För mer information om REST API:et se apiclient.py samt följande supportsida hur du skapar upp API-nycklar.

Hur du enklast identifierar brister och tar över ett Windows AD är utanför denna guide.

Evilginx version 3.2 ute nu

Evilginx version 3.2

Nu finns det en ny version av phishing-ramverket Evilginx. Evilginx är utvecklat av Kuba Gretzky och var det första ramverket som var öppet och hade möjlighet att kringgå multifaktorsautentisering genom att utföra man-i-mitten-attacker (MITM). Jag kan även rekommendera denna artikel då jag testar ett annat liknande verktyg.

Nyheter i version 3.2

Den första och största nyheten har och göra med hur redirect_url fungerar. När väl en sessionstoken har spelats in vid en phishing-sida så har det tidigare varit svårt att göra ompekningar när sidorna har varit SPA:er (Single Page Applications). Men genom att injicera ett javascript i webbsidan som MITM:as så går det nu att göra en redirect enklare.

När en ny phishing-kampanj skickas ut via E-post så brukar de första som besöker phishing-sidorna vara automatiserade scanners som automatiskt försöker lista ut om länken i ett E-post är en phishing-sida. Genom att nu använda följande konfigurations-direktiv så är det möjligt att pausa phishing-sidan temporärt och således försvåra för dessas automatiserade scanningar och säkerhetsprodukter:

lures pause <id> <time_duration>

Det går nu att finjustera proxy-anropen som går via Evilginx och returnera egna fel-koder eller svar på HTTP-förfrågningar. Exempelvis:

intercept:
  - {domain: 'www.linkedin.com', path: '^\/report_error$', http_status: 200, body: '{"error":0}'', mime: "application/json"}
  - {domain: 'app.linkedin.com', path: '^\/api\/v1\/log\/.*', http_status: 404}

Det finns många andra nyheter och buggfixar i Evilginx, se följande inlägg för alla nyheter.

Skydd mot MITM/proxy phishing-attacker

Kuba som utvecklar Evilginx höll ett föredrag på konferensen x33fcon om hur man kan skydda sig mot denna typ av phishing-attacker där angriparen gör MITM/proxy-attacker för att stjäla sessions-cookies.

Föreläsningen hittar du inbäddad här:

Fortinet SSL-VPN sårbarheter

Flertalet sårbarheter har identifierats i FortiOS som är operativsystemet som bl.a används för Fortinet SSL-VPN och FortiProxy. Flera av dessa sårbarheter utnyttjas även aktivt på internet och är således viktiga att åtgärda snarast.

Volt Typhoon Campaign är namnet på en pågående operation där antagonister utnyttjar sårbarheten CVE-2022-40684 som ej listas nedan, och som CVE:n antyder så är det en äldre sårbarhet från 2022. Microsoft har även en bra write-up gällande Volt Typhoon här.

Det är inte första gången som allvarliga sårbarheter uppdagats i Fortinets produkter, var inte så länge sedan som jag bloggade om denna sårbarhet.

Lista med nya sårbarheter i FortiOS:

Incident ID NVD CVEProductSeverityDescription
FG-IR-23-097CVE-2023-27997FortiOS9.2 (Critical)Heap buffer overflow in SSL-VPN pre-authentication
FG-IR-23-111CVE-2023-29180FortiOS7.3 (High)Null pointer de-reference in SSLVPNd
FG-IR-22-475CVE-2023-22640FortiOS7.1 (High)FortiOS – Out-of-bound-write in SSLVPNd
FG-IR-23-119CVE-2023-29181FortiOS8.3 (High)Format String Bug in Fclicense daemon
FG-IR-23-125CVE-2023-29179FortiOS6.4 (Medium)Null pointer de-reference in SSLVPNd proxy endpoint
FG-IR-22-479CVE-2023-22641FortiOS4.1 (Medium)Open redirect in SSLVPNd

Rekommenderad åtgärd från Fortiguard är att uppgradera till senaste FortiOS samt genomföra härdning av sina enheter, se till att inte använda enheter som är End-of-life.

Barracuda varnar för ny zero-day

Barracuda Networks

Företaget Barracuda går ut och varnar för en sårbarhet som aktivt utnyttjas. Sårbarheten återfinnes i dess produkt Email Security Gateway (ESG).

Sårbarheten har CVE-2023-2868 klassificeras som en Remote Code Injection-sårbarhet som finns i versionerna 5.1.3.001 till 9.2.0.006.

Företaget har 200000 kunder globalt men det är oklart i dagsläget hur många av dessa kunder som har sårbara enheter exponerade mot internet. Amerikanska CISA har lagt till sårbarheten till sin katalog med sårbarheter som aktivt utnyttjas ”Known Exploited Vulnerabilities Catalog”.

Sårbarheten har och göra med hur .tar-filer hanteras med perls qx-funktion.

Mer information finns på Barracudas status-sida.

Ny lokal sårbarhet i Linux Netfilter

Netfilter

Netfilter är generellt den del i Linux-kerneln som handhar brandväggsfunktionalitet. Sårbarheten är av typen heap out of bounds write och medger att lokala användare kan eskalera sina behörigheter till root (administratör). Sårbarheten har fått CVE-2023-32233 reserverat och identifierades av Patryk Sondej samt Piotr Krysiuk

Denna sårbarhet är framförallt extra allvarlig för att den går att använda för så kallade ”container escape” attacker där det går att bryta sig ur en container-baserad miljö. Sårbarheten gäller samtliga nuvarande Linux-kernelversioner inklusive version 6.3.1. Oklart i dagsläget huruvida Android är sårbart för denna säkerhetsbrist.

Sårbarhet för att utnyttja denna kod har av misstag publicerats via en E-postlista. Observera också att även om kernelmodulen nf_tables som är sårbar, ej är laddad så tillåter många Linux-distros att automatiskt ladda in kernel-moduler som en vanlig användare.

Många brister blir det

Det har uppdagats en hel del intressanta brister på senare tid så jag tänkte försöka skriva en kortare sammanställning på vad som kan vara bra att hålla koll på:

CVE-2023-23415 – Vilket är en sårbarhet i Windows som gör att en lyssnare på en RAW-socket kan troligtvis utföra RCE via ett ICMP-paket. Exempelvis på mjukvara som nyttjar RAW-sockets i Windows är Wireshark. Mer info här.

CVE-2023-24033 – Sårbarheter i Samsungs Exynos basbandsmodem. Möjliggör att en angripare kan få fotfäste i flertalet Google Pixel-telefoner såsom Pixel 6 och 7 samt flertalet Samsungmodeller. Voice-over-LTE (VoLTE) eller WiFi-samtal kan slås av för att mitigera sårbarheterna temporärt. Project Zero hos Google har skrivit här.

CVE-2023-21036 (acropalypse) – När crop-funktionen används i Android så tas inte den croppade delen bort. Det går att återskapa delar eller delen av bilden som har beskurits bort. Men observera att flertalet tjänster såsom Signal gör en konvertering av filen innan, således försvinner metadata. Intressant root-cause.

CVE-2023-23397 – Elevation-of-privilege i Outlook, utnyttjas aktivt just nu. Attacken upptäckes av CERT-UA, läs mer här. ”This attack vector, which leads to NTLM harvesting,”

Kali Purple från OffSec

Kali Purple

Förutom att Offensive Security numera går under namnet OffSec så har företaget även släppt en ny version av Kali Linux som heter Kali Purple.

Som det nya namnet lite avslöjar så handlar det om en Linux-distribution som är anpassad för Purple-Teaming eller Blue-Teaming, dvs mer defensiv cybersäkerhet än offensiv som Kali Linux är mest känt för.

Och givetvis så är Kali Purple proppad med över 100 st olika verktyg, och för att nämna några:

  • Arkime full packet capture (tidigare Moloch)
  • Cyberchef
  • Elasticsearch SIEM
  • GVM vulnerability scanner
  • TheHive incident response platform
  • Malcolm
  • Suricata IDS
  • Zeek IDS

Även så följer alla andra verktyg som vi är bekanta med från Kali Linux med också.

Menystrukturen följer NIST CSF:

  1. Identify
  2. Protect
  3. Detect
  4. Respond
  5. Recover

Med följer även Kali Autopilot som låter dig bygga olika attackscenarion samt en community Wiki som låter dig läsa på om olika defensiva verktyg och hur du använder dessa.

Skärmdumpar

Kali Autopilot

Kali Autopilot

SOC-in-a-box

Kali Purple Soc in a box

Efter LOLBAS kommer LOLAPPS

LOLBAS som står för Living Off The Land Binaries, Scripts and Libraries är ett projekt som funnits i många år nu. Projektet LOLBAS går ut på att lista ”dual use” binärer, script och bibliotek som gör att en angripare som vill försvåra upptäckt eller inte har verktyg installerade på en hackad enhet kan använda sig av sådant som redan är befintligt installerade (tidigare hette projektet LOLBIN). För Unix-system så finns även projektet GTFOBins.

För några veckor sedan så släpptes projektet LOLAPPS som är snarlikt men istället listar mjukvaror eller ”appar” som också går att använda för illasinnade funktioner såsom att ladda ner- eller exekvera kod.

Initiativtagare bakom LOLAPPS är John Jackson aka ”Mr Hacking”.

Redan nu finns det ett antal mjukvaror listade såsom:

LOLAPPS hittar du här:

Och Github-sidan med templates för den som vill bidra kan hittas här:

OpenSSH Pre-Auth Double Free

OpenSSH

En ny sårbarhet har uppdagats i OpenSSH. Denna sårbarhet återfinnes innan autentisering (pre-auth) och beror på att allokerat minne frigörs dubbelt. Sårbarheten har CVE-2023-25136 och den version som av OpenSSH som åtgärdar sårbarheten släpptes 2:a Februari 2023, version 9.2.

Det är i dagsläget möjligt att genomföra en DoS (krasha opensshd) men oklart om det skulle vara möjligt att göra något mer såsom RCE (Remote Code Execution). Dock så använder opensshd Privilege Separation på många plattformar samt sandboxning (pledge, chroot osv). Proof-of-concept kod är släppt för att utför DoS av opensshd version < 9.2.

Eftersom OpenSSH är så otroligt populärt så kommer troligtvis en hel del resurser läggas på att försöka utnyttja denna sårbarhet.

OpenSSH 9.2 release notes.