Как работи ботнета Mirai обяснено накратко

Публикувано / posted 2016-12-03 в категория / in category: Коментари
  

bnМного се изписа в последните седмица за ботнета Мирай, чрез който се осъществяваха мащабни DDOS атаки чрез зомбирани ~400k IoT -- камери, принтери, рутери и т.н.

Преди около месец автора му е публикувал кода в Github. Стана ми интересно и го свалих, за да видя как работи.

Има два основни аспекта на ботнета:

  • как се сканира за уязвими устройства и как се инфектира. Този аспект беше от основен интерес за мен и в следващите редове го описвам основно него;
  • инфраструктурата и как се упралява, така наречения "Command and Control" (CnC).

1. Сканиране

Бота получава от CnC сървъра списък с IP-a, които да сканира. Интересното при Mirai сканирането е, че не използва традиционен сокет (който се предоставя от операционната система), а използва така наречения Raw сокет с цел да може да извършва SYN сканиране, което според автора е 80 пъти по-бързо от обичайното.

Бота сканира IP-тата за отворени Telnet или SSH портове. Когато открие такъв, се преминава към следващия етап.

2. Пробиване

Проблемът с някои IoT устройства че, че идват от производителите със стандартни username и парола, които потребителите не променят. Бота съдържа в себе си 60+ двойки username/password, които използва, за да се логинне през telnet (или ssh). Няма 0-day exploit-и или разни други сложнотии, а само най-обикновен телнет логин.

3. Инфектиране

След успешен логин бота използва /bin/busybox , за да изпълнява команди върху инфектираното устройство.

Първото нещо, което прави е да разпознае архитектурата на устройството -- дали е x86, arm и т.н.

След това се опитва да намери директория в която има права за писане (не рядко логина е с root привилегии (!!!), така че това е излишно в такива случаи). След това качва изпълнимия си код на устройството (според архитектурата), като интересното е, че може да го направи по 3 различни начина: чрез echo, wget или tftp, като echo служи за fallback. Не разбрах, защо кракера си е направил труда да използва и wget, и tftp при положение, че echo е винаги(?) налично.

След успешно качване се стартира бота на вече инфектиеднараното устройство и се изтрива качения файл, за да се заметат следите.

 

Малко за безотговорността:

  • на производителите на IoT устройства, за това, че си позволяват да пускат продукти с компрометирана сигурност. Разбирам, че всички искат максимално бързо да си разработват и пускат продуктите, но това да използваш стандартни пароли е изключително безотговорно. Заслужават да бъдат съдени/глобени солено за подобно нещо.
  • на доставчиците на интернет -- не е като да не знаят какво се случва в техните мрежи и не е като да няма какво да направят. Най-малко ще забраниш порта на телнет (20) (и без това никой не го ползва) и проблемът се решава в голямата си част.
  • на правителствата, че си нямат на идея какво се случва и съответно не правят нищо. Най-малкото могат да задължат доставчиците на интернет да не допускат включването на уязвими устройства. Един читав скенер за уязвимости, като тези използвани от Mirai мога дори и аз да напиша за не повече от 1 седмица, ffs.
  • на потребителите, че не си сменяват паролите на устройствата.

Между другото, не само производителите на IoT устройства са толкова безотговорни. Производителите на коли не остават по-назад, че дори и ги изпреварват с безхаберието си по отношение на сигурността на компютърните системи, които вграждат в колите. Не само, че е изключително лесно да се откраднат повечето от съвременните коли, ами нерядко е възможно да се поеме контрол върху управлението отдалечено, т.е. както си карате, някой може ви хакне системата, да поеме управлението и да ви блъсне в стълб (примерно).

 


Leave a Reply

Notify me of followup comments via e-mail. You can also subscribe without commenting.

Внимание: Моля, въведете само ПЪРВИТЕ ТРИ цифри от картинката
Important: Please enter just the first three digits from the image