Denk aan Dieselgate, het schandaal waarbij bepaalde dieselvoertuigen een emissietest zouden detecteren en er schoner voor zouden rijden, waarbij ze de test zouden “valsspelen”? Traingate kan dat misschien in perspectief plaatsen. We vertellen het verhaal vanaf het begin, maar maak je klaar voor een wilde en verbazingwekkende rit. Het begint allemaal met Poolse treinen die een onderhoudsbeurt krijgen. Deze treinen zijn gebouwd door Newag, die op het onderhoudscontract heeft geboden, maar het contract is gewonnen door een ander bedrijf, SPS. Bij dit soort revisie wordt elke trein in zijn onderdelen opgedeeld, geïnspecteerd, gesmeerd, enz., en alles weer in elkaar gezet. De eerste trein doorliep dit proces, werd volledig opnieuw in elkaar gezet en weigerde vervolgens te rijden. Nadat alle conventionele probleemoplossingsmaatregelen waren uitgeput, schakelde SPS de hackers in.
Dragon Sector is een Poolse onderzoeksgroep, waar wereldwijd aandacht voor is gekomen werk aan de BIOS-beveiliging van Toshiba-laptops. En het blijkt dat dit de perfecte groep voor de klus was. Van het in elkaar zetten van hardware tot het verbeteren van Ghidra's ondersteuning voor de Infineon TriCore-architectuur, er is veel werk verzet om zelfs maar grip te krijgen op de systemen van de trein. Maar eindelijk konden ze geheugendumps uitvoeren en de kapotte trein vergelijken met werkende. Er was een reeks configuratievlaggen die de sleutel leken te bevatten. Maar deze specifieke trein was hard nodig in de dienst. Dus werd uiteindelijk contact opgenomen met Newag, de oorspronkelijke fabrikant, om het onderhoud te voltooien en de trein weer rijdend te krijgen. Hackers zijn echter niets anders dan volhardend. Na een hele nacht door te hebben getrokken, en met letterlijke minuten over, kon Dragon Sector de herinnering aan de kapotte trein overschrijven met een geldige configuratie, en deze kwam opnieuw tot leven.
Tot nu toe lijkt niets verdachts. Opstartcontroles na onderhoud kunnen gemakkelijk misgaan, wat tot dit soort situaties kan leiden. Maar Dragon Sector bleef graven, hun tools verfijnen en meer geheimen uit de treinfirmware halen. En wat ze ontdekten was verbazingwekkend. Als eerste stonden de GPS-coördinaten, die overeenkomen met elk treinemplacement in Polen dat dit soort onderhoudswerkzaamheden kan uitvoeren. Als een trein langer dan tien dagen op een onderhoudsterrein behalve dat van Newag geparkeerd zou staan, zou de vlag afgaan en zou de trein worden uitgeschakeld. Het is moeilijk om dat 'kenmerk' te zien als iets anders dan een flagrante poging om elke trein die niet voor onderhoud naar Newag is teruggekeerd, te blokkeren. Maar wacht, er is meer.
Het vervangen van bepaalde componenten zou tot een soortgelijke breuk leiden, totdat een ongedocumenteerde cheatcode werd afgeluisterd op de hoofdcomputerconsole in de trein. In een ander geval zou een trein breken nadat hij een miljoen kilometer had gereden. Nog een andere trein zou op een bepaalde datum kapot gaan met een slechte compressor – en een programmeerfout vertraagde die storing tot een jaar later. Alles bij elkaar bekeek Dragon Sector 29 treinen in heel Polen en vond in 24 daarvan deze prachtige kleine verrassingen. Via het Poolse CERT Polska zijn wetshandhavingsinstanties op de hoogte gesteld van deze zaak.
In antwoord, Newag heeft Dragon Sector beschuldigd van laster en computercriminaliteit, maar vormen ook een bedreiging voor de spoorwegveiligheid. Het enige wat we kunnen zeggen is dat we hopen dat een grondig onderzoek de waarheid van de zaak zal vaststellen en de echte criminelen ter verantwoording zal roepen.
Het is altijd DNS
Heeft u zich ooit afgevraagd hoe een DNS-server updates over DNS-namen krijgt? Het blijkt dat er een paar manieren zijn. Eén daarvan is dat klanten updates rechtstreeks kunnen verzenden en reclame kunnen maken voor hun DNS-naam en IP-adres. DNS Dynamische updates worden ondersteund in meerdere DNS-servers, waaronder Active Directory (AD), en in vrijwel elke implementatie heeft dit een redelijke beveiligingsimplementatie. Aan de andere kant worden er ook DNS-updates verzonden als onderdeel van een DHCP-verzoek. En deze… problemen hebben.
Dit artikel is zeer gericht op Active Directory, maar het zou ons niet verbazen als we een soortgelijk probleem bij andere DHCP-servers aantreffen. De DNS-update is namelijk niet geverifieerd. Elk apparaat dat een IP-adres krijgt, kan tegelijkertijd een DNS-naam opvragen. De manier waarop dit werkt in een Microsoft-serveromgeving is dat de DNS-service zijn eigen inloggegevens gebruikt om de DNS-update door te sturen naar de DNS-server. Als dit twee afzonderlijke servers zijn en de naam al rechtstreeks door een andere host is geregistreerd, mislukt de update. Maar een niet-geclaimde naam, of zelfs de naam van de DHCP-server zelf, ligt voor het oprapen. En in het geval dat de DNS- en DHCP-services op dezelfde server draaien, speelt vrijwel elke DNS-naam een rol. En in een AD-omgeving maakt dat allerlei verdere aanvallen op authenticatie mogelijk.
Deze problemen zijn gerapporteerd aan Microsoft, die ze als bekende problemen beschouwt en die een beveiligingsoplossing niet echt waard zijn. Ze zijn de moeite waard om te weten bij het bouwen van een AD-netwerk. Om ons uit de problemen te houden, heeft Akamai geschreven Invoke-DHCPCheckup als een powershell-tool om te controleren op problemen.
Doe de JMP-dia
Er wordt een techniek gebruikt bij het schrijven van exploits, de NOP-slide. Het is een reeks No Operation-opdrachten gevolgd door de doelshellcode. Het idee is dat een kwetsbaarheid ergens in dit door de aanvaller gecontroleerde geheugengebied terechtkomt, maar de exacte bestemming kan variëren. Dit wordt zo vaak gebruikt dat blokken van 0x90 in gegevens een van de aanwijzingen zijn dat het schadelijk kan zijn. er is een probleem met de NOP-slide, in die zin dat het langer kan duren dan je wilt om alle NOP-instructies te doorlopen om bij de sappige shellcode te komen. En dat is waar de JMP-dia komt in het spel.
De basis is dat we weten hoeveel bytes er nog in de dia zitten, zodat we JMP-instructies kunnen gebruiken om rechtstreeks naar de payload te gaan. Dat is geweldig, behalve de uitlijning. De x86-machinecode combineert namelijk vrijelijk instructies en argumenten. Als u niet precies weet waar de instructie in uw buffer terechtkomt, hoe weet u dan of u op het punt staat een jmp uit te voeren, of de offset als instructie uit te voeren? Er zijn een paar voor de hand liggende manieren om dit te benaderen, zoals het gebruik van 0x90-waarden als argument voor JMP, gevolgd door een veel kleinere NOP-schuifzone om de JMP op te vangen.
Dat is ook een beetje een uitdaging, omdat het JMP-commando gebaseerd is op offsets die positief of negatief kunnen zijn, en 0x90 is toevallig een negatieve offset. Dat kan werken, maar de volledige shellcode-payload moet achterstevoren worden geconstrueerd om deze te kunnen beheren. Er is nog een andere optie: de voorwaardelijke sprong JCC-opcodes. Dit zijn 0x70-0x7F in machinecode, wat positieve offsets blijkt te zijn. Het enige probleem is dat deze sprongen afhankelijk zijn van een registerwaarde, die onbekend is. De uiteindelijke oplossing is om de opcode Jump if Greater tweemaal te gebruiken, gevolgd door de opcode Jump if Less of Equal tweemaal. Beide zijn positieve offsets, en beide boeken gestage vooruitgang door de JMP-dia om uiteindelijk in een kleine NOP-dia te belanden om eindelijk shellcode uit te voeren. Slim!
Bits en bytes
Nadat je bent ontslagen, kan het verleidelijk zijn om je bruggen op weg naar buiten te verbranden. Als dat het wissen van codeopslagplaatsen, het verwijderen van logbestanden, het mee naar huis nemen van bedrijfseigen code, het stelen van een werklaptop en het nabootsen van collega's omvat... misschien niet. Een software-ingenieur van de First Republic Bank kon de verleiding gewoon niet weerstaan en zal twee jaar gevangenisstraf uitzitten, drie jaar proeftijd, en $ 529,000 aan schadevergoeding betalen. Absoluut niet de moeite waard.
En voor een duidelijke herinnering waarom niet alles verbonden hoeft te zijn met het netwerk of internet, zie de gevolgen van een cyberaanval op Kievstar in Oekraïne. Deze telefoon- en internetprovider werd dinsdag offline gehaald, tijdens wat lijkt op een verwoestende aanval op het wissen van gegevens. Banken en winkels zijn gesloten omdat de betalingsverwerking niet werkt, en ten minste één stad moest de straatverlichting handmatig loskoppelen van het elektriciteitsnet, omdat de softwarecontroller werd uitgeschakeld als bijproduct van de aanval. Misschien waren de oude mechanische timers toch beter.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoData.Network Verticale generatieve AI. Versterk jezelf. Toegang hier.
- PlatoAiStream. Web3-intelligentie. Kennis versterkt. Toegang hier.
- PlatoESG. carbon, CleanTech, Energie, Milieu, Zonne, Afvalbeheer. Toegang hier.
- Plato Gezondheid. Intelligentie op het gebied van biotech en klinische proeven. Toegang hier.
- Bron: https://hackaday.com/2023/12/15/this-week-in-security-traingate-dns-and-jmp-slides/
- : heeft
- :is
- :niet
- :waar
- $UP
- 000
- 10
- 24
- 29
- a
- in staat
- Over
- Account
- verdachte
- over
- actieve
- Active Directory
- Ad
- advertentienetwerk
- adres
- ADVERTISING
- Na
- weer
- agentschappen
- Akamai
- opstelling
- Alles
- toestaat
- al
- ook
- altijd
- an
- en
- Nog een
- elke
- iets
- komt naar voren
- nadering
- architectuur
- ZIJN
- GEBIED
- argument
- argumenten
- AS
- At
- aanvallen
- Aanvallen
- poging
- aandacht
- geverifieerd
- authenticatie
- terug
- slecht
- slecht
- Bank
- Banken
- gebaseerde
- basis
- BE
- omdat
- geweest
- Begin
- wezen
- Betere
- bod
- Beetje
- BeginnersWeb
- Blokken
- zowel
- Breken
- Storing
- Breaking
- bruggen
- Kapot
- bracht
- buffer
- Gebouw
- bebouwd
- brandwond
- maar
- by
- kwam
- CAN
- in staat
- geval
- het worstelen
- zeker
- uitdagen
- controle
- Controles
- Plaats
- schoonmaak
- klanten
- CLOSED
- code
- hoe
- komt
- afstand
- vergelijken
- compleet
- componenten
- computer
- Configuratie
- gekoppeld blijven
- Overwegen
- troosten
- contract
- controleur
- conventioneel
- Overeenkomend
- kon
- Koppel
- Geloofsbrieven
- criminelen
- Cyber aanval
- gegevens
- Datum
- dagen
- definitief
- Vertraagd
- bestemming
- opsporen
- verwoestende
- apparaat
- diesel
- direct
- invalide
- dns
- do
- doen
- gedaan
- Dont
- beneden
- Draak
- twee
- dynamisch
- elk
- gemakkelijk
- emissies
- handhaving
- ingenieur
- Geheel
- Milieu
- gelijk
- fout
- oprichten
- etc
- Zelfs
- uiteindelijk
- Alle
- alles
- precies
- Behalve
- uitvoeren
- exploits
- FAIL
- Fallout
- ver
- Bestanden
- finale
- Tot slot
- VIND DE PLEK DIE PERFECT VOOR JOU IS
- ontslagen
- Voornaam*
- Bepalen
- vlaggen
- gericht
- gevolgd
- Voor
- Naar voren
- gevonden
- vrij
- oppompen van
- geheel
- verder
- opgedaan
- krijgen
- het krijgen van
- GitHub
- gegeven
- Go
- gps
- grijpers
- groot
- meer
- Raster
- Groep
- Hackers
- HAD
- hand
- gebeurt
- Hard
- Hardware
- Hebben
- hulp
- hier
- raken
- houden
- Home
- hoop
- gastheer
- Hoe
- Echter
- HTML
- HTTPS
- idee
- if
- uitvoering
- het verbeteren van
- in
- Anders
- omvat
- Inclusief
- Infineon
- binnen
- instructies
- Internet
- in
- onderzoek
- gaat
- IP
- IP-adres
- problemen
- IT
- HAAR
- zelf
- Jobomschrijving:
- jpg
- springen
- sprongen
- voor slechts
- Houden
- gehouden
- sleutel
- blijven
- Weten
- bekend
- Land
- laptop
- later
- Wet
- politie
- leiden
- leidend
- minst
- links
- minder
- Life
- als
- letterlijk
- Elke kleine stap levert grote resultaten op!
- inloggen
- langer
- keek
- lot
- machine
- Hoofd
- onderhoud
- maken
- beheer
- beheert
- handmatig
- Fabrikant
- veel
- Mei..
- kan zijn
- maatregelen
- mechanisch
- Geheugen
- Microsoft
- miljoen
- minuten
- mengt
- meer
- beweging
- veel
- meervoudig
- naam
- namelijk
- namen
- nodig
- behoeften
- negatief
- netwerk
- geen
- niets
- Voor de hand liggend
- of
- compenseren
- offset
- vaak
- Oud
- on
- eens
- EEN
- degenen
- Slechts
- OpCode
- operatie
- Keuze
- or
- origineel
- Overige
- uit
- over
- Revisie
- het te bezitten.
- deel
- bijzonder
- Betaal
- betaling
- verwerking van betalingen
- phone
- Plato
- Plato gegevensintelligentie
- PlatoData
- Spelen
- Polen
- Pools
- positief
- energie
- Elektriciteitsnet
- PowerShell
- mooi
- gevangenis
- probleem
- verwerking
- Programming
- Voortgang
- gepatenteerd
- leverancier
- trekken
- zetten
- Putting
- heel
- Spoorweg
- redelijk
- raffinage
- registreren
- geregistreerd
- herinnering
- gemeld
- Republiek
- te vragen
- onderzoek
- onderzoeksgroep
- antwoord
- Rijden
- rechts
- lopen
- lopend
- Veiligheid
- dezelfde
- ervaren
- Schandaal
- gepland
- geheimen
- sector
- veiligheid
- zien
- scheen
- lijkt
- sturen
- verzonden
- apart
- -Series
- dienen
- server
- servers
- service
- Diensten
- reeks
- gelijk
- situatie
- Schuif
- Slides
- Klein
- kleinere
- So
- Software
- Software Engineer
- oplossing
- sommige
- ergens
- sterk
- starts
- startup
- vast
- winkels
- Verhaal
- straat
- ondersteuning
- ondersteunde
- verrassing
- verrassingen
- verdacht
- Systems
- Nemen
- ingenomen
- het nemen
- Afgetapt
- doelwit
- techniek
- vertellen
- vertelt
- proef
- neem contact
- dat
- De
- hun
- Ze
- harte
- Er.
- Deze
- ze
- dit
- deze week
- die
- toch?
- bedreigingen
- drie
- Door
- niet de tijd of
- naar
- samen
- vertelde
- ook
- tools
- tools
- Toshiba
- Trainen
- treinen
- leiden
- moeite
- waar
- waarheid
- dinsdag
- wordt
- Twee keer
- twee
- onbekend
- tot
- bijwerken
- updates
- op
- us
- .
- gebruikt
- toepassingen
- gebruik
- geldig
- waarde
- Values
- Voertuigen
- zeer
- kwetsbaarheid
- wachten
- willen
- was
- Manier..
- manieren
- we
- week
- GOED
- gegaan
- waren
- Wat
- wanneer
- welke
- WIE
- Waarom
- Wild
- wil
- afvegen
- Met
- Won
- prachtig
- Mijn werk
- werkzaam
- Bedrijven
- wereldwijd
- waard
- waardig
- zou
- het schrijven van
- geschreven
- jaar
- jaar
- nog
- u
- Your
- zephyrnet