Kommer du ihåg Dieselgate, skandalen där vissa dieselfordon upptäckte ett utsläppstest och körde renare för det, och "fusade" testet? Traingate kanske bara sätter det i perspektiv. Vi kommer att berätta historien från början, men spänn dig för en vild och häpnadsväckande tur. Allt börjar med att polska tåg får en underhållsöversyn. Dessa tåg byggdes av Newag, som budade på underhållskontraktet, men kontraktet vanns av ett annat företag, SPS. Denna typ av översyn innebär att dela upp varje tåg i dess komponenter, inspektera, smörja, etc, och sätta ihop det hela igen. Det första tåget gick igenom denna process, var helt återmonterat och vägrade sedan att flytta. Efter att ha uttömt alla konventionella felsökningsåtgärder tog SPS in hackarna.
Dragon Sector är en polsk forskargrupp, som fått en del uppmärksamhet över hela världen arbeta med Toshiba laptop BIOS-säkerhet. Och det visar sig att dessa var den perfekta gruppen för jobbet. Från att snickra ihop hårdvara till att förbättra Ghidras stöd för Infineon TriCore-arkitektur, det gjordes mycket arbete för att till och med få ett fäste i tågets system. Men äntligen kunde de göra minnesdumpar och jämföra det trasiga tåget med fungerande. Det fanns en uppsättning konfigurationsflaggor som verkade hålla nyckeln. Men just detta tåg var välbehövligt i tjänsten. Så Newag, den ursprungliga tillverkaren, kontaktades slutligen för att slutföra underhållet och få tåget igång igen. Hackare är dock ingenting, om inte ihållande. Efter att ha dragit en helnatt, och med bokstavliga minuter till godo, kunde Dragon Sector skriva över minnet av det trasiga tåget med en giltig konfiguration, och det vaknade återigen till liv.
Än så länge verkar inget här misstänkt. Startkontroller efter underhåll kan lätt gå snett, vilket leder till denna typ av situation. Men Dragon Sector fortsatte att gräva, förfina sina verktyg och reta fler hemligheter från tågets firmware. Och det de hittade var häpnadsväckande. Först var GPS-koordinaterna, motsvarande varje tåggård i Polen som kan utföra denna typ av underhållsöversyn. Om ett tåg var parkerat på någon underhållsgård utom Newags i över 10 dagar, skulle flaggan utlösas och tåget skulle inaktiveras. Det är svårt att se den "funktionen" som något annat än ett uppenbart försök att mura ett tåg som inte kom tillbaka till Newag för underhåll. Men vänta, det finns mer.
Att byta ut vissa komponenter skulle leda till liknande brott, tills en odokumenterad fuskkod knackades in på huvuddatorkonsolen på tåget. I ett annat fall skulle ett tåg gå sönder efter att ha kört en miljon kilometer. Ännu ett tåg var planerat att gå sönder med en dålig kompressor vid ett givet datum - och ett programmeringsfel försenade det haveriet till ett år senare. Sammantaget tittade Dragon Sector på 29 tåg över hela Polen och hittade dessa underbara små överraskningar i 24 av dem. Genom polska CERT Polska har brottsbekämpande myndigheter underrättats om detta fall.
Som svar, Newag har anklagat Dragon Sector för förtal och databrott, samt vara hot mot järnvägssäkerheten. Allt vi kan säga är att vi hoppas att en grundlig utredning kommer att fastställa sanningen i fallet och ställa de sanna brottslingarna till svars.
Det är alltid DNS
Har du någonsin undrat hur en DNS-server får uppdateringar om DNS-namn? Det visar sig att det finns ett par sätt. En är för kunder att skicka uppdateringar direkt, annonsera deras DNS-namn och IP-adress. Dynamiska DNS-uppdateringar stöds i flera DNS-servrar, inklusive Active Directory (AD), och i stort sett varje implementering har detta en rimlig säkerhetsimplementering. Å andra sidan finns det också DNS-uppdateringar som skickas som en del av en DHCP-förfrågan. Och de… ha problem.
Denna uppskrivning är mycket Active Directory-fokuserad, men det skulle inte förvåna oss att hitta ett liknande problem i andra DHCP-servrar. DNS-uppdateringen är nämligen inte autentiserad. Alla enheter som får en IP-adress kan begära ett DNS-namn samtidigt. Det här fungerar i en Microsoft-servermiljö är att DNS-tjänsten använder sina egna referenser för att vidarebefordra DNS-uppdateringen till DNS-servern. Om det är två separata servrar och namnet redan är registrerat direkt av en annan värd, kommer uppdateringen att misslyckas. Men ett namn som inte har gjorts anspråk på, eller till och med själva DHCP-serverns namn, är aktuella. Och i fallet med DNS- och DHCP-tjänsterna som körs på samma server, är i stort sett alla DNS-namn i spel. Och i en AD-miljö tillåter det alla möjliga ytterligare attacker mot autentisering.
Dessa problem har rapporterats till Microsoft, som anser dem vara kända problem, inte riktigt värda en säkerhetskorrigering. De är värda att veta om när man bygger ett AD-nätverk. För att hålla oss borta från problem har Akamai skrivit Invoke-DHCPCheckup som ett powershell-verktyg för att leta efter problem.
Gör JMP-bilden
Det finns en teknik som används när man skriver exploits, NOP-bilden. Det är en serie av No Operation-kommandon följt av målskalkoden. Tanken är att en sårbarhet ska hoppa någonstans in i detta angriparkontrollerade minnesområde, men den exakta destinationen kan variera. Detta används så ofta att block av 0x90 i data är en av indikationerna på att det kan vara skadligt. det finns ett problem med NOP-sliden, eftersom det kan ta längre tid än du vill att gå igenom alla NOP-instruktionerna för att komma till den saftiga skalkoden. Och det är där JMP-bilden kommer in i bilden.
Grunden är att vi vet hur många byte som finns kvar i bilden, så vi kan använda JMP-instruktioner för att gå direkt till nyttolasten. Det är bra, förutom anpassningen. X86-maskinkoden blandar nämligen fritt instruktioner och argument. Om du inte vet exakt var instruktionen kommer att landa i din buffert, hur vet du om du är på väg att köra en jmp, eller köra offseten som en instruktion? Det finns ett par uppenbara sätt att närma sig detta, som att använda 0x90-värden som argument till JMP, följt av en mycket mindre NOP-bildzon för att fånga JMP.
Det är också lite av en utmaning, eftersom JMP-kommandot är baserat på offset som kan vara positiva eller negativa, och 0x90 råkar vara en negativ offset. Det kan fungera, men hela skalkodens nyttolast måste konstrueras bakåt för att hantera den. Det finns ett annat alternativ, de villkorliga hopp JCC-opkoderna. Dessa är 0x70-0x7F i maskinkod, vilket lyckas vara positiva offset. Det enda problemet där är att dessa hopp är villkorade av ett registervärde, vilket är okänt. Den slutliga lösningen är att använda Jump if Greater opcode två gånger, följt av Jump if Less eller Equal opcode två gånger. Båda är positiva offset, och båda gör stadiga framsteg genom JMP-sliden för att så småningom landa i en liten NOP-bild för att äntligen köra skalkod. Duktig!
Bitar och bytes
Efter att ha fått sparken kan det vara frestande att bränna dina broar på vägen ut. Om det inkluderar att radera kodförråd, ta bort loggfiler, ta hem proprietär kod, stjäla en bärbar dator och utge sig för kollegor... kanske inte. En mjukvaruingenjör från First Republic Bank kunde helt enkelt inte motstå frestelsen och kommer att avtjäna två års fängelse, tre års skyddstillsyn och betala 529,000 XNUMX USD i skadestånd. Definitivt inte värt det.
Och för en skarp påminnelse om varför inte allt behöver vara anslutet till nätverket eller Internet, se nedfallet från en cyberattack mot Kyivstar i Ukraina. Den här telefon- och internetleverantören togs ner på tisdagen, i vad som verkar vara en förödande datatorkningsattack. Banker och butiker är stängda på grund av att betalningshanteringen är nere, och minst en stad var tvungen att manuellt koppla bort sina gatubelysningar från elnätet, eftersom programvarukontrollern var inaktiverad som en biprodukt av attacken. Kanske var de gamla mekaniska timern trots allt bättre.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- PlatoData.Network Vertical Generative Ai. Styrka dig själv. Tillgång här.
- PlatoAiStream. Web3 Intelligence. Kunskap förstärkt. Tillgång här.
- Platoesg. Kol, CleanTech, Energi, Miljö, Sol, Avfallshantering. Tillgång här.
- PlatoHealth. Biotech och kliniska prövningar Intelligence. Tillgång här.
- Källa: https://hackaday.com/2023/12/15/this-week-in-security-traingate-dns-and-jmp-slides/
- : har
- :är
- :inte
- :var
- $UPP
- 000
- 10
- 24
- 29
- a
- Able
- Om oss
- Konto
- den anklagade
- tvärs
- aktiv
- Active Directory
- Ad
- annonsnätverk
- adress
- reklam
- Efter
- igen
- byråer
- Akamai
- uppriktning
- Alla
- tillåter
- redan
- också
- alltid
- an
- och
- Annan
- vilken som helst
- något
- visas
- tillvägagångssätt
- arkitektur
- ÄR
- OMRÅDE
- Argumentet
- argument
- AS
- At
- attackera
- Attacker
- försök
- uppmärksamhet
- authenticated
- Autentisering
- tillbaka
- Badrum
- dåligt
- Bank
- Banker
- baserat
- grund
- BE
- därför att
- varit
- Börjar
- Där vi får lov att vara utan att konstant prestera,
- Bättre
- bud
- Bit
- BleepingComputer
- Block
- båda
- Ha sönder
- Fördelning
- Breaking
- broar
- Brutet
- fört
- buffert
- Byggnad
- byggt
- bränna
- men
- by
- kom
- KAN
- kapabel
- Vid
- brottning
- vissa
- utmanar
- ta
- Kontroller
- Stad
- renare
- klienter
- stängt
- koda
- komma
- kommer
- företag
- jämföra
- fullborda
- komponenter
- dator
- konfiguration
- anslutna
- Tänk
- Konsol
- kontrakt
- styrenhet
- konventionell
- Motsvarande
- kunde
- Par
- referenser
- brottslingar
- Cyber attack
- datum
- Datum
- Dagar
- definitivt
- Försenad
- destination
- upptäcka
- förödande
- anordning
- diesel
- direkt
- inaktiverad
- dns
- do
- gör
- gjort
- inte
- ner
- drake
- grund
- dynamisk
- varje
- lätt
- utsläpp
- tillämpning
- ingenjör
- Hela
- Miljö
- lika
- fel
- etablera
- etc
- Även
- så småningom
- Varje
- allt
- exakt
- Utom
- exekvera
- bedrifter
- MISSLYCKAS
- Fallout
- långt
- Filer
- slutlig
- Slutligen
- hitta
- avfyras
- Förnamn
- Fast
- flaggorna
- fokuserade
- följt
- För
- Framåt
- hittade
- fritt
- från
- fullständigt
- ytterligare
- vunnits
- skaffa sig
- få
- GitHub
- ges
- Go
- gps
- gripskopor
- stor
- större
- Rutnät
- Grupp
- hackare
- hade
- sidan
- händer
- Hård
- hårdvara
- Har
- hjälpa
- här.
- slå
- hålla
- Hem
- hoppas
- värd
- Hur ser din drömresa ut
- Men
- html
- HTTPS
- Tanken
- if
- genomförande
- förbättra
- in
- I andra
- innefattar
- Inklusive
- Infineon
- inuti
- instruktioner
- Internet
- in
- Undersökningen
- innebär
- IP
- IP-adress
- problem
- IT
- DESS
- sig
- Jobb
- jpg
- hoppa
- hopp
- bara
- Ha kvar
- hålls
- Nyckel
- Vet
- Menande
- känd
- land
- laptop
- senare
- Lag
- brottsbekämpning
- leda
- ledande
- t minst
- vänster
- mindre
- livet
- tycka om
- bokstavlig
- liten
- log
- längre
- såg
- Lot
- Maskinen
- Huvudsida
- underhåll
- göra
- hantera
- förvaltar
- manuellt
- Tillverkare
- många
- Maj..
- kanske
- åtgärder
- mekanisk
- Minne
- Microsoft
- miljon
- minuter
- blandar
- mer
- flytta
- mycket
- multipel
- namn
- nämligen
- namn
- behövs
- behov
- negativ
- nät
- Nej
- inget
- Uppenbara
- of
- offset
- förskjutningar
- Ofta
- Gamla
- on
- gång
- ONE
- ettor
- endast
- OpCode
- drift
- Alternativet
- or
- ursprungliga
- Övriga
- ut
- över
- Renoverings
- egen
- del
- särskilt
- Betala
- betalning
- betalningen behandlas
- perfekt
- telefon
- plato
- Platon Data Intelligence
- PlatonData
- Spela
- Polen
- polska
- positiv
- kraft
- Kraftnät
- Power
- pretty
- fängelse
- Problem
- process
- bearbetning
- Programmering
- Framsteg
- proprietary
- leverantör
- dra
- sätta
- sätta
- ganska
- Järnväg
- rimlig
- raffinering
- registrera
- registrerat
- påminnelse
- Rapporterad
- Republiken
- begära
- forskning
- forskargrupp
- respons
- Rider
- höger
- Körning
- rinnande
- Säkerhet
- Samma
- säga
- Skandal
- planerad
- hemligheter
- sektor
- säkerhet
- se
- verkade
- verkar
- sända
- skickas
- separat
- Serier
- tjänar
- server
- servrar
- service
- Tjänster
- in
- liknande
- Situationen
- Skjut
- Diabilder
- Small
- mindre
- So
- Mjukvara
- Programvara ingenjör
- lösning
- några
- någonstans
- skarp
- startar
- start
- stadig
- lagrar
- Historia
- gata
- stödja
- Som stöds
- överraskning
- överraskningar
- misstänksam
- System
- Ta
- tagen
- tar
- Knackade
- Målet
- Tekniken
- tala
- berättar
- testa
- än
- den där
- Smakämnen
- deras
- Dem
- sedan
- Där.
- Dessa
- de
- detta
- denna vecka
- de
- fastän?
- hot
- tre
- Genom
- tid
- till
- tillsammans
- berättade
- alltför
- verktyg
- verktyg
- Toshiba
- Tåg
- tåg
- utlösa
- problem
- sann
- sanningen
- Tisdag
- vänder
- Dubbelt
- två
- okänd
- tills
- Uppdatering
- Uppdateringar
- på
- us
- användning
- Begagnade
- användningar
- med hjälp av
- giltigt
- värde
- Värden
- fordon
- mycket
- sårbarhet
- vänta
- vill
- var
- Sätt..
- sätt
- we
- vecka
- VÄL
- begav sig
- były
- Vad
- när
- som
- VEM
- varför
- Vild
- kommer
- avtorkning
- med
- Vann
- underbart
- Arbete
- arbetssätt
- fungerar
- inom hela sverige
- värt
- värdiga
- skulle
- skrivning
- skriven
- år
- år
- ännu
- dig
- Din
- zephyrnet