How To Hack Your Own Password

[Haseeb] failed the marshmallow test as a kid. He has no self-control. He wastes a lot of time on reddit. There is a solution to this problem — simply lock yourself out of your account. The process is simple, and all you need to do is change your password to something random, change the recovery email address, and click submit. In the blink of an eye, all your imaginary Internet points vanish.

That’s the one guaranteed way to quit reddit. However, [Haseeb] wanted to hold onto those magic Internet points in the event they become worth something. This led to a far more baroque solution. He found a service that would email him at a later date, send an email to himself containing a random password, and quit reddit temporarily. Until that email was delivered, he was officially off reddit. When that email was received, productivity would stop.

A few years pass, and [Haseeb] had some time to kill at his new job. He decided to scrounge up his old password, only to discover he locked himself out of his Reddit account until 2018. What followed is a security exploit of an ’email me in the future’ service, and a great example of how much effort one person will commit to a lifetime of instant gratification.

The email service in question is LetterMeLater, a site that will send an email at some arbitrary point in the future. You can hide the body of the email from yourself, making this a fairly good solution for what [Haseeb] is doing. He was still locked out of his email, though, and emailing the people running LetterMeLater seemed absurd. Dopamine is fun, though, and [Haseeb] eventually found a workaround. This site indexes the body of an email for search. This is great, because the body of the email this site would send [Haseeb] in 2018 contained his reddit password and only his reddit password. With a little bit of code, he can perform substring queries on an email he can’t read. Now, extracting the password is simply a first year CS homework problem.

At this point, the only thing [Haseeb] knows about his password is that it’s a long string of random characters that probably doesn’t include upper-case characters. That’s 26 possible characters, 10 possible numbers, and a character bank that can be determined by searching his email one character at a time. [Haseeb] is essentially playing Hangman against his former self here.

After figuring out an API for LetterMeLater, [Haseeb] whipped up a quick bit of code that finds the password by searching substrings. It’s beautiful and recursive, although he did break it down into finding a suffix of the password then determining the remainder of the password. It took 443 iterations of the code to find the password, and when that was complete he logged into reddit. Math works, although [Haseeb] will have to figure out a way to wean himself off the opiate of the millennials again.

FreeRTOS Gets Class

[Michael Becker] has been using FreeRTOS for about seven years. He decided to start adding some features and has a very interesting C++ class wrapper for the OS available.

Real Time Operating Systems (RTOS) add functionality for single-thread microcontrollers to run multiple programs at the same time without threatening the firmware developer’s sanity. This project adds C++ to the rest of the FreeRTOS benefits. We know that people have strong feelings one way or the other about using C++ in embedded systems. However, as the 24 demo projects illustrate, it is possible.

One nice thing about the library is that it is carefully documented. A large number of examples don’t hurt either. The library is clean with just under 30 classes. It seems to have resisted the trend of having classes for everything. You know the kind of library we mean. To create an Integer object, just build a configuration object to pass to the class factory generator which…. This library doesn’t entertain any of that. It has simple abstractions around threads and timers, queues, and mutexes.

Continue reading “FreeRTOS Gets Class”

A Grenade Launcher Named RAMBO

Always one to push the envelope, U.S. Army researchers from the U.S. Army Armament Research, Development and Engineering Center (ARDEC) have been successfully experimenting with 3D printing for one of their latest technologies. The result? RAMBO — Rapid Additively Manufactured Ballistic Ordinance — a 40mm grenade launcher. Fitting name, no?

Virtually the entire gun was produced using additive manufacturing while some components — ie: the barrel and receiver — were produced via direct metal laser sintering (DMLS). So, 3D printed rounds fired from a 3D printed launcher with the only conventionally manufactured components being springs and fasteners, all within a six month development time.

Continue reading “A Grenade Launcher Named RAMBO”

BrickerBot Takes Down Your IoT Devices Permanently

There is a new class of virii in town, specifically targeting Internet of Things (IoT) devices. BrickerBot and its variants do exactly as their name says, turning your smart devices into bricks. Someone out there has gotten tired of all the IoT security flaws and has undertaken extreme (and illegal) measures to fix the problem. Some of the early reports have come in from a security company called Radware, who isolated two variants of the virii in their honeypots.

