RPKI för säkrare routing

RPKI står för Resource Public Key Infrastructure och är en metod för att kryptografiskt signera BGP-annonseringar.

RPKI

BGP är det protokoll som används för routrar att berätta vilka IP-adresser (prefixes) som finns hos en viss operatör. Det är därför viktigt att ingen kan falskt annonsera ut någon annans nät. Standard så fungerar BGP så att vem som helst kan annonsera ut vilket nät som helst. BGP är en viktig del i internets infrastruktur.

Exempelvis kan mail kapas och TLS-certifikat utfärdas om routes felaktigt tar en annan väg på internet. Krypterad trafik kan spelas in och försöka knäckas direkt eller på längre sikt.

Några uppmärksammade BGP-kapningar:

RPKI finns beskrivet i RFC6480 med titeln An Infrastructure to Support Secure Internet Routing. RPKI är också en del av det globala initiativet MANRS, Mutually Agreed Norms for Routing Security som bl.a. Internet Society (ISOC) ligger bakom.

Netnod som sköter flertalet knutpunkter i Norden kommer att stödja RKPI i sin route-server under H1 2019 meddelar Netnod i följande blogginlägg.

OpenBSD rpki-client

För att gå in på mer tekniska detaljer så används ROA-records för den som vill annonsera kryptografiskt verifierbara prefixes. Sedan kan dessa ROA-records verifieras med mjukvara såsom RIPE NCC’s RPKI Validator, NLNetLab’s Routinator 3000 eller OpenBSD:s rpki-client.

Nyligen så släpptes även verktyget BGPalerter av NTT ”Software to monitor streams of BGP data. Pre-configured for announcements, withdrawals, and hijacks real-time monitoring.”

Läs mer här om BGPalerter: https://mailman.nanog.org/pipermail/nanog/2019-August/102672.html

Anti-virus i din TV?

Det kanske låter som ett skämt om att köra antivirus-mjukvara på sin TV men när man tänker efter så är det inte helt osannolikt att skadlig kod kan infektera din TV-apparat. Att infektera TV-apparater är nämligen något som bl.a. CIA pysslar med enligt Vault7-läckan (Weeping Angel).

Det som är nytt nu är att Samsung skrev på Twitter att om din Smart TV från dem är ansluten till WiFi så kommer din TV nu att automatiskt genomsöka efter skadlig kod varje vecka:

https://twitter.com/SamsungSupport/status/1140409768743452672

Nedan följer en skärmdump på hur det ser ut när man manuellt genomsöker efter virus (från videon ovan)

Frågan som kvarstår dock är om detta är enligt ett tidigare annonserat partnerskap mellan Samsung och McAfee om att köra MacAfees antivirus på Tizen OS.

20 års erfarenhet inom itsäk-granskningar

20 års erfarenhet inom säk-granskningar

Jag tänkte försöka sammanställa några kloksaker om sådant som jag lärt mig efter nästan 20 års erfarenhet av tekniska cybersäkerhetsgranskningar från min tid inom bl.a. FRA, Försvarsmakten och nu som egenföretagare.

Desto äldre jag blir desto mer tid lägger jag på att reflektera och dra slutsatser på ett övergripande och bredare plan.

Det låter eventuellt inte som viktigt men att försöka uppskatta och prioritera den tid du fått avsatt för uppdraget är viktigt. Att inte lägga för mycket tid på sådant som kan leda in i en återvändsgränd.

Beräkna tid

Låt verktygen arbeta för dig och automatisera så mycket du bara kan och på så sätt kan du lägga fokus på sådant som kräver manuellt arbete, såsom att förstå en bakomliggande logik i ett system eller mjukvara.

Lita dock inte enbart på automatiserade verktyg utan verifiera och dubbelkolla alltid resultatet.

Kommunikation

Att upprätta en bra leverabel såsom dokumentation (rapport) och ha förmåga att kommunicera denna leverabel till din uppdragsvidare är av stor vikt för framgång. Du kanske är jätteduktig teknisk men när uppdragsgivaren väl får din leverabel två veckor för sent så minskar värdet av din leverabel.

Vet du att du är mindre bra på att kommunicera och dokumentera men duktig på teknik se då till att ditt team innehåller en eller flera personer som kan kommunicera eller dokumentera.

Stödfunktioner och processer

Att ha bra processer och rutiner samt stödfunktioner som hjälper dig och höjer dig i ditt arbete så du kan leverera enligt din optimala förmåga är viktigt. Det kan röra sig om att du slipper gå på tråkiga möten där du kanske inte har något att göra eller minimera tidsrapportering. Eller att själv slippa installera om operativsystem, drivrutiner eller liknande.

