Husker du Dieselgate, skandalen, hvor visse dieselkøretøjer opdagede en emissionstest og kørte renere for den og "snydede" testen? Traingate kan bare sætte den i perspektiv. Vi fortæller historien fra begyndelsen, men spænd op til en vild og forbløffende tur. Det hele starter med, at polske tog får et vedligeholdelseseftersyn. Disse tog blev bygget af Newag, som bød på vedligeholdelseskontrakten, men kontrakten blev vundet af et andet firma, SPS. Denne form for eftersyn involverer at bryde hvert tog i dets komponenter, inspicere, smøre osv. og sætte det hele sammen igen. Det første tog gennemgik denne proces, blev samlet igen og nægtede derefter at bevæge sig. Efter at have udtømt alle de konventionelle fejlfindingsforanstaltninger, bragte SPS hackerne ind.
Dragon Sector er en polsk forskningsgruppe, som har fået en del verdensomspændende opmærksomhed for arbejde på Toshiba bærbare BIOS-sikkerhed. Og det viser sig, at disse var den perfekte gruppe til jobbet. Fra at samle hardware til at forbedre Ghidras understøttelse af Infineon TriCore-arkitektur, var der en masse arbejde gjort for selv at få fat i togets systemer. Men endelig kunne de lave hukommelsesdumps og sammenligne det ødelagte tog med arbejdende. Der var et sæt konfigurationsflag, der så ud til at holde nøglen. Men netop dette tog var hårdt tiltrængt i tjeneste. Så Newag, den oprindelige producent, blev endelig kontaktet for at afslutte vedligeholdelsen og få toget til at køre igen. Hackere er dog ikke noget, hvis ikke vedholdende. Efter at have trukket en all-nighter, og med bogstavelige minutter til overs, var Dragon Sector i stand til at overskrive hukommelsen om det ødelagte tog med en gyldig konfiguration, og det kom igen til live.
Indtil videre virker intet her mistænkeligt. Opstartstjek efter vedligeholdelse kan nemt gå galt, hvilket fører til denne form for situation. Men Dragon Sector blev ved med at grave, forfine deres værktøjer og drille flere hemmeligheder ud af togets firmware. Og det, de fandt, var forbløffende. Først var GPS-koordinater, svarende til hver toggård i Polen, der er i stand til at udføre denne form for vedligeholdelseseftersyn. Hvis et tog var parkeret inde i en vedligeholdelsesgård end Newags i over 10 dage, ville flaget udløses, og toget ville blive deaktiveret. Det er svært at se den "funktion" som andet end et åbenlyst forsøg på at mure ethvert tog, der ikke kom tilbage til Newag for vedligeholdelse. Men vent, der er mere.
Udskiftning af visse komponenter ville føre til lignende brud, indtil en udokumenteret snydekode blev tappet ind på hovedcomputerkonsollen i toget. I et andet tilfælde ville et tog gå i stykker efter at have ramt en million kilometer. Endnu et tog var planlagt til at gå i stykker med en dårlig kompressor på en given dato - og en programmeringsfejl forsinkede det nedbrud til et år senere. Alt i alt kiggede Dragon Sector på 29 tog i hele Polen og fandt disse vidunderlige små overraskelser i 24 af dem. Gennem Polens CERT Polska er retshåndhævende myndigheder blevet underrettet om denne sag.
Som svar, Newag har anklaget Dragon Sector for bagvaskelse og computerforbrydelser, samt at være trusler mod jernbanesikkerheden. Alt, hvad vi kan sige, er, at vi håber, at en grundig undersøgelse vil fastslå sandheden i sagen og stille de sande kriminelle til ansvar.
Det er altid DNS
Har du nogensinde spekuleret på, hvordan en DNS-server får opdateringer om DNS-navne? Det viser sig, at der er et par måder. Den ene er, at klienter sender opdateringer direkte, reklamerer for deres DNS-navn og IP-adresse. Dynamiske DNS-opdateringer understøttes i flere DNS-servere, inklusive Active Directory (AD), og i stort set alle implementeringer har dette en rimelig sikkerhedsimplementering. På den anden side er der også DNS-opdateringer sendt som en del af en DHCP-anmodning. Og de… har problemer.
Denne opskrivning er meget Active Directory-fokuseret, men det ville ikke overraske os at finde et lignende problem i andre DHCP-servere. DNS-opdateringen er nemlig ikke autentificeret. Enhver enhed, der får en IP-adresse, kan anmode om et DNS-navn på samme tid. Den måde, dette fungerer på i et Microsoft-servermiljø, er, at DNS-tjenesten bruger sine egne legitimationsoplysninger til at videresende DNS-opdateringen til DNS-serveren. Hvis det er to separate servere, og navnet allerede er registreret direkte af en anden vært, vil opdateringen mislykkes. Men et navn, der ikke er gjort krav på, eller endda selve DHCP-serverens navn, er på højkant. Og i tilfælde af DNS- og DHCP-tjenester, der kører på den samme server, er stort set ethvert DNS-navn i spil. Og i et AD-miljø giver det mulighed for alle mulige yderligere angreb på godkendelse.
Disse problemer er blevet rapporteret til Microsoft, som anser dem for at være kendte problemer, der ikke helt fortjener en sikkerhedsrettelse. De er værd at kende til, når du bygger et AD-netværk. For at hjælpe med at holde os ude af problemer, har Akamai skrevet Invoke-DHCPCheckup som et powershell-værktøj til at tjekke for problemer.
Lav JMP Slide
Der er en teknik, der bruges, når man skriver udnyttelser, NOP-sliden. Det er en række No Operation-kommandoer efterfulgt af target shell-koden. Tanken er, at en sårbarhed vil springe et sted ind i dette angriberkontrollerede hukommelsesområde, men den nøjagtige destination kan variere. Dette bruges så ofte, at blokke på 0x90 i data er en af forklaringerne på, at det kan være ondsindet. der er et problem med NOP-sliden, idet det kan tage længere tid, end du vil, at komme igennem alle NOP-instruktionerne for at komme til den saftige shellcode. Og det er der JMP-sliden kommer i spil.
Grundlaget er, at vi ved, hvor mange bytes der er tilbage i sliden, så vi kan bruge JMP instruktioner til at gå lige til nyttelasten. Det er fantastisk, bortset fra justering. X86 maskinkoden blander nemlig frit instruktioner og argumenter. Hvis du ikke ved præcis, hvor instruktionen vil lande i din buffer, hvordan ved du så, om du er ved at udføre en jmp, eller udføre offset som en instruktion? Der er et par indlysende måder at gribe dette an på, som at bruge 0x90-værdier som argument til JMP, efterfulgt af en meget mindre NOP-slidezone for at fange JMP.
Det er også lidt af en udfordring, fordi JMP-kommandoen er baseret på offsets, der kan være positive eller negative, og 0x90 er tilfældigvis en negativ offset. Det kan fungere, men hele shellcode-nyttelasten skal konstrueres baglæns for at styre den. Der er en anden mulighed, de betingede spring JCC-opkoder. Disse er 0x70-0x7F i maskinkode, som formår at være positive offsets. Det eneste problem der er, at disse spring er betinget af en registerværdi, som er ukendt. Den endelige løsning er at bruge Jump if Greater-opkoden to gange, efterfulgt af Jump if Less eller Equal-opkoden to gange. Begge er positive forskydninger, og begge gør støt fremskridt gennem JMP-slide for til sidst at lande i et lille NOP-slide for endelig at køre shellcode. Dygtig!
Bits og bytes
Efter at være blevet fyret, kan det være fristende at brænde dine broer på vej ud. Hvis det inkluderer sletning af kodelagre, sletning af logfiler, hjemtagning af proprietær kode, stjæle en bærbar arbejdscomputer og efterligning af kolleger... måske ikke. En softwareingeniør fra First Republic Bank kunne bare ikke modstå fristelsen og vil afsone to års fængsel, tre års betinget fængsel og betale 529,000 USD i erstatning for skader. Absolut ikke det værd.
Og for en skarp påmindelse om, hvorfor ikke alt skal være forbundet til netværket eller internettet, se nedfaldet fra et cyberangreb på Kyivstar i Ukraine. Denne telefon- og internetudbyder blev taget ned i tirsdags, i hvad der ser ud til at være et ødelæggende datasletningsangreb. Banker og butikker er lukket på grund af, at betalingsbehandlingen er nede, og mindst én by måtte manuelt afbryde deres gadelys fra elnettet, fordi softwarecontrolleren blev deaktiveret som et biprodukt af angrebet. Måske var de gamle mekaniske timere trods alt bedre.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk dig selv. Adgang her.
- PlatoAiStream. Web3 intelligens. Viden forstærket. Adgang her.
- PlatoESG. Kulstof, CleanTech, Energi, Miljø, Solenergi, Affaldshåndtering. Adgang her.
- PlatoHealth. Bioteknologiske og kliniske forsøgs intelligens. Adgang her.
- Kilde: https://hackaday.com/2023/12/15/this-week-in-security-traingate-dns-and-jmp-slides/
- :har
- :er
- :ikke
- :hvor
- $OP
- 000
- 10
- 24
- 29
- a
- I stand
- Om
- Konto
- anklagede
- tværs
- aktiv
- Active Directory
- Ad
- annoncenetværk
- adresse
- Reklame
- Efter
- igen
- agenturer
- Akamai
- tilpasning
- Alle
- tillader
- allerede
- også
- altid
- an
- ,
- En anden
- enhver
- noget
- kommer til syne
- tilgang
- arkitektur
- ER
- OMRÅDE
- argument
- argumenter
- AS
- At
- angribe
- Angreb
- forsøg
- opmærksomhed
- autentificeret
- Godkendelse
- tilbage
- Bad
- dårligt
- Bank
- Banker
- baseret
- grundlag
- BE
- fordi
- været
- Begyndelse
- være
- Bedre
- bud
- Bit
- BleepingComputer
- Blocks
- både
- Pause
- Fordeling
- Breaking
- broer
- Broken
- bragte
- buffer
- Bygning
- bygget
- brænde
- men
- by
- kom
- CAN
- stand
- tilfælde
- brydning
- vis
- udfordre
- kontrollere
- Kontrol
- By
- renere
- kunder
- lukket
- kode
- Kom
- kommer
- selskab
- sammenligne
- fuldføre
- komponenter
- computer
- Konfiguration
- tilsluttet
- Overvej
- Konsol
- kontrakt
- controller
- konventionelle
- Tilsvarende
- kunne
- Par
- Legitimationsoplysninger
- Kriminelle
- Cyber angreb
- data
- Dato
- Dage
- definitivt
- Forsinket
- destination
- opdage
- ødelæggende
- enhed
- diesel
- direkte
- deaktiveret
- dns
- do
- gør
- færdig
- Dont
- ned
- Drage
- grund
- dynamisk
- hver
- nemt
- Emissioner
- håndhævelse
- ingeniør
- Hele
- Miljø
- lige
- fejl
- etablere
- etc.
- Endog
- til sidst
- Hver
- at alt
- præcist nok
- Undtagen
- udføre
- exploits
- FAIL
- nedfald
- langt
- Filer
- endelige
- Endelig
- Finde
- fyret
- Fornavn
- Fix
- flag
- fokuserede
- efterfulgt
- Til
- Videresend
- fundet
- frit
- fra
- fuldt ud
- yderligere
- vundet
- få
- få
- GitHub
- given
- Go
- gps
- grabber
- stor
- større
- Grid
- gruppe
- hackere
- havde
- hånd
- sker
- Hård Ost
- Hardware
- Have
- hjælpe
- link.
- rammer
- hold
- Home
- håber
- host
- Hvordan
- Men
- HTML
- HTTPS
- idé
- if
- implementering
- forbedring
- in
- I andre
- omfatter
- Herunder
- Infineon
- indvendig
- anvisninger
- Internet
- ind
- undersøgelse
- involverer
- IP
- IP-adresse
- spørgsmål
- IT
- ITS
- selv
- Job
- jpg
- hoppe
- spring
- lige
- Holde
- holdt
- Nøgle
- Kend
- Kendskab til
- kendt
- Land
- laptop
- senere
- Lov
- retshåndhævelse
- føre
- førende
- mindst
- til venstre
- mindre
- Livet
- ligesom
- bogstavelig
- lidt
- log
- længere
- kiggede
- Lot
- maskine
- Main
- vedligeholdelse
- lave
- administrere
- administrerer
- manuelt
- Fabrikant
- mange
- Kan..
- kan være
- foranstaltninger
- mekanisk
- Hukommelse
- microsoft
- million
- minutter
- blander
- mere
- bevæge sig
- meget
- flere
- navn
- nemlig
- navne
- behov
- behov
- negativ
- netværk
- ingen
- intet
- Obvious
- of
- offset
- forskydninger
- tit
- Gammel
- on
- engang
- ONE
- dem
- kun
- OpCode
- drift
- Option
- or
- original
- Andet
- ud
- i løbet af
- overhaling
- egen
- del
- særlig
- Betal
- betaling
- betalingsbehandling
- perfekt
- telefon
- plato
- Platon Data Intelligence
- PlatoData
- Leg
- Polen
- polsk
- positiv
- magt
- Elnet
- PowerShell
- smuk
- fængsel
- Problem
- behandle
- forarbejdning
- Programmering
- Progress
- proprietære
- udbyder
- trækker
- sætte
- Sætte
- helt
- Jernbane
- rimelige
- raffinering
- register
- registreret
- påmindelse
- rapporteret
- Republikken
- anmode
- forskning
- forskningsgruppe
- svar
- Ride
- højre
- Kør
- kører
- Sikkerhed
- samme
- siger
- Skandale
- planlagt
- hemmeligheder
- sektor
- sikkerhed
- se
- syntes
- synes
- send
- sendt
- adskille
- Series
- tjener
- server
- servere
- tjeneste
- Tjenester
- sæt
- lignende
- Situationen
- Skub
- Slides
- lille
- mindre
- So
- Software
- Software Engineer
- løsninger
- nogle
- et eller andet sted
- skarp
- starter
- opstart
- steady
- forhandler
- Historie
- gade
- support
- Understøttet
- overraskelse
- overraskelser
- mistænksom
- Systemer
- Tag
- taget
- tager
- Tappet
- mål
- teknik
- fortælle
- fortæller
- prøve
- end
- at
- deres
- Them
- derefter
- Der.
- Disse
- de
- denne
- denne uge
- dem
- selvom?
- trusler
- tre
- Gennem
- tid
- til
- sammen
- fortalt
- også
- værktøj
- værktøjer
- Toshiba
- Tog
- tog
- udløse
- problemer
- sand
- Sandheden
- Tirsdag
- vender
- To gange
- to
- ukendt
- indtil
- Opdatering
- opdateringer
- på
- us
- brug
- anvendte
- bruger
- ved brug af
- gyldig
- værdi
- Værdier
- Køretøjer
- meget
- sårbarhed
- vente
- ønsker
- var
- Vej..
- måder
- we
- uge
- GODT
- gik
- var
- Hvad
- hvornår
- som
- WHO
- hvorfor
- Wild
- vilje
- aftørring
- med
- Vandt
- vidunderlig
- Arbejde
- arbejder
- virker
- verdensplan
- værd
- værdig
- ville
- skrivning
- skriftlig
- år
- år
- endnu
- dig
- Din
- zephyrnet