- Honkydoo blogja
- A hozzászóláshoz be kell jelentkezni
- 1640 megtekintés
Hozzászólások
https://www.youtube.com/watch?v=nuruzFqMgIw
Az első két percben demózza egy pendrive-al, ami egy időre billentyűzetnek mondja magát és futtat néhány dolgot.
BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)
- A hozzászóláshoz be kell jelentkezni
Nagyjából annyi a lényege, hogy az USB-s eszközök egy részének a kontrollere USB-n keresztül újraprogramozható és feltölthető rá olyan kód, ami az eszköz csatlakoztatása után képes eszközazonosítót váltani és más típusú eszközként működni.
Pl. van egy usb sticked, ami mass storage idvel rendelkezik, a támadó erre a stickre feltölt egy "patchelt" firmwaret, ami továbbra is mass storageként működik, de bizonyos időközönként id-t vált mondjuk billentyűzetre és olyan karaktersorozatokat küld, mintha bizonyos parancsokat akarna a user futtatni.
A trükk elég régi, pepitában hasonló elvet követnek a "hacker" keyboardok. Itt egy gyári billentyűzet USB vonalaira ültetnek rá egy HID és egy mass storaget emuláló kontrollert. Figyeli a forgalmat és az alkalmas pillanatban elkezd "gépelni",majd storage módba váltva telepíti a tartalmat.
Annyi az extra, hogy most valaki rájött arra, hogy a mass storagekben használt PHION kontroller egy felpimpelt 8051 és vette a fáradtságot, hogy csinált hozzá módosított firmwaret.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "
- A hozzászóláshoz be kell jelentkezni
Mit jelent az a szó, hogy felpimpelt? Még sohasem hallottam. A 8051-et értem, valaha írtam programot 80C32-re. Bár annál vacakabb utasításkészletű eszközzel nem találkoztam.
Úgy látom, hogy a támadás nem csak így történhet, hanem már helyből lehet preparált a hardware, s akkor is baj van. Például felhasználó azt hiszi, pendrive-ot dug a csatlakozóba, de valójában nem csak azt.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Nagyon sok usb eszköz chipje valamilyen olcsó kontroller coret és valamilyen céllogikát tartalmazó katyvasz, ezt jelenti a felpimpelés. Az interfacegyártók szeretnek spórolni. Vesznek egy olcsó coret, addig pofozgatják, míg sebesség tekintetében elég gyors lesz a megcélzott buszhoz és utána leemulálja szoftverből a protokolt. Ilyenek mikrokontrollerhez illeszthető primitív host kontrollerek vagy épp valamilyen céleszközök, ne adj isten hardwarekulcsok. Vagy ilyen, mikor az ATtiny-vel direktben emulál az ember HID-et vagy serial device-t.
Lehet helyből is preparálni pendriveot, de egy támadásnál sokkal hatásosabb, ha a támadó az áldozat magasabb bizalmi szinten álló eszközét támadja meg.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "
- A hozzászóláshoz be kell jelentkezni
Ezt egyfelől érteni vélem, másfelől viszont úgy látom, hogy ha a támadó a gépemen programot futtathat, hogy lecserélje az USB eszköz firmware-ét, akkor már eleve baj van, hiszen akkor már a sikeres megtámadottság állapotában vagyok.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Alapszitu: X ügynök találkozik Y ügynökkel. X odaadja a pendrivját Y-nak, hogy felmásoljon rá egy nagyontitkosfile.zip-et. Y megpatcheli X pendriveját és felmásolja a nagyontitkosfile.zip-et. X nem bízik Y-ban ezért futtat egy víruskeresőt a pendrive-on, ami semmit nem talál. X megnyugszik és továbbadja a pendrive-ot a főnökének és megesküszik, hogy minden kóser. A főnök betolja a driveot a gépbe, elkezdi olvasgatni a nagyontitkosfile.zip-et, és amikor elmegy ki kávézni, akkor a pendrive aktiválja magát.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "
- A hozzászóláshoz be kell jelentkezni
No igen, így stimmel. Ha van mód a pendrive firmware-ének permanens módosítására, pl. valamilyen flash, EEPROM eszközben tárolódik az, akkor bizony baj van.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Abban tárolódik. Mert olcsóbb és könnyebb módosítani, mint minden egyes revíziónál új die-t gyártani.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "
- A hozzászóláshoz be kell jelentkezni
Én nem értem hol a probléma. 10 éve is lehetett olyan USB-PIC vezérlőt gyártani otthon, hogy Soros port és billentyűzet is volt azonos időben, sőtt, akár váltotta, hogy éppen mi az.
Ha pedig veszel egy USB-s vonalkódolvasót, akkor ha szerencsén van nem csak USB-HID (billentyűzet) kommunikációt tud, hanem USB-CDC (soros port) is a lehetőségek között van. Amit általában valami tool-al, vagy konfigurációs-vonalkódok egymásutáni beolvasásval tudsz beállítani.
Ez egy olyan tulajdonsága az eszközöknek amitől használható lesz az.
OS-részről viszont védhető lehetne. Általában 1 billentyűzet és 1 égér van gépenként, ezt lehetne korlátozni, hogy melyik csatlakozóban van, és innentől másat nem fogad el. Esetleg csak a megfelelő azonosítóval rendelkező eszközöket fogadja el a megfelelő porton. Linux alatt eléggé sok-minden megoldható udev szabályokkal.
- A hozzászóláshoz be kell jelentkezni
Azért az nem volna jó. Melóban van egy rossz billentyűzetű notebook, mindig az éppen szabad USB csatlakozóba dugom a billentyűzetet, de mivel kevés a lyuk, HUB mögé fogom.
Inkább azt mondanám, kellene egy időablak, amin belül regisztrálhat az eszköz, vagy például notify legyen, ami megüzeni a felhasználónak, hogy egy ilyen típusú bigyó regisztrálódott.
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE
- A hozzászóláshoz be kell jelentkezni
Természetesen úgy gondoltam, hogy teljes hozzáférésű portot is lehet akár definiálni, ahogy az most is van. Korlátozások nélkül.
A bedugott eszközök elfogadhatósága sem lenne rossz dolog. Bár sokan automatikusan a továbbra nyomnának olvasás nélkül.
- A hozzászóláshoz be kell jelentkezni
Notify most is van, ha új USB eszközt csatlakoztatok.
Ha ő hirtelen másnak hazudja magát, akkor újra le kell játszania a belépési protokollt az USB rendszerbe, nem? Szóval arról kapok egy notifyt, hogy öcsém, valami csatlakozott. Ha én nem csatlakoztattam akkor semmit, akkor ennek gyanúsnak kell lennie. Rosszul gondolom?
De így félszemmel követve OS szinten az elfogadóablak is egy megoldás lehet erre, nem?
--
blogom
- A hozzászóláshoz be kell jelentkezni
A windows-on megjelenő buborékra gondolsz?
Kb. azt kellene kicserélni egy olyanra, hogy "Új eszköz, ami szerintem ez és ezt tudja. Akarod hogy működjön?"
Persze hogy az egér és billentyűzet működjön azt ahhoz a porthoz amivel telepítéskor felismerte, azonnal hozzárendeli.
Ha a vonalkódolvasót vesszük példának nemhogy a kommunikáció formája más lesz ha változtatok azon a beállításon, hanem még az PID is változni szokott, persze nem mindig.
- A hozzászóláshoz be kell jelentkezni
Magára a hangra gondoltam, de igen.
Igen, értem.
A vonalkódolvasódnál két vonalkód leolvasása között változnak ezek? Ha jól értem, most ez a hiba olyan, hogy a kínai gagyi vonalkód-leolvasó két vonalkód-leolvasás közben kilép az USB rendszerből, majd belép, mint mondjuk egy billentyűzet, akkor csúnya dolgokat csinál, majd megint kilép, s visszalép, mint vonalkód-leolvasó. Most ez minimum 4 csipogás.
Persze, jó, hogy tudom, hogy van ilyen, de ez nem egy „észrevehetetlen”, borzalmas dolog akkor.
Vagy még mindig teljesen hülye vagyok?
--
blogom
- A hozzászóláshoz be kell jelentkezni
A vonalkódolvasós példát szerintem félreértetted. Én arra gondoltam, hogy van olyan eszköz ami így működik. Amikor bedugod akkor pl. billentyűzet állapotban van, tehát amit leolvasol az olyan lesz mintha billentyűzeten beütötted volna. Amikor leolvasol konfigurációs vonalkódot, kódokat, akkor megváltozik a tulajdonsága és sorosport emulációs eszköz lesz. Ilyenkor természetesen újracsatlakozik, ilyenkor jelezhetne az OS hogy hoppááá új eszköz a láthatáron, mi legyen vele.
Hasonló dolgot csináltak meg a pendrive-al, csak nem kell leolvasni vele semmiféle kódot, nem kell külső beavatkozás, stb...
Ott lehet gond a dologgal, hogy azt hiszed pendrive vagy épp egér amit bedugtál, de egyszer csak átváltozik gonosz billentyűzetté, vagy bármi mássá, csak a képzelet szab határt.
Viszont ilyen eszköz ezelőtt is előállítható volt, házilag is, könnyen pl. azzal amit fentebb példának hoztam PIC-USB. Akár egy Logitech egeret is át lehetett alakítani, hisz a belsejét nem nézed meg mi van benne. Bedugod egér, majd egyszer csak megváltozik.
- A hozzászóláshoz be kell jelentkezni
Érdeklődni szeretnék, hogy megelőzésként lementhetőek-e a mostani pendrive-jaimról az épp talán még nem fertőzött firmware-ek?
Nekem megéri a fáradtság hogy hetente visszatöltsem az original firmwareket
Jobb megelőzni a bajt :)
KisSzikra - TTZ Modding Csoport
- A hozzászóláshoz be kell jelentkezni
[ badscribe ]
- A hozzászóláshoz be kell jelentkezni
Köszönöm a válaszokat!
Ezek szerint talán mégsem akkora a baj, mint ahogy az index.hu beharangozta... Direkt nem azt a cikket linkeltem a bejegyzésben, ismerve az index.hu szakmai cikkeit..
- A hozzászóláshoz be kell jelentkezni