Du kan i ditt arbete luta dig tillbaka till en bra grund när det gäller hur uppdrag kommer in, fördelas, prioriteras och sedan levereras. Samt efter avslutat uppdrag hur avdukning går till.

Tillgång till Internet kanske inte finns eller bör användas, därför måste du eller dina kollegor redan innan tänka till vad som kan behövas för offline-bruk. Jag brukar se till att ha många opensource-repon, indexerade digitala böcker (många förlag kan du köpa bulk billigt) samt deb-paket tillgängliga snabbt.

Här hittar du bristerna

Min erfarenhet säger mig att säkerhetsbristerna hittar du oftast på de ställen som:

  • Odokumenterade funktioner/gränssnitt/API:er
  • Ny eller gammal kod. Sök efter kod som hanterar gamla filformat eller protokoll exempelvis
  • Kod som parsar text eller andra komplexa funktioner
  • Funktioner som kan användas på andra sätt än vad utvecklaren hade tänkt på
  • Felaktig eller bristfällig separation mellan behörigheter eller användare
  • Ändringar mot grundsystemet. De flesta operativsystem nuförtiden är relativt säkra i sitt grundutförande, sök efter ändringar som genomförts.
  • Ställen där du kan nå långt in i systemet eller koden med extern indata

Finns givetvis en uppsjö till med saker där jag tittar, kanske kommer eventuellt i en bok framöver.

Spårbarhet

Att dokumentera dina findings under ditt uppdrag är av stor vikt. Speciellt eftersom att du troligtvis kan hitta ett eller annat guldkorn när du granskar exempelvis alla http-svar från webbservern eller all nätverkstrafik som du sparat undan i pcap-format.

Den efterföljande dokumentationen blir också otroligt mycket lättare om du sparat undan så mycket som möjligt. Även kan skärmdumpar eller liknande också vara bra som ett komplement till din löpande textdokumentation (krigsdagbok) eller rådata.

Glöm inte heller att du måste ha en process för att på ett säkert sätt radera all information efter avslutat uppdrag om så behövs, en del av Er OPSEC.

Tänk alltid ett steg längre

Du kanske är snabb på att skjuta iväg en ny exploit från Metasploit mot en sårbar server eller klient. Men tänk efter innan vad detta kan få för konsekvenser i ett andra eller tredje steg och ni behöver göra ett omfall.

Det kan vara så att säkerhetsövervakningen (SOC) upptäcker att ni håller på att genomföra en Red Teaming operation och då kanske ni behöver byta ip-adress, mac-adress eller liknande. Och då är det viktigt att redan innan veta hur detta går till.

Övrigt

Jag försöker även alltid ha möjlighet att göra saker på minst två olika sätt, det gör att jag kan verifiera och dubbelkolla vissa saker samt om ett verktyg eller metod skulle misslyckas kan jag alltid göra på något annat sätt. Öva är även viktigt så du och ditt team eller dina verktyg och metoder fungerar när det väl är skarp verksamhet eller ett uppdrag.

Se även till att du snabbt och enkelt kan sätta upp en miljö som efterliknar målsystemet eller den mjukvara som du granskar. Det gör att du kan hitta mer brister och inte behöver skicka alla dina tester över nätverket eller liknande.

Avslutande ord

Hoppas att detta kan leda till att du, din verksamhet eller ditt team kan bli bättre på just det ni gör inom cybersäkerhet. För jag tycker det är viktigt att vi delar med oss av våra lärdomar och kloksaker till varandra och på så sätt bygger vi säkrare infrastruktur, system och mjukvaror.

Se även till att utbilda din uppdragsgivare så denne blir en bra beställare, och hjälp till med krav och förväntningar samt förutsättningar.

Ny version av Windows Sysinternals Sysmon

Uppdatering: Nya versionen har nu släppts och event ID 22 representerar DNS-frågor:

Event ID 22: DNSEvent (DNS query)

This event generates when a process executes a DNS query, whether the result is successful or fails, cached or not.

is event generates when a process executes a DNS query, whether the result is successful or fails, cached or not.

Även så framgår följande uppdateringar i v10:

This release of Sysmon adds DNS query logging, reports OriginalFileName in process create and load image events, adds ImageName to named pipe events, logs pico process creates and terminates, and fixes several bugs.

Mark Russinovich som tillvardags är CTO på Microsoft Azure meddelade på Twitter att det kommer en ny version av System Monitor (Sysmon) idag Tisdag.

