Zephyrnet-logo

ThinkPad X1 Carbon veranderde van USB-apparaat door meedogenloos graven

Datum:

In wat misschien wel een van de meest indrukwekkende posts over reverse engineering van laptops in de recente geschiedenis is, brengt [Andrey Konovalov] ons een ongelooflijk gedetailleerd verhaal van hoe hij een USB heeft ontdekt en met succes heeft ingeschakeld apparaat controller in een ThinkPad X1 Carbon uitgerust met een 6e generatie Intel CPU.

Als je ooit een kijkje wilt nemen in de vuile geheimen van een enigszins modern Intel CPU-gebaseerd systeem: dit artikel spaart je geen details en omvat tientallen abstractielagen – van Linux-stuurprogramma's en het aanpassen van NVRAM tot het bouwen van aangepaste USB-kabels en BIOS-chip knippert, diep gravend in ongedocumenteerde PCH-registers voor het toetje.

Het enige dat [Andrey] wilde, was voorkomen dat er aan een extra Raspberry Pi moest worden gesleuteld. Tijdens het gebruik van een op PCIe aangesloten apparaatcontroller heeft hij een verwijzing gevonden naar intel_xhci_usb_sw-role-switch in Linux sysfs, en dook in een konijnenhol, waar hij ontdekte dat de IP-kern die wordt gebruikt voor de USB-poorten van de laptop een 'apparaat'-modus heeft die kan worden ingeschakeld. Een zoektocht door ACPI-tabellen bevestigde dit, maar benadrukte ook dat het apparaat is uitgeschakeld in het BIOS. Bovendien bleek het achter een verborgen menu te zitten. Er volgden experimenten om dat menu te ontgrendelen, vooral als het ging om het omzeilen van Intel Boot Guard, een mechanisme dat de handtekeningen van BIOS-images controleert voordat het wordt opgestart.

Een SPI-socket [Andrey] kreeg op Adafruit voor het gemak van het patchen van het BIOS om het verborgen menu te ontgrendelen

[Andrey] laat ons een paar verschillende manieren zien waarop hij heeft geprobeerd de controller in te schakelen, gewoon voor de lol, van het gebruik van BootGuard-exploits tot het reverse-engineeren van NVRAM EFI-variabelentoewijzing, en zelfs een lang hoofdstuk over rechtstreeks in de registers van Intel PCH prikken om te proberen om het USB-apparaatrandapparaat vanuit de gebruikersruimte in te schakelen, bijgestaan ​​door [Maxim Goryachy] van Bekendheid met reverse-engineering van Intel. Uiteindelijk bleek de manier van patchen via NVRAM de meest haalbare manier voor een gemiddelde gebruiker, en de blogpost bevat meer dan genoeg details voor elke ondernemende hacker die het ook voor hen zou willen laten werken.

Als overwinningsdans krijgen we een sectie over alle prachtige dingen die u kunt doen als uw apparaat de USB-apparaatmodus ondersteunt. Er is een voor de hand liggend voorbeeld van USB-opslag, maar [Alexey] laat ons een paar coole tools zien om te onthouden: het Raw Gadget Linux-kernelframework voor het bouwen van elk soort USB-apparaat waar je maar van kunt dromen, de syzkaller USB-stackfuzzer, en Gezichtdanser, een raamwerk voor emulatie van USB-apparaten.

Als je dit allemaal veel vindt, houd er dan rekening mee dat we slechts ongeveer de helft van alle leuke dingen in de blogpost hebben beschreven – dat zou je moeten doen ga het eens bekijken, en zet een kopje thee, want er valt zoveel leuks te leren.

Deze blogpost is werkelijk een bewijs van de toewijding van een hacker en een lichtend voorbeeld van hoe ver je kunt reiken als je bereid bent te blijven graven. Heeft uw laptop verberg enkele geheimen waarvan niemand wist dat het bestond? Onthoud: er is maar één manier om daar achter te komen.

spot_img

Laatste intelligentie

spot_img