Vă amintiți Dieselgate, scandalul în care anumite vehicule diesel ar detecta un test de emisii și ar rula mai curat pentru el, „înșelând” testul? Traingate poate să-l pună în perspectivă. Vom spune povestea de la început, dar pune-ți centura pentru o plimbare sălbatică și uluitoare. Totul începe cu o revizie de întreținere a trenurilor poloneze. Aceste trenuri au fost construite de Newag, care a licitat pentru contractul de întreținere, dar contractul a fost câștigat de o altă companie, SPS. Acest tip de revizie implică spargerea fiecărui tren în componentele sale, inspectarea, lubrifierea etc. și repunerea totul la loc. Primul tren a trecut prin acest proces, a fost complet reasamblat și apoi a refuzat să se miște. După ce a epuizat toate măsurile convenționale de depanare, SPS a adus hackeri.
Dragon Sector este un grup de cercetare polonez, care a câștigat o oarecare atenție la nivel mondial pentru lucrează la securitatea BIOS al laptopului Toshiba. Și se dovedește că aceștia erau grupul perfect pentru job. De la asamblarea hardware-ului până la îmbunătățirea suportului Ghidra pentru arhitectura Infineon TriCore, a fost multă muncă depusă chiar și pentru a obține un punct de sprijin în sistemele trenului. Dar în cele din urmă au putut să facă depozite de memorie și să compare trenul stricat cu trenul care funcționează. Era un set de steaguri de configurare care păreau să țină tasta. Dar acest tren anume era mare nevoie în serviciu. Așa că Newag, producătorul inițial, a fost contactat în cele din urmă pentru a finaliza întreținerea și a pune trenul în funcțiune din nou. Totuși, hackerii nu sunt nimic, dacă nu persistenți. După ce a făcut o noapte întreagă și cu câteva minute literale, Dragon Sector a reușit să suprascrie memoria trenului spart cu o configurație validă și a prins din nou viață.
Până acum, nimic aici nu pare suspect. Verificările de pornire după întreținere ar putea merge cu ușurință prost, ducând la acest tip de situație. Dar Dragon Sector a continuat să sape, să-și perfecționeze instrumentele și să scoată mai multe secrete din firmware-ul trenului. Și ceea ce au găsit a fost uimitor. Pe primul loc au fost coordonatele GPS, care corespund fiecărei șantiere de tren din Polonia capabilă să facă acest tip de revizie de întreținere. Dacă un tren a fost parcat în orice curte de întreținere, dar a lui Newag, timp de peste 10 zile, steagul s-ar declanșa și trenul ar fi dezactivat. Este greu de văzut acea „trăsătură” ca altceva decât o încercare flagrantă de a cărămidă orice tren care nu s-a întors la Newag pentru întreținere. Dar stai, sunt mai multe.
Înlocuirea anumitor componente ar duce la o spargere similară, până când un cod de cheat nedocumentat a fost introdus în consola principală a computerului din tren. Într-un alt caz, un tren s-ar sparge după ce a lovit un milion de kilometri. Totuși, un alt tren era programat să se defecteze cu un compresor defect la o dată dată - și o eroare de programare a întârziat acea defecțiune până la un an mai târziu. În total, Dragon Sector a analizat 29 de trenuri din toată Polonia și a găsit aceste mici surprize minunate în 24 dintre ele. Prin intermediul CERT Polska din Polonia, agențiile de aplicare a legii au fost sesizate despre acest caz.
In raspuns, Newag a acuzat Dragon Sector de calomnie și infracțiuni informatice, precum și amenințări la adresa siguranței feroviare. Tot ce putem spune este că sperăm că o investigație amănunțită va stabili adevărul cazului și va cere socoteală pe adevărații criminali.
Este întotdeauna DNS
V-ați întrebat vreodată cum primește un server DNS actualizări despre numele DNS? Se pare că există câteva moduri. Una este ca clienții să trimită actualizări direct, publicându-și numele DNS și adresa IP. Actualizările dinamice DNS sunt acceptate în mai multe servere DNS, inclusiv Active Directory (AD), și în aproape fiecare implementare, aceasta are o implementare de securitate rezonabilă. Pe de altă parte, există și actualizări DNS trimise ca parte a unei solicitări DHCP. Si acelea… au probleme.
Acest text este foarte concentrat pe Active Directory, dar nu ne-ar surprinde să găsim o problemă similară în alte servere DHCP. Și anume, actualizarea DNS nu este autentificată. Orice dispozitiv căruia i se dă o adresă IP poate solicita un nume DNS în același timp. Modul în care funcționează într-un mediu de server Microsoft este că serviciul DNS își folosește propriile acreditări pentru a redirecționa actualizarea DNS către serverul DNS. Dacă acestea sunt două servere separate, iar numele este deja înregistrat direct de o altă gazdă, actualizarea va eșua. Dar un nume nerevendicat, sau chiar numele serverului DHCP în sine sunt de luat în mână. Și în cazul serviciilor DNS și DHCP care rulează pe același server, aproape orice nume DNS este în joc. Și într-un mediu AD, asta permite tot felul de atacuri ulterioare la autentificare.
Aceste probleme au fost raportate la Microsoft, care le consideră a fi probleme cunoscute, care nu merită o soluție de securitate. Merită să știți despre acestea atunci când construiți o rețea AD. Pentru a ne ajuta să ne ferim de necazuri, Akamai a scris Invoke-DHCPCheckup ca instrument Powershell pentru a verifica problemele.
Faceți diapozitivul JMP
Există o tehnică folosită atunci când scrieți exploit-uri, slide-ul NOP. Este o serie de comenzi No Operation urmate de codul shell-țintă. Ideea este că o vulnerabilitate va sări undeva în această zonă de memorie controlată de atacator, dar destinația exactă poate varia. Acest lucru este folosit atât de des încât blocurile de 0x90 în date este unul dintre indicii că poate fi rău intenționat. Există o problemă cu diapozitivul NOP, deoarece poate dura mai mult decât doriți să treceți prin toate instrucțiunile NOP pentru a ajunge la codul shell suculent. Și acolo diapozitivul JMP intră în joc.
Baza este că știm câți octeți au rămas în slide, așa că putem folosi instrucțiunile JMP pentru a merge direct la sarcina utilă. Este grozav, cu excepția alinierii. Și anume, codul mașinii x86 amestecă liber instrucțiuni și argumente. Dacă nu știți exact unde va ateriza instrucțiunea în buffer-ul dvs., de unde știți dacă sunteți pe cale să executați un jmp sau să executați offset-ul ca instrucțiune? Există câteva modalități evidente de a aborda acest lucru, cum ar fi utilizarea valorilor 0x90 ca argument pentru JMP, urmată de o zonă de alunecare NOP mult mai mică pentru a prinde JMP.
Și acesta este un pic o provocare, deoarece comanda JMP se bazează pe decalaje care pot fi pozitive sau negative, iar 0x90 se întâmplă să fie un offset negativ. Acest lucru poate funcționa, dar întreaga sarcină utilă shellcode trebuie să fie construită invers pentru a o gestiona. Există o altă opțiune, codurile operaționale JCC de salt condiționat. Acestea sunt 0x70-0x7F în codul mașinii, care reușește să fie decalaje pozitive. Singura problemă este că aceste salturi sunt condiționate de o valoare a registrului, care este necunoscută. Soluția finală este să utilizați codul operațional Jump if Greater de două ori, urmat de Jump if Less sau Equal de două ori. Ambele sunt compensații pozitive și ambele fac progrese constante prin slide-ul JMP pentru a ajunge în cele din urmă într-un mic slide NOP pentru a rula în cele din urmă shellcode. Inteligent!
Biți și octeți
După ce ați fost concediat, poate fi tentant să vă ardeți podurile la ieșire. Dacă aceasta include ștergerea depozitelor de coduri, ștergerea fișierelor jurnal, luarea codului proprietar acasă, furtul unui laptop de la serviciu și uzurparea identității colegilor... poate nu. Un inginer de software de la First Republic Bank pur și simplu nu a putut rezista tentației și va executa doi ani de închisoare, trei ani de probațiune și va plăti 529,000 de dolari pentru daune. Cu siguranță nu merită.
Și pentru o reamintire clară de ce nu totul trebuie conectat la rețea sau la Internet, vezi consecințele unui atac cibernetic asupra Kyivstar din Ucraina. Acest furnizor de telefonie și internet a fost dezafectat marți, în ceea ce pare a fi un atac devastator de ștergere a datelor. Băncile și magazinele sunt închise din cauza procesării plăților, iar cel puțin un oraș a trebuit să-și deconecteze manual luminile stradale de la rețeaua electrică, deoarece controlerul software a fost dezactivat ca un produs secundar al atacului. Poate că vechile cronometre mecanice erau mai bune până la urmă.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- PlatoHealth. Biotehnologie și Inteligență pentru studii clinice. Accesați Aici.
- Sursa: https://hackaday.com/2023/12/15/this-week-in-security-traingate-dns-and-jmp-slides/
- :are
- :este
- :nu
- :Unde
- $UP
- 000
- 10
- 24
- 29
- a
- Capabil
- Despre Noi
- Cont
- acuzat
- peste
- activ
- Active Directory
- Ad
- rețeaua de anunțuri
- adresa
- Promovare
- După
- din nou
- Agențiile
- Akamai
- aliniere
- TOATE
- permite
- deja
- de asemenea
- mereu
- an
- și
- O alta
- Orice
- nimic
- apare
- abordare
- arhitectură
- SUNT
- ZONĂ
- argument
- argumente
- AS
- At
- ataca
- Atacuri
- încercare
- atenţie
- autentificata
- Autentificare
- înapoi
- Rău
- prost
- Bancă
- Băncile
- bazat
- bază
- BE
- deoarece
- fost
- Început
- fiind
- Mai bine
- ofertă
- Pic
- BleepingComputer
- Blocuri
- atât
- Pauză
- Defalcarea
- Breaking
- poduri
- Spart
- adus
- tampon
- Clădire
- construit
- arde
- dar
- by
- a venit
- CAN
- capabil
- caz
- Captură
- sigur
- contesta
- verifica
- Verificări
- Oraș
- curat
- clientii
- închis
- cod
- cum
- vine
- companie
- comparaţie
- Completă
- componente
- calculator
- Configuraţie
- legat
- Lua în considerare
- Consoleze
- contract
- controlor
- convențional
- Corespunzător
- ar putea
- Cuplu
- scrisori de acreditare
- criminali
- Atac cibernetic
- de date
- Data
- Zi
- categoric
- Întârziat
- destinație
- detecta
- devastator
- dispozitiv
- diesel
- direct
- invalid
- dns
- do
- face
- făcut
- Dont
- jos
- balaur
- două
- dinamic
- fiecare
- cu ușurință
- Emisiile
- executare
- inginer
- Întreg
- Mediu inconjurator
- egal
- eroare
- stabili
- etc
- Chiar
- în cele din urmă
- Fiecare
- tot
- exact
- Cu excepția
- a executa
- exploit
- FAIL
- Fallout
- departe
- Fişiere
- final
- În cele din urmă
- Găsi
- concediat
- First
- Repara
- steaguri
- concentrat
- a urmat
- Pentru
- Înainte
- găsit
- în mod liber
- din
- complet
- mai mult
- dobândită
- obține
- obtinerea
- GitHub
- dat
- Go
- gps
- graifere
- mare
- mai mare
- Grilă
- grup
- hackeri
- HAD
- mână
- se întâmplă
- Greu
- Piese metalice
- Avea
- ajutor
- aici
- lovind
- deţine
- Acasă
- speranţă
- gazdă
- Cum
- Totuși
- HTML
- HTTPS
- idee
- if
- implementarea
- îmbunătățirea
- in
- În altele
- include
- Inclusiv
- Infineon
- în interiorul
- instrucțiuni
- Internet
- în
- investigaţie
- implică
- IP
- Adresa IP
- probleme de
- IT
- ESTE
- în sine
- Loc de munca
- jpg
- a sari
- salturi
- doar
- A pastra
- ținut
- Cheie
- Cunoaște
- Cunoaștere
- cunoscut
- Țară
- laptop
- mai tarziu
- Drept
- de aplicare a legii
- conduce
- conducere
- cel mai puțin
- stânga
- mai puțin
- Viaţă
- ca
- literal
- mic
- log
- mai lung
- uitat
- Lot
- maşină
- Principal
- întreținere
- face
- administra
- gestionează
- manual
- Producător
- multe
- Mai..
- poate
- măsuri
- mecanic
- Memorie
- Microsoft
- milion
- minute
- Amestecuri
- mai mult
- muta
- mult
- multiplu
- nume
- și anume
- nume
- necesar
- nevoilor
- negativ
- reţea
- Nu.
- nimic
- evident
- of
- compensa
- compensările
- de multe ori
- Vechi
- on
- dată
- ONE
- cele
- afară
- OpCode
- operaţie
- Opțiune
- or
- original
- Altele
- afară
- peste
- Recondiționare
- propriu
- parte
- special
- Plătește
- plată
- procesarea plății
- Perfect
- telefon
- Plato
- Informații despre date Platon
- PlatoData
- Joaca
- Polonia
- Poloneză
- pozitiv
- putere
- Rețea de energie electrică
- PowerShell
- destul de
- închisoare
- Problemă
- proces
- prelucrare
- Programare
- Progres
- proprietate
- furnizorul
- trăgând
- pune
- Punând
- cu totul
- Calea ferata
- rezonabil
- rafinare
- Inregistreaza-te
- înregistrată
- aducere aminte
- Raportat
- Republică
- solicita
- cercetare
- grup de cercetare
- răspuns
- Călări
- dreapta
- Alerga
- funcţionare
- Siguranţă
- acelaşi
- Spune
- Scandal
- programată
- secrete
- sector
- securitate
- vedea
- părea
- pare
- trimite
- trimis
- distinct
- serie
- servi
- serverul
- servere
- serviciu
- Servicii
- set
- asemănător
- situație
- Diapozitiv
- Diapozitive
- mic
- mai mici
- So
- Software
- Inginer Software
- soluţie
- unele
- undeva
- puternic
- începe
- lansare
- constant
- magazine
- Poveste
- stradă
- a sustine
- Suportat
- surpriză
- surprize
- suspicios
- sisteme
- Lua
- luate
- luare
- Exploatat
- Ţintă
- tehnică
- spune
- spune
- test
- decât
- acea
- lor
- Lor
- apoi
- Acolo.
- Acestea
- ei
- acest
- în această săptămână
- aceste
- deşi?
- amenințări
- trei
- Prin
- timp
- la
- împreună
- a spus
- de asemenea
- instrument
- Unelte
- Toshiba
- Tren
- trenuri
- declanşa
- necaz
- adevărat
- Adevăr
- marţi
- se transformă
- De două ori
- Două
- necunoscut
- până la
- Actualizează
- actualizări
- pe
- us
- utilizare
- utilizat
- utilizări
- folosind
- valabil
- valoare
- Valori
- Vehicule
- foarte
- vulnerabilitate
- aștepta
- vrea
- a fost
- Cale..
- modalități de
- we
- săptămână
- BINE
- a mers
- au fost
- Ce
- cand
- care
- OMS
- de ce
- Sălbatic
- voi
- șters
- cu
- Castigat
- minunat
- Apartamente
- de lucru
- fabrică
- la nivel internațional.
- valoare
- vrednic
- ar
- scris
- scris
- an
- ani
- încă
- tu
- Ta
- zephyrnet