Denna nya version stödjer bl.a. DNS-loggning direkt till eventloggen i Windows. Både förfrågningar och svar loggas till eventloggen som DnsQuery.

När jag skriver detta under tisdagen har dock ännu inte den nya versionen av Sysmon släppts.

Skärmdump:

Ovan skärmdump visar att QueryResults returnerar 5 vilket är CNAME. Att logga svaren på detta sätt är bra vid SOC/SIEM och Threat Hunting eftersom svaren kan ändras med tiden och på detta sätt så får vi en ögonblicksbild hur frågan och svaret såg ut vid just detta tillfälle.

Här kan du ladda hem Sysmon: docs.microsoft.com/en-us/sysinternals/downloads/sysmon

IBM:s mobila cybercentral C-TOC

Föregående vecka fick jag en inbjudan att se IBM:s nya koncept vid namn C-TOC. Förkortningen står för Command Cyber Tactical Operations Center och kan liknas med en mobil cybercentral.

Med denna mobila central så kan grupper öva inför olika cyber-relaterade krisscenarion eller snabbt sätta ihop en grupp som arbetar med en verklig incident.

Under ledning av IBM:s representant Alexandra Kroon så genomförde vi ett övningsscenario som gick ut på att testa påfrestningen för en grupp som utsätts för en cyberattack på flera plan samtidigt.

BOOM på tidslinjen ovan är när incidenten utspelar sig. Bild: Kryptera.se

Fordonet har även bra med datorkapacitet samt möjlighet till flertalet uppkopplingar samt elgenerator för reservkraft.

Bild: IBM

Och att IBM har inspirerat av militära fordon råder det ingen tvekan om. Här nedan är en bild på FMV:s mobila ledningssystem som följer samma princip med mobila expanderbara utrymmen:

Bild: FMV

Jag är en stor förespråkare av att civila sektorn bör öva mer och har mycket att lära från det militära på det området. Vilket jag framhöll bl.a. på mitt inledningstal på Skyddsmässan.

Ytterligare ett exempel är den internationella NATO-övningen Locked Shields 2019 där Sverige hamnade på tredje plats.

En färsk global studie visar att 77 % av de svarande inte har en krisplan för cybersäkerhetsintrång och av de som har det är det mer än hälften som inte testar eller tränar inför en attack.

Att vara förberedd på en incident behöver inte kosta massor av tid eller pengar utan till att börja med gäller det att ha processer på plats vid olika typer av händelser. Sen är det givetvis bra att testa dessa processer under mer stressade och obekväma former eller när förmågan att kommunicera är begränsad.

Några grundläggande frågeställningar:

  • Vem ringer jag när X inträffar?
  • Vad svarar jag när media ringer?
  • Hur kontaktar jag X om mobiltelefonin eller E-posten inte fungerar?
  • Kan vi, och hur kan vi återställa funktion på system X?

När många saker inträffar samtidigt kan det även vara bra att föra en krigsdagbok över vem som ringde när och vad som uppgavs. Även måste organisationen vara förberedd på en utdragen incident som kan vara flera dygn eller veckor.

Ny version av John the Ripper

John the Ripper

Det var över 4 år sedan en ny version av programvaran John the Ripper (JtR) släpptes. JtR är en av mina favoritverktyg när det gäller att knäcka lösenord (tätt följt av hashcat).

Den nya versionen heter John the Ripper 1.9.0-jumbo-1 och över 6000 commits ligger bakom denna release.

Nyheterna är bl.a. följande:

  • Snabbare och effektivare inläsning av mycket stora lösenordsfiler
  • Stöd för 7 st hash-typer i FPGA:n ZTEX 1.15y
  • Inget mer stöd för CUDA. Istället satsas på OpenCL
  • Och på tal om OpenCL så supportas 88 algoritmer, se listan med –list=formats –format=opencl
  • För CPU-knäckning (till skillnad mot GPU) så stödjs hela 407 olika format
  • AES-NI instruktioner används i större omfattning

Du kan ladda hem JtR här:

Kryptera.se blir CC BY 4.0

Alla artiklar och innehåll på Kryptera.se blir licensierat nu enligt Creative Commons Erkännande 4.0 Internationell (CC BY 4.0).

Du har tillstånd att:

  • Dela — kopiera och vidaredistribuera materialet oavsett medium eller format
  • Bearbeta — remixa, transformera, och bygg vidare på materialet
  • för alla ändamål, även kommersiellt.

