USB hack door Reverse Engineering (7 / 12 stap)

Stap 7: Wat berichten te sturen?


Nu we gebruik maken van kunnen Python + LibUSB controle eindpunt pakketten met het commando te sturen

ctrl_transfer (bmRequestType, bmRequest, wValue, wIndex, nBytes)

Deze opdracht kan doen zowel verzendende en ontvangende afhankelijk van wat bmRequestType zegt (input of output). Toch is er een heleboel opties hier. Voor het verzenden van de juiste opdracht waarvan u de naam wilt weten van de RequestType en de juiste verzoek en ther recht waarde, evenals de Index en hoeveel bytes te lezen of schrijven.

Als we volledig op onze eigen zouden, zou we beginnen door te proberen om gegevens te lezen van het apparaat. Dit betekent dat we moeten eerst de RequestType

Richting Type ontvanger
D7 D6 D5 D4 D3 D2 D1 D0
Voor bmRequestType is de doorgegeven waarde zeer gestructureerde, dus dat is niet zo moeilijk te raden. (Zie lvr.com voor meer informatie)

Bits, 2, 3 en 4 zijn reserves hen dus ingesteld op 0.
De richting is ingesteld door bits #7, 0 is een 'schrijven' uit het apparaat, 1 is een 'lezen' vanaf het apparaat
Het 'type' bericht is twee bits, 0 = standaard, 1 = klasse, 2 = leverancier, 3 = voorbehouden. Voor veel apparaten die niet-standaard, zult u waarschijnlijk willen 2 voor fabrikanttype. Als het een meer gangbare type apparaat, zoals een camera of microfoon, probeer 0 of 1. 3 wordt niet gebruikt
De laatste twee bits zijn usd om de geadresseerde voor het bericht 0 = apparaat, 1 = Interface, 2 = eindpunt, 3 = andere. Gaan met 0 om te beginnen, kunt u proberen 2 als er andere eindpunten
Het veiligste om te doen is het lezen van gegevens (geen manier om iets te overschrijven of configureren) kunt u dat doen door het verzenden van pakketten met 0b11000000 (Lees leverancier gegevens van het apparaat) = 0xC0.

Als ik moest schrijven van een fuzzer, zou ik beginnen met Index instellen op 0 en doorlopen alle de bytewaarden (255 verschillende waarden) van bmRequest en de eerste paar honderd wValues. Zijn vrij veilig om gewoon lezen willekeurige gegevens op een USB-apparaat. Begin met het lezen van één byte om te zien of om het even wat verschijnt, dan verhogen de waarde

usb.core importeren
usb.util importeren
importeren van sys

# find onze apparaat
dev = usb.core.find (idVendor = 0x045e, idProduct = 0x02B0)

# was het gevonden?
als dev geen:
verhogen van de ValueError ('apparaat niet gevonden')

# Stel de actieve configuratie. Zonder argumenten, de eerste
# configuratie is de actieve
dev.set_configuration()

# Laten we fuzz rond!

# Laat start door het lezen van 1 byte van het apparaat met behulp van verschillende verzoeken
# bRequest is een byte, dus er 255 verschillende waarden zijn
voor bRequest in range(255):
Try:
RET = dev.ctrl_transfer (0xC0, bRequest, 0, 0, 1)
afdrukken van "bRequest", bRequest
afdrukken ret
met uitzondering van:
# fout bij het ophalen van gegevens voor dit verzoek
Pass

Ziet eruit als verzoek waarden 0, 5, 16, 50, 54, 64, 80 en 112 die allemaal een soort van gegevens terug. De rest had niets te lezen

Volgende die we proberen zullen om meer gegevens te lezen door het veranderen van het laatste argument tot 100 bytes
OK veel gegevens, maar wat betekent het? Dit is waar sommige raden gebaseerd op het apparaat zelf zou van pas komen. Ik ben wel erg lui en als gegeven een optie om te voorkomen dat een heleboel giswerk, ik neem het!

Gerelateerde Artikelen

Een werkende sleutel van schroot maken door reverse-engineering van een sluis

Een werkende sleutel van schroot maken door reverse-engineering van een sluis

heb je verloren alle sleutels voor uw lock en moeten maken van een nieuwe sleutel van kras?  Heeft de slotenmaker gebrek een lege sleutel die van uw slot Spiebaan passen zal? Pak een metalen bestand, sommige blad schroot, en lees verder voor een ruwe
Reverse-engineering: USB gecontroleerd huisautomatisering houwer

Reverse-engineering: USB gecontroleerd huisautomatisering houwer

Hack een draadloos domoticasysteem te USB gecontroleerd met behulp van twee AVR microcontrollers!Check de video! Het systeem is echt meer responsieve, maar de browser op mijn telefoon is traag.Als je dit leuk vindt, kan u ook als volgt:Stap 1: Vaardi
De spion oor Hack en leren om Reverse-engineering toepassen op een Circuit

