Aaron Ardiri
[Valid RSS] RSS/XML feed
198 entries available (show all)


Internet of Things (IoT)

RIoT Secure AB


15B connected devices in 2015.. 40B+ by 2020 - that's a foundation for a massive botnet!

On Friday 21, October 2016 - the USA suffered one of the biggest digital attacks in history by a botnet called "Mirai" (Japanese word for “future”). It disrupted a number of internet sites including, but not limited to Twitter, Paypal, AWS (Amazon Web Services) - all of which were linked to the domain name service Dyn. In the end users couldn't resolve the IP address of certain websites.

krebsonsecurity.com reports that the devices responsible for the DDoS attacks on Friday was mainly from digital video records and IP cameras using components manufactured by Chinese hi-tech company called XiongMai Technologies. It has also been identified that the majority of these products use hard-coded factory set passwords that cannot be reset easily, if at all.

To make matters worse; the source code to the Mirai botnet was released earlier this month - meaning hundreds of hackers could have had access to deploying their own botnet, even modifying it to make it harder to shutdown once deployed. So; how does it work exactly?

In order to deploy a botnet, one must have some form of scanner to detect if devices nearby or on the Internet actually can be vulnerable. I mentioned in yesterdays blog that when you use stock standard operating systems like Linux, it is important to shutdown any services that are no longer needed during deployment. In this case; the devices still enabled telnetd - exposing a shell.

Once a shell has been exposed, specifically root access on the device - it is possible to create files, edit files and change execution permissions on the underlying operating system. This is effectively how the hackers get onto the device and has it waiting to receive instructions to perform an attack on innocent servers - bringing down websites via DDoS.

scanner.c exposes sixty two default user/password combinations for a variety of devices. The scanning function attempts to connect to the device and iterates through all authentication pairs and in the event one of them works; it calls the report_working() function where the program and report that a device is vulnerable. In the code; a hacker could change the domain/port to use in the table.c file for TABLE_SCAN_CB_DOMAIN and TABLE_SCAN_CB_PORT values.

Looking at the main.c source file; it becomes clear that the program even has the ability to detect a newer instance of itself and shut itself down; it doesn't make sense to keep trying to infect devices with the same or previous versions of the hack. It then attempts to connect to a server to download instructions and effective start perform its attack.

Exactly what the attack tasks are are dynamic based on what the hacker instructs on their server - which the botnet will connect to to obtain instructions on what to do (aka: ATTACK_VECTOR). A number of attack vectors are defined, all capable of bringing a network down if used in volume.

    add_attack(ATK_VEC_UDP, (ATTACK_FUNC)attack_udp_generic);
    add_attack(ATK_VEC_VSE, (ATTACK_FUNC)attack_udp_vse);
    add_attack(ATK_VEC_DNS, (ATTACK_FUNC)attack_udp_dns);
    add_attack(ATK_VEC_UDP_PLAIN, (ATTACK_FUNC)attack_udp_plain);
    add_attack(ATK_VEC_SYN, (ATTACK_FUNC)attack_tcp_syn);
    add_attack(ATK_VEC_ACK, (ATTACK_FUNC)attack_tcp_ack);
    add_attack(ATK_VEC_STOMP, (ATTACK_FUNC)attack_tcp_stomp);
    add_attack(ATK_VEC_GREIP, (ATTACK_FUNC)attack_gre_ip);
    add_attack(ATK_VEC_GREETH, (ATTACK_FUNC)attack_gre_eth);
    add_attack(ATK_VEC_HTTP, (ATTACK_FUNC)attack_app_http);

Interestingly; the HTTP attack method doesn't use the same User-Agent strong - in fact it includes five different ones that represent Windows or MacOX users; making it difficult to distinguish between real users or the botnet. Surely must be frustrating for network administrators to isolate.

The botnet is designed to be able to deploy itself with newer versions of itself; but, at the same time this could also be a method to help clean up infected devices by writing a similar hack that detects existing botnet installs and puts a "good" version in its place. However, if they wanted to be extremely nasty; simply modify the botnet to start on device boot and shutdown the backdoor they used to get into the device in the first place; leaving the device permanently infected.

The developers of this hack have been quite comprehensive; with a few small modifications they could do a lot more damage - I doubt that is their intensions however. Seems there is a turf war in place amongst the hacking communication to see who is better than the other.


advertisement (self plug):
need assistance in an IoT project? contact us for a free consultation.


Itty Bitty City - IoT becomes interoperable with LEGO®
Hit the panic button on IoT security - every year?

All content provided on this blog is for informational purposes only.
All comments are generated by users and moderated for inappropriateness periodically.
The owner will not be liable for any losses, injuries, or damages from the display or use of this information.