In a nutshell, BrickerBot gains access to insecure Linux-based systems by using brute force. It tries to telnet in using common default root username/password pairs. Once inside it uses shell commands (often provided by BusyBox) to write random data to any mounted drives. It’s as easy as

dd if=/dev/urandom of=/dev/sda1

With the secondary storage wiped, the device is effectively useless. There is already a name for this: a Permanent Denial-of-Service (PDoS) attack.

Now any card carrying Hackaday reader will know that a system taken down like this can be recovered by re-flashing through USB, JTAG, SD, other methods. However, we’re not BrickerBot’s intended audience. We’ve all changed our devices default passwords, right? RIGHT?

For more IoT security, check out Elliot’s excellent article about botnets earlier this year, and its follow-up.

Hackaday Prize Entry: An Electric Longboard

The Hackaday Prize is in full swing, and that means we’re starting to see all the builds a few select people have been saving up for the past few months. [yowhwui] has been working on a 3D printed electric longboard for a while now, and this build is really solid. He already has over 150km on the odometer, and the 3D printed parts are still holding up.

The power for this motor comes from a 6374 brushless motor running at 192 kV. This, plus two 4S 30C 5000mAh LiPo batteries propel this longboard to speeds up to 42 km/h (2.18 Saxon leagues per quarter hour), all while weighing about 8kg.

Since [yowhwui] is using the motor for power and braking (electric motors are neat), this longboard needs to be designed with belt skipping in mind. To that end, he’s designed a drive system with an idler, and nearly every single part is 3D printed. The first revision of the hardware was printed in PETG. While PETG was more than strong enough, it was also too brittle. This led to a few cracks. After printing the parts out again in ABS, [yowhwui] put a few more kilometers on this longboard, and there are no immediate signs of wear.

$8 3D Printed Photo Turntable Uses Upcycled Parts

Whether you’re selling a product or just showing off your latest project, a photo turntable makes video shots a lot easier.  360° turntables allow the viewer to see every side of the object being photographed, while the camera stays locked down. Motorized turntables are available as commercial products costing anywhere from $30 to $150 or so. Rather than shell out cash, [NotionSunday] decided to create his own turntable using a few parts he had on hand and 3D printing everything else.

The motor for the turntable came from the eject mechanism of an old DVD-ROM drive. An Arduino Pro Mini controls the motor’s speed using an MX1508 H-bridge chip. Power comes from an 18650 Li-Ion battery. The whole assembly spins on the head assembly from a VCR.

Before you jump in on the comments, yes, VCR heads have motors. However, they’re typically brushless motors rated for 1,800 RPM. Running a motor like that at low-speed would mean rewinding the coils. In this case, using a DC motor and gear drive was the easier option.

[NotionSunday] 3D printed the turntable base and mount. The mount uses a magnet arrangement that makes it easy to switch between freewheeling or belt driven operation. The turntable itself is posterboard, with 3D printed edges.

Click through the break to see the whole video.

Continue reading “$8 3D Printed Photo Turntable Uses Upcycled Parts”

Everyone Loves Faster ESP8266 TFT Libs

Reader [Jasper] writes in with glowing praise for the TFT_eSPI library for the ESP8266 and the various cheap 480×320 TFT displays (ILI9341, ILI9163, ST7735, S6D02A1, etc.) that support SPI mode. It’s a drop-in replacement for the Adafruit GFX and driver libraries, so you don’t need to rework your code to take advantage of it. If you’re looking to drive an LCD screen with an ESP8266 and Arduino, check this out for sure.

As a testbed, [Jasper] ported his Tick Tock Timer project over to the new library. He got a sevenfold increase in draw speed, going from 500 ms to 76 ms. That’s the difference between a refresh that’s visibly slow, and one that looks like it happens instantly. Sweet.

Improving software infrastructure isn’t one of the sexiest or most visible hacks, but it can touch the lives of many hackers. How many projects have we featured with an ESP8266 and a screen? Thanks, [Bodmer] for the good work, and [Jasper] for bringing it to our attention.