De spion oor Hack en leren om Reverse-engineering toepassen op een Circuit

dit instructable introduceert het eerbiedwaardige spion oor in details en mijn weg naar het omgekeerde ingenieur een circuit.Waarom wordt dit apparaat verdient zijn eigen instructable?:-U kunt kopen een spion oor voor een dollar!-Het kan geluiden ver
Reverse-engineering toepassen RF afstandsbediening Controller voor IoT!

Reverse-engineering toepassen RF afstandsbediening Controller voor IoT!

In dit instructable, leert u hoe om te keren ingenieur radiofrequentie (RF) afstandsbedieningen en implementeren in een zeer goedkope WiFi toegelaten computer, het knooppunt MCU. Met deze techniek kunt u IoT inschakelen oudere toestellen en doelappar
Reverse-Engineering: RGB LED-lamp met IR afstandsbediening

Reverse-Engineering: RGB LED-lamp met IR afstandsbediening

We 20 van deze RGB LED-lampen gekocht voor een feestje op het werk, maar ik was een beetje teleurgesteld met de kleur vervagen functies die zij verstrekt. Dus besloten heb ik om een apart, omgekeerde ingenieur het IR-protocol, en zien of het had meer
Reverse-Engineering

Reverse-Engineering

veel van de leden hier op Instructables vragen over gegevensbladen of pin-outs van een apparaat of de weergave in de antwoorden, helaas u cant altijd krijgen een gegevensblad en schema's, in deze gevallen heb je slechts één keuze hierop reverse-engin
Reverse-Engineering Live

Reverse-Engineering Live

Ik begon in elektronica vóór de komst van het internet en meest solide staat onderdelen, dus krijgen gegevensbladen en schema's niet makkelijk voor mij was. Vandaag met fabrikanten maken van aangepaste ICs en LCD-schermen voor alles van telefoons tot
Reverse Engineering een kleine versterker

Reverse Engineering een kleine versterker

Mijn andere Instructables op reverse-engineering is op onderdelen die je niet gegevensbladen en pinouts voor. Ik reverse-engineering die een paar circuit boards een week, kleintjes als deze neem me over een dag om te keren ingenieur en strip voor hun
Reverse Engineering een schrikdraad lader

Reverse Engineering een schrikdraad lader

Reverse-engineering iets kunnen een grote vorm van zowel entertainment en onderwijs.  Ik heb vaak inkoopartikelen net voor de bevrediging van de demontage van hen om te bepalen hoe zij functioneren en hoe ze zijn ontworpen.  Langs de weg, kunt u verb
Reverse-Engineering = Uzzors2k = uitgesproken Android App. Amarino spul ook.

Reverse-Engineering = Uzzors2k = uitgesproken Android App. Amarino spul ook.

Dit instructable meestal mensen die proberen te rijden/james bond (morgen nooit sterft natuurlijk) rc auto's zal helpen.  Als je gewoon proberen te zetten lichten, of controle van uw garage met bluetooth van een android telefoon, er zijn vele andere,
PCB Reverse Engineering met behulp van GIMP

PCB Reverse Engineering met behulp van GIMP

er zijn slechts enkele artikelen of gidsen die laat zien hoe u kunt reverse engineering een PCB met behulp van een jpg of png-afbeelding die u hebt of u neemt voor een PCB. Ik probeerde vermeld op deze site, maar ik heb niet succes.Het doel van rever
Reverse-engineering toepassen hulpmiddel van de Schoonmaakbeurt voor optimale computerprestaties

Reverse-engineering toepassen hulpmiddel van de Schoonmaakbeurt voor optimale computerprestaties

Als u om het even wat als me bent, zou u willen hebben en het nemen van controle over alles op uw computer. U ust kunnen bepalen hoeveel opslag wordt gebruikt voor programma's blah blah blah.Hoewel toepassingen mogelijk nuttig om dingen gedaan te kri
Hoe reverse-engineering van pcb

Hoe reverse-engineering van pcb

PCB reverse-engineering, ook bekend als PCB klonen of PCB kopiëren, reverse engineering technologie op de PCB die werd ontworpen en vervaardigd door anderen wordt gebruikt, is het gebruik van PCB gerelateerde software om te kopiëren van andermans pri
Auto USB Hacking

Auto USB Hacking

In dit ondoorgrondelijke ik zal u tonen hoe maak je een automatische hacken van USB-drive. Dit is mijn eerste tutorial, dus kale met mij.Deze tutorial moet ook worden gebruikt voor juridische en educatieve doeleinden. Ik ben niet verantwoordelijk voo