Och villkor för detta är:

  • Inga ytterligare begränsningar — Du får inte tillämpa lagliga begränsningar eller teknologiska metoder som juridiskt begränsar andra från att gör något som licensen tillåter.
CC BY 4.0

För att läsa om CC BY 4.0 i sin helhet kan du kolla här:

Licensen gäller inte för sådant som jag själv köpt in eller licensierat. Detta rör sig oftast om bilder som används här på bloggen.

Och du får givetvis gärna också stödja mitt bloggande via Patreon:

Verizon 2019 Data Breach Investigations Report

Företaget Verizon har precis släppt sin rapport med titeln 2019 Data Breach Investigations Report (DBIR). Rapporten är på hela 78 sidor och baseras på analyser av 41686 st säkerhetsincidenter samt 2013 bekräftade läckor från 2018.

De slutsatser jag kan dra från rapporten är följande:

  • Hotet från systemadministratörer ökade under föregående år. Det rör sig om slarv samt insiders
  • Aktivister som hackar är högsta sedan 2012
  • Organiserad brottslighet minskade(!)
  • Generellt är Office-dokument bärare av skadlig kod
  • Majoriteten av attackerna är finansiellt motiverade följt av olika former av spionage. Angripare som vill erhålla ett försprång genom att exempelvis exfiltrera klassificerad information

När det gäller taktik hos angriparen så var någon form av hackning det vanligaste sättet vid intrång följt av social engineering:

Rapporten kan du ladda hem här.

Så utvecklas ett cybervapen

Cybervapen i ett cyberkrig

Vad är det som skiljer vanlig skadlig kod mot ett avancerat cybervapen och hur utvecklas ett cybervapen?

🚀 Stöd mitt bloggande via Patreon: https://www.patreon.com/kryptera

Enligt många säkerhetsforskare var Stuxnet ett av de första och mest uppmärksammade cybervapnet. Resurserna som behövdes för att utveckla Stuxnet och dess olika delar är troligtvis något som enbart en nation har: Flertalet programspråk, mängder av moduler, flertalet zero-days, kunskap om urananrikningsanläggningen Natanz centrifuger och stulna certifikat för att nämna några delar som gör att det troligtvis ligger en stat bakom.

Leveransdelen

Denna del av cybervapenet gör att den träffar sitt mål. Eller når rätt klient, hårdvara eller nätverk. Leveransen kan ske via E-post, USB-minne, CD-skiva eller fysiskt ansluta mot den server, klient, TV eller liknande. Vilket bl.a Vault7 läckorna från CIA visade på. Inte helt ovanligt att HUMINT- och SIGINT -resurser nyttjas.

Leveransdelen kan också ske i form av ett implantat som installeras när utrustningen skickas ut till kund. För att nå sitt slutgiltiga mål som kanske är längre in i nätverket kan även zero-days användas eller kod för att detektera och ta sig förbi airgaps eller luftgap som det också kallas. Nätverk som är känsliga och inte anslutna till internet exempelvis.

Verkansdelen

Verkansdelen tillgodoser att målet med cybervapnet uppnås. Det kan vara att påverka en process i ett SCADA-system eller förstöra vitala delar i samhällskritiska system. Även kan detta vara att exfiltrera känslig information från målsystemet.

cybervapen

Kommunikationsdelen

Denna del är inte alltid nödvändig men gör det möjligt att via ett unikt ID ringa hem och meddela att cybervapnet har nått sitt mål eller utfört ett delmål. Kommunikationsdelen är också viktig om cybervapnet ligger dolt under en längre tid och ska aktivera verkansdelen på ett givet kommando.

För att försvåra upptäckt via nätverksforensik och IDS:er (intrångsdetekteringssystem) kan populära sajter såsom Dropbox, Twitter.com eller Instagram användas, givetvis krypterad med TLS.

Steganografi där meddelanden exfiltreras med hjälpa av bilder har även observerats samt kommunikation mot IP-adresser där satellitlänk används och antagonisten haft möjlighet att läsa av kommunikationen med hjälp av SIGINT (signalspaning) eller annan utrustning.

Om kommunikationsdelen använder redan befintlig infrastruktur för att uppdatera mjukvara eller kontrollera om nya versioner finns tillgängliga så är detta också svårt att detektera (se källa 4 nedan).

Kommunikationsdelen kan också användas för att ladda hem och aktivera nya moduler, droppers etc.

Stealth-mode

Det finns många sätt att försöka undgå upptäckt. Jag har tagit upp några sätt här på bloggen tidigare såsom ”Living-off-the-land” där komponenter som redan finnes i systemet återanvänds för andra syften.

