{"id":672,"date":"2013-01-21T14:39:09","date_gmt":"2013-01-21T22:39:09","guid":{"rendered":"http:\/\/www.outflux.net\/blog\/?p=672"},"modified":"2015-05-05T13:20:16","modified_gmt":"2015-05-05T21:20:16","slug":"facedancer-built","status":"publish","type":"post","link":"https:\/\/outflux.net\/blog\/archives\/2013\/01\/21\/facedancer-built\/","title":{"rendered":"facedancer built"},"content":{"rendered":"<p>I finally had the time to put together the <a href=\"http:\/\/goodfet.sourceforge.net\/hardware\/facedancer11\/\">facedancer11<\/a> that <a href=\"http:\/\/travisgoodspeed.blogspot.com\/\">Travis Goodspeed<\/a> was so kind to give me. I had ordered all the parts some time ago, but had been dreading the careful surface-mount soldering work it was going to require. As it turned out, I&#8217;m not half bad at it &#8212; everything seems to have worked the first time through. I did, however, fail to order 33ohm 0603 resistors, so I have some temporary ones in use until I can replace them.<\/p>\n<p><img decoding=\"async\" src=\"\/projects\/facedancer\/facedancer11.jpg\" alt=\"My facedancer\" \/><\/p>\n<p>This device allows the HOST side computer to drive USB protocol communication at the packet level, with the TARGET seeing a USB device on the other end. No more needing to <a href=\"http:\/\/www.outflux.net\/blog\/archives\/2012\/05\/16\/usb-avr-fun\/\">write careful embedded code<\/a> while breaking USB stacks: the fake USB device can be controlled with Python.<\/p>\n<p>This means I&#8217;m able to start some more serious fuzzing of the USB protocol layer. There is already code for emulating HID (Keyboard), Mass Storage, and now Firmware Updates. There&#8217;s probably tons to look at just in that. For some background on the fun to be had just with Mass Storage devices, see <a href=\"http:\/\/www.youtube.com\/watch?v=dp7IMyXyfvA#t=460\">Goodspeed&#8217;s 23C9 presentation<\/a> on it.<\/p>\n<p style='text-align:left'>&copy; 2013 &#8211; 2015, <a href=\"https:\/\/outflux.net\/blog\/\">Kees Cook<\/a>. This work is licensed under a <a rel=\"license\" href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/4.0\/\">Creative Commons Attribution-ShareAlike 4.0 License<\/a>.<br \/><a rel=\"license\" href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/4.0\/\"><img decoding=\"async\" alt=\"CC BY-SA 4.0\" style=\"border-width:0\" src=\"https:\/\/i.creativecommons.org\/l\/by-sa\/4.0\/88x31.png\" \/><\/a> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>I finally had the time to put together the facedancer11 that Travis Goodspeed was so kind to give me. I had ordered all the parts some time ago, but had been dreading the careful surface-mount soldering work it was going to require. As it turned out, I&#8217;m not half bad at it &#8212; everything seems [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,20,3,6,14,19],"tags":[],"_links":{"self":[{"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/posts\/672"}],"collection":[{"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/comments?post=672"}],"version-history":[{"count":4,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/posts\/672\/revisions"}],"predecessor-version":[{"id":782,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/posts\/672\/revisions\/782"}],"wp:attachment":[{"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/media?parent=672"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/categories?post=672"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/outflux.net\/blog\/wp-json\/wp\/v2\/tags?post=672"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}