Уже долгое время специалисты по информационной безопасности говорят о том, что современные IoT устройства и системы слабо защищены от вмешательства извне. Некоторые из них вовсе не защищены, и взломать подобный гаджет или целую систему может даже школьник. Около года назад специалисты из Proofpoint обнаружили ботнет, основными элементами которого была домашняя «умная» техника. Как оказалось, в ботнет входили телевизоры и даже один холодильник.

Взлом, о котором идет речь, был осуществлен между между 23 декабря 2013 года и 6 января 2014 года. Гаджеты, составляющие ботнет, три раза в день отправляли письма пакетами в 750 тысяч за раз со 100 тысяч устройств (да, это был большой ботнет) предприятиям и частным лицам по всему миру. Но легче всего для злоумышленников, как оказалось, использовать для создания ботнета не холодильник и не телевизор, а камеру безопасности, подключенную к Сети.

При этом именно камеры безопасности являются одними из наиболее распространенных IoT устройств. В Сети уже публиковались отчеты, согласно которым в прошлом году по всему миру работало около 245 миллионов камер наблюдения. И это только те, что установлены профессионально, о которых что-то известно. Кроме них, есть еще миллионы других камер, установленные, образно говоря, домохозяйками, которые ничего не знают о безопасности и, соответственно, не использовавших настройки безопасности для своих устройств.

Исходя из всего вышесказанного, вовсе не удивительно, что именно ботнеты, состоящие из камер наблюдения являются одними из наиболее активных. Так, недавно стало известно об атаке типа «HTTP flood», с пиковым показателем в 20000 запросов в секунду. Эту атаку решили изучить специалисты Incapsula, с удивлением обнаружившие, что в состав ботнета входили камеры, установленные рядом с офисом этой компании.

После детального изучения оказалось также, что для доступа к настройкам большинства камер используются дефолтные связки логин/пароль (что вовсе не удивительно, масштаб этой проблемы огромен). Одна из камер была установлена на торговом центре, в пяти минутах езды от офиса компании. Специалисты помогли владельцам центра правильно настроить камеры, но остались еще десятки и сотни устройств, владельцам которых они не могли помочь при всем желании.

Некоторые подробности атаки


Как уже упоминалось выше, атака состояла в использовании HTTP GET floods с пиковым показателем в 20000 запросов. Этот трафик генерировали всего 900 камер наблюдения со всего земного шара. Цель атаки — крупный облачный сервис, обслуживающий миллионы пользователей по всему миру.



Все взломанные устройства работали на Linux с BusyBox — пакете Unix-утилит, собранных в единый пакет, и предназначенных для устройств с ограниченными ресурсами.

Malware оказался ELF-бинарник для ARM, один из вариантов ELF_BASHLITE. Это malware сканирует сетевые устройства с BusyBox, отыскивая Telnet/SSH сервисы, которые просто взломать путем брутфорса по словарю.

image

В данном случае maleware обладало возможностью самостоятельно запускать HTTP Get flood DDoS атаки со скомпрометированных девайсов.

Немного запросов
$ strings .btce @ #! gfffd gfff root toor admin user guest login changeme 1234 12345 123456 default pass password :>%$# 31.169.77.242:5 (null) /bin/sh /proc/cpuinfo BOGOMIPS PING %d.%d.%d.%d %d.%d.%d.0 ogin: assword: ncorrect /bin/busybox;echo -e '\147\141\171\146\147\164' gayfgt multi-call REPORT %s:%s:%s REPORT %s:%s: Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.0) Opera 7.02 Bork-edition [en] Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; FunWebProducts; .NET CLR 1.1.4322; PeoplePal 6.2) Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 5.8 (build 4157); .NET CLR 2.0.50727; AskTbPTV/5.11.3.15590) Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727) Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322) Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) Mozilla/4.0 (compatible; MSIE 8 .0; Windows NT 6.0; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1); .NET CLR 3.5.30729) Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) Mozilla/5.0 (iPad; CPU OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3 Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3 Mozilla/5.0 (Linux; U; Android 2.2; fr-fr; Desire_A8181 Build/FRF91) App3leWebKit/53.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:13.0) Gecko/20100101 Firefox/13.0.1 Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/20100101 Firefox/13.0.1 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/534.57.5 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.4 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5 Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11 Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5 Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0 Mozilla/5.0 (Windows NT 5.1; rv:13.0) Gecko/20100101 Firefox/13.0.1 Mozilla/5.0 (Windows NT 5.1; rv:5.0.1) Gecko/20100101 Firefox/5.0.1 Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1 Mozilla/5.0 (Windows NT 6.0; rv:13.0) Gecko/20100101 Firefox/13.0.1 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5 Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0 Mozilla/5.0 (Windows NT 6.1; rv:13.0) Gecko/20100101 Firefox/13.0.1 Mozilla/5.0 (Windows NT 6.1; rv:2.0b7pre) Gecko/20100921 Firefox/4.0b7pre Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.02 Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1 Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11 Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11 Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0.1 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0 Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:13.0) Gecko/20100101 Firefox/13.0.1 Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0.1 Opera/9.80 (Windows NT 5.1; U; en) Presto/2.10.229 Version/11.60 GET /%s?%d HTTP/1.1 Host: %s Connection: keep-alive Accept-Encoding: gzip,deflate,sdch Accept: */* Accept-Language: en-US,en;q=0.8 User-Agent: %s Cache-Control: max-age=0 HTTP Failed opening raw socket. Failed setting raw headers mode. Invalid flag "%s" PING PONG! GETLOCALIP My IP: %s SCANNER SCANNER ON | OFF HOLD HOLD Flooding %s:%d for %d seconds. HTTP Flooding %s:%d for %d seconds. JUNK JUNK Flooding %s:%d for %d seconds. UDP Flooding %s for %d seconds. UDP Flooding %s:%d for %d seconds. TCP Flooding %s for %d seconds. KILLATTK Killed %d. None Killed. LOLNOGTFO 8.8.8.8 /proc/net/route MAC: %02X:%02X:%02X:%02X:%02X:%02X BUILD %s PONG %s 2>&1 %s: __is*{_l}(%d,%#x {locale}) /dev/null (nil) +0-#'I npxXoudifFeEgGaACScs hlLjztqZ CAk[S — See more at: www.incapsula.com/blog/cctv-ddos-botnet-back-yard.html#sthash.PBKyc8Hl.dpuf

Доступ к взломанным камерам осуществлялся из различных мест, что может говорить о работе нескольких человек.



В качестве заключения


Несмотря на то, что подобная проблема обсуждалась уже не один десяток (да что там, сотню) раз, она остается актуальной. В некоторых даже неплохо оснащенных компаниях к камерам безопасности и IoT устройствам относятся, как к обычным железкам, которые можно просто установить, и забыть.

На самом деле, сейчас даже утюги (утрирую, да) оснащены беспроводным модулем связи. Поэтому лучше заранее позаботиться о том, чтобы к условному утюгу никто не смог получить доступ. Иначе потом может быть мучительно больно.

Комментарии (8)


  1. GAS_85
    27.10.2015 11:59
    +3

    На самом деле, сейчас даже утюги (утрирую, да)
    А зря


    1. PavelMSTU
      27.10.2015 14:16

      Утюги-спамеры?.. Что же будет дальше? 0_о


      1. JerleShannara
        27.10.2015 14:49
        +7

        Холодильник и душ объединились, чтобы заDDoSить утюг за спам о новом виде огуречной диеты для сброса веса, но к утюгу присоединилась микроволновка с чайником и душ был хакнут на постоянную температуру +60*С.


    1. ArtRoman
      27.10.2015 21:26

      Таки одна русская компания продаёт весы, чайники, кофеварки и мультиварки с Bluetooth. Пока без доступа в сеть, но кто знает, что придумают дальше…


  1. sergpenza
    27.10.2015 15:24
    +8

    Скайнет и терминаторы, говорите?
    Будет все гораздо прозаичнее — ваш сайт завалят чайники :)


  1. mickvav
    27.10.2015 16:08

    Там в этих busybox-ах ещё и passwd хилый. Лично видел сущность, которой достаточно первых 9-ти, кажется, верных символов пароля для авторизации.


  1. and7ey
    27.10.2015 22:49

    Какой-нибудь готовый инструмент для проверки своей камеры (в т.ч. подбора пароля) есть?


    1. Rumlin
      29.10.2015 08:28

      Попробуйте Kali live cd — там богатый набор инструментов для анализа и взлома хоста.