After many months of hard work, Practical IoT Hacking is available now through NoStarch’s Early Access program and print copies are scheduled to be released at the beginning of 2021!
I must say that this was a very interesting project with an awesome multidisciplinary team that contributed to make this book a very solid read for anyone wanting to understand concepts and techniques for IoT security.
Finally, I just want to thank everyone. I really hope you all like what we decided to put on this book and please do spread the word among your friends. It really helps 🙂
Go to Preferences -> Protocols -> DLT_USER -> DLT Table and add a new entry for DLT User 10 (DLT=157) with Payload protocol value as “nordic_ble”. This fix also works with captures from other sniffers, simply adjust the Payload protocol value. For example, Ubertooth captures needs DLT=147 set to btle.
When users type in input fields, the software automatically suggests data. This feature can be very useful for messaging apps. However, the keyboard cache may disclose sensitive information when the user selects an input field that takes this type of information.
Static Analysis
In the layout definition of an activity, you can define TextViews that have XML attributes. If the XML attribute android:inputType is given the value textNoSuggestions, the keyboard cache will not be shown when the input field is selected. The user will have to type everything manually.
But… wait. Are you just looking for the string ‘textNoSuggestions’ when doing static analysis? Don’t forget to also look for ‘InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS‘ as the input type can be changed dynamically from an Activity. If you are only looking at the XML attributes of Layouts, you are missing out apps that dynamically change it..
Patch coming
By the time you read this my patch to the official OWASP MSTG repository clarifying how to detect it with static analysis better is probably merged. However, you could have read it here first.
One beautiful afternoon you come across the popular Azure Table Storage service during an assessment. Shit, a NoSQL service hosted on Azure. It must be secure right?Well, again it is up to the developer’s implementation and unsurprisingly, it is possible to use SQL injection (NoSQL injection?) to extract more data than intended if the developers failed at sanitizing parameters.Â
How do you identify this service?
Look for apps sending requests to *.azure-mobile.net
Requests sent to /tables/
Requests containing the operators shown next included in the request variable ‘filter’
What operators can you use to extract information?
Extract information from other tables using the following supported comparison operators:
eq (Equal)Â
gt (GreaterThan)
ge (GreaterThanOrEqual)
lt (LessThan)
le (LessThanOrEqual)Â
ne (NotEqual)
Injection example
 I hope you find the operators reference useful and remember to stay on the hunt ;). Reference:
Back to regular updates over here. A bunch of the content seems to have gotten lost in the migration. I’ll check later what happened and try to get it back.
Es un poco tarde ahora para compartir las buenas experiencias que tuvimos y solo queda agradecer una vez más al apoyo de todos. Desde nuestros amados patrocinadores que confÃan en nosotros cada año, lideres de capÃtulos que unieron fuerzas como OWASP CDMX (Carlos) y Guadalajara (Hector), amigos que apoyaron de muchas maneras diferentes, por supuesto la gente de OWASP Riviera Maya como Ismael, Martha y staff, hasta grandes personas como Pedro Gonzalez y Sara Guerrero que nos dieron casa en el Tech Garage por 2 años y apoyaron en todo momento.