En av de äldsta och vanligaste förekommande metoderna är obfuskering eller kryptering. Även kan relativt enkla saker såsom modularitet göra att det är svårt att se helheten i cybervapnet, exempelvis kan sniff-funktioner ligga i en modul, keylogger i en modul osv.

Även så finns det något som heter environmental keyed payloads där en modul kan vara krypterad med en nyckel som bara återfinnes i målnätverket eller systemet.

En annan viktig aspekt är OPSEC för de som utvecklar cybervapen. För allt lämnar spår och något som blir vanligare och vanligare är falskflaggning eller ”false flag”. Spåren kanske ser ut att peka mot ett land men kan i själva verket vara utvecklat av ett helt annat: Språk, tidzoner osv som kan ändras.

Persistens

Ibland så ligger verkansdelen enbart i enhetens RAM-minne och försvinner således om enheten krashar eller startar om. Men som vanligast så vill den som skapat cybervapnet att det ska ligga kvar under en längre tid och då finns det otroligt många sätt att gömma sig.

Jag gjorde denna video för ett tag sedan då jag går igenom 10 olika sätt att lägga in bakdörrar:

Propagering

En skillnad mellan exempelvis WannaCry och ett cybervapen är att cybervapnets målsättning enbart är att propagera inom ett mindre område. Det kan röra sig om en enskild organisation eller nätverk. Med en mindre spridning blir också en eventuell detektion svårare.

Propagering kan dock vara ett måste som jag skrev under leveransdelen så kanske det finns luftgap mellan processnätverket/hemliga nätverket och internet.

Upprensning

Den eller de aktörer som lägger resurser på att utveckla ett cybervapen vill gärna inte bli upptäckt. När uppdraget är slutfört ska vapnet radera sig själv, även kan det finnas en inbyggd räknare som automatiskt ser till att radering genomförs efter exempelvis 12 månader.

Gillar du detta blogginlägg? Bli gärna månadsgivare via Patreon:

Källor

  1. Turla malware
  2. Gauss payload
  3. Falskflaggning med CIA Marble framework
  4. M.E.Doc och C&C via uppdateringsservrar, NotPetya

Shodan Monitor

Shodan Monitor

Shodan är en onlinetjänst som har funnits sedan 2009 och söker kontinuerligt av hela internet med omfattande portskanningar. Tjänsten är omtyckt och ger bra statistik samt har en sökfunktion som visar sådant som organisationer exponerar mot internet.

För några veckor sedan så släppte Shodan en ny intressant funktion som går under namnet Shodan Monitor. Med hjälp av Monitor kan Er organisation övervaka den internet-exponering ni har och få notifieringar över händelser.

Även för mig som konsult kan detta vara intressant då jag kan övervaka mina kunder och meddela dem om något nytt suspekt dyker upp eller som ett OSINT-verktyg vid RedTeam och penetrationstester.

Det går att lägga upp nya nät och övervaka via webbgränssnittet som återfinnes på monitor.shodan.io eller direkt via CLI och det python-program som Shodan tillhandahåller (byt ut APIKEY mot din nyckel och ALERTID mot det ID som returneras)

sudo pip install shodan
shodan init APIKEY
shodan alert create "My Production Networks" 198.20.0.0/16 8.20.5.0/24
shodan alert triggers
shodan alert enable ALERTID malware

När du skriver shodan alert triggers så kan du se vilka larm du kan slå på eller av. Listan ser ut enligt följande:

Du kan även ange ”any” och då får du larm för samtliga ovan kategorier:

shodan alert enable ALERTID any

Innan du kan övervaka några IP-nummer så måste du först bli betalande medlem. Jag valde den nivå som heter Freelancer och gör att jag kan lägga upp övervakning 5120 IPs och kostar 59$ per månad (ca 560 kr). Övriga nivåer är enligt följande:

  • $299 /månad (2 865 sek) ger dig 65536 IPs
  • $899 /månad (8 614 sek) ger dig 300000 IPs

Efter några timmar dyker det första larmet upp i min E-post. Relativt ointressant men som tur var så finns det även en möjlighet att vitlista vissa portar, så här ser mailet ut:

Och längst ner så finns länken ”Ignore this event in the future”.

Andra användningsområden för Shodan Monitor kan också vara för nät som ingår i Bug Bounty-program. Du får även använda tjänsten i kommersiellt syfte.

Samtliga argument till shodan alert för den som kör med python-mjukvaran:

Det är även möjligt att erhålla realtidsdata via shodan stream på följande sätt:

Video med demo: