Malduino Elite – Ensimmäiset näyttökerrat
A WAWE BACK, koosin artikkelin Malduinosta, Arduino-pohjaisesta avoimesta Badusb-laitteesta. Löysin työpaikan kiehtovaa, joten kirjautunut eliittiversioon sekä tarpeeksi, ystävällinen postimies putosi sen pois postilaatikkoon viime perjantaina, mikä tarkoittaa, että minun täytyy pelata sen kanssa viikonloppuna. Niille, jotka jättivät artikkelin, Malduino on USB-gadget, joka pystyy jäljittelemään näppäimistön sekä pistämään näppäimistöjä muun muassa. Kun sopiva kotelo, se näyttää vain USB-muistitikulta. Se on kuin ne, mitä näet elokuvissa, joissa kaveri liittyy gadgetissa sekä Auto Auto The Computer. Se aluksia kahdessa versiossa, Lite sekä Elite, jotka molemmat perustuvat ATMEGA32U4: een.
Lite-versio on todella pieni, lisäksi USB-liittimen lisäksi se sisältää vain kytkimen, joka mahdollistaa yksilön valita käynnissä sekä ohjelmointitilaa sekä LED, joka ilmaisee, milloin komentosarja on suorittanut käynnissä.
Alkuperäinen Malduino Elite Sketch sekä Lite Prototype
Elite-versio on isompi, sisältää mikro-SD-kortin kävijä sekä neljä DIP-kytkintä, jotka mahdollistavat yksilön valita, mikä komentosarja kulkee kortilta. Se on myös LED, joka ilmaisee, milloin käsikirjoitus on päättynyt. Tämä mahdollistaa yksilön irrottaa laiteohjelmiston vain silloin, kun se sitten ohjelmoida Micro-SD-kortilla pidettyjä näppäinten ruiskutuskäytäntöjä, toisin kuin Lite-versio, joka on vilkkuu joka kerta, kun yksittäinen halu suorittaa toisen komentosarjan.
Nämä ovat kaksi malduinosta sekä koska ne on ohjelmoitu suoraan Arduino IDE: stä, jokainen juuri mainitsin, voidaan ohjelmoida uudelleen, purkaa tai pudottaa kaikki yhteen. Voit ostaa yhden ja valita vain käyttää sitä kuin “normaali” Arduino, vaikka ei ole paljon nastat pelaamaan. Tämä joustavuus oli yksi ensimmäiset asiat, joita pidin siitä, ja todella ajoi minut osallistumaan väkijoukon rahoituskampanjaan. tarkistettu täydellisen tarkistuksen kannalta.
Laitteisto
Malduino Elite vs USB-muistitikku
Joten eliitin aluksella esitetään rutiininomaisesti ja huomasin itseni pitkään katsomaan sitä. Huolimatta siitä, että se on pidempi kuin Lite-versio, se on melko pieni, mitataan noin 4,6 cm x 1,1 cm (noin 1,8 x 0,43 in), jonka voit nopeasti sopeutua vanhaan USB-tapaukseen, vaikka sinun täytyy leikata joitakin PIP-kytkinten reiät sekä mikro-SD-kortti. Yleisön rahoituskampanjassa alkuperäinen luonnos oli 3 DIP-kytkinversiota, mutta lopullinen eliitti on neljä, mikä löysin mukavan. I Kytkin sen vanhaan tietokoneeseen, kun taas jonkinlainen laiteohjelmisto voi lähettää sekä mitä se saattaa tehdä kannettavaksi, samoin kuin riittävä punainen LED ilmestyi. Sekä tämä oli se. ei mitään muuta.
Kun olet pelannut kytkimien kanssa sekä harjoittaa joitakin RTFM: tä, tajusin, että laiteohjelmisto on aluksia, on todennäköisesti jonkinlainen q.c. Testaa dipsille, mikä tekee Malduinon lähdöstä numerot 1-4 (tosiasiallisesti simuloivat näppäimistön 1 – 4) riippuen siitä, mitkä kytkimet ovat päällä. Toistaiseksi niin hyvä, se toimii samoin kuin olen nähnyt pahempaa PCB-levyä kuin tämä. Hallitus on reikiä kuusi nastalle, joita en jäljellä mikro-ohjaimeen, eikä en ymmärrä, mitä he ovat.
Asennus
Malduinon käyttöönotto on asennettu ARDUINO IDE sekä niin paljon kuin päivämäärä. Vaatimus avata hallituksen päällikkö sekä perustaa SparkFun-levyt, koska eliitti on ohjelmoitu “Sparkfun Pro Micro”, joka toimii 3,3 V: n ja 8 MHz: n kanssa. Sitten vaadit mennä Malduino-skriptiverkkosivustolle, joka palvelee useita tarkoituksia:
Sen avulla voidaan muuntaa komentosarjat LITE: n ja Elite-versioiden välillä
Sen avulla voit valita näppäimistön suunnittelun kielen
Se tuottaa ARDUINO-työn, jotta voit tuoda IDE: hen
Elite-versiota varten tuota vain yksinkertainen tai jopa tyhjä skripti, joka lataa projekti, koska kun “normaali” -toiminnolla vilkkuu vain Malduinon, kun käytät mikro-SD-korttia tallentamaan uusia skriptejä.
Huomautus vilkkuu, jos käytät Debian-pohjaista jakelua, saatat joutua joihinkin kysymyksiin, kuten minä, ei voi vilkkua laitetta. Kuten yksilö tässä hyödyllisimmässä postissa, minun modeemin johtaja yritti puhua Malduinon kanssa jokaisen nollauksen jälkeen sekä hämmentynyt avrdude kuolemaan. Ratkaisu on lisätä UDEV-sääntöjä “/etc/udev/ruules.d/77-mm-usb-device-blacklist-local.rules”, Kudos [SOCRIM]:
1
2
3
4
5
6
7
8
Toiminta! = & Quot; add | Muuta & quot;, goto = & quot; mm_usb_device_blacklist_local_end & quot;
Osajärjestelmä! = & Quot; USB & quot;, goto = & quot; mm_usb_device_blacklist_local_end & quot;
Env {devtype}! = & Quot; usb_device & quot;, goto = & quot; mm_usb_device_blacklist_local_end & quot;
Attrat {idvendor} == & quot; 1b4f & quot; Attrat {idproduct} == & quot; 9204 & quot;, env {id_mm_device_ignore} = & quot; 1 & quot;
Attit {idvendor}=="1b4f" ATTRS{idProduct}=="9203", ENV{ID_MM_DEVICE_IGNORE}="1"
LABEL="mm_usb_device_blacklist_local_end"
Ohjelmisto
Since I’m running Linux, a quick shortcut to run a command is the ALT-F2 combination. So I script that into a data as well as save it to 1111.txt. The Elite searches the Micro-SD card for a data corresponding to the present dip switch state. lets state the dip switch 2 as well as 4 are ON. In this case, the software application tries to discover the data named 0101.txt as well as parse its contents (as in dip switch order 1,2,3,4 as well as not the binary representation of the number 2 as well as 4) . When it finishes, the red LED starts flashing quickly. My simple script was:
1
2
3
4
5
6
7
8
9
10
DELAY 2000
ALT F2
DELAY 1000
STRING xterm
DELAY 1000
TULLA SISÄÄN
DELAY 1000
STRING id
DELAY 1000
TULLA SISÄÄN
But it was not working. almost all commands worked however the ALT-F2 combo was not working properly. Close, however no cigar. No ALT-F2, no run command window. I’ve already lazy-browsed the source code a bit since I truly didn’t have a great deal of time on my hands however I needed to figure this out. The offending code was this:
1
2
3
4
5
6
else if(equals(s,e,"F1",3)) Keyboard.press(KEY_F1);</pre>
else if(equals(s,e,"F2",3)) Keyboard.press(KEY_F2);
…
else if(equals(s,e,"F10",3)) Keyboard.press(KEY_F10);
else if(equals(s,e,"F11",3)) Keyboard.press(KEY_F11);
A custom equals function was getting size 3 for the strings of the function keys, like “F2”. It was okay for “F10”, “F11” as well as “F12”, however failed for the rest of the keys. altering 3 to 2 did the trick, however my Portuguese keyboard design started to interfere with other test scripts. So I altered the code to include PT as well as UK layouts, altering them in a #define at compile time.
It would be awesome if it was possible to gain access to the SD card from the computer as a routine USB volume. I don’t understand precisely exactly how feasible that is, however it does not include the present firmware. I still wished to be able to output the material of an arbitrary data on the SD card to the screen, so I added one more script function called ECHOFILEHEX that outputs the material of a data in the SD card as getaway characters. For example, if the data a.txt contains “AAA”, the script command ECHOFILEHEX a.txt would output “\x41\x41\x41”. This can be useful to echo binary data into printf or echo -e, in Linux holds at least.
Meanwhile, I had some difficulty reading the original code. You know, all of us have different programming styles. Don’t get me wrong, I’ve been understood to compose some messed-up spaghetti code. I sometimes search old jobs looking for some libs or classes I coded as well as question ‘who the heck composed this steaming stack of code?’ Me, it was me. Anyway, I started to modification a bit right here as well as there as well as ended up altering quite much the entire code. That’s the beauty as well as the curse of open-source. If you’re curious you can inspect it out here.
Conclusion
All in all, as well as in spite of some bumps, I’m rather delighted with Malduino. It is what I expected: an open platform for BadUSB attacks that’s in its infancy. It’s incredible that we can all tinker with it, customize it, make it much better or just make it fit our needs. I hope a genuine neighborhood can begin so we can see its full prospective emerge. My short listing includes simulating other USB devices, much better SD card management, as well as broadening the gadget via the unused pins. What would you add?
It’s a long method to go as well as a great deal can go wrong, so great luck with the job [Seytonic]!