Группа исследователей из компании Яндекс опубликовала (https://www.virusbtn.com/virusbulletin/archive/2014/07/vb201...) результаты анализа нового вредоносного ПО Mayhem, реализующего аналогичные Windows-ботам средства для серверов на базе Linux и FreeBSD, которые могут работать без получения расширенных привилегий, довольствуясь правами пользователя хостинга, полученными после проникновением через эксплуатацию уязвимостей в web-приложениях. Исследование проведено на основе изучения работы двух управляющих серверов, обслуживающих примерно 1400 инфицироавнных вредоносным ПО узлов ботнета.
Mayhem примечателен сложной и гибко расширяемой архитектурой. После успешной эксплуатации уязвимости в web-приложении, на сервер загружается PHP-скрипт, производящий инициализацию бота, который выполнен в форме исполняемого файла, обладающего достаточно богатой функциональностью. Поддерживается приём и отправка команд, работа в роли управляющего сервера или узла ботнета, подключение плагинов, реализованных в форме разделяемых библиотек. Например, доступны плагины для выполнения таких действий, как сканирование сайтов на наличие уязвимостей, сбор данных о сайтах под управлением WordPress, подбор паролей методом перебора для сайтов под управлением популярных систем управления контентом и панелей управления, подбор параметров FTP-аккаунтов, извлечение различной информации со страниц сайтов.
В статье также приводятся некоторые выводы, обобщающие текущие тенденции:- Ботнеты, создаваемые на основе web-серверов, нашли собственную нишу монетизации, связанную с перебросом трафика, применением грязных методов поисковой оптимизации и использованием загрузок для организации атак.
- Web-серверы более интересны для атаки, чем обычные пользовательские ПК, так как они очень редко перезагружаются, имеют более качественное сетевое соединение и обладают более высокой вычислительной мощностью.
- На серверах хостинга часто не используются средства автоматической установки обновлений, многие web-мастеры и системные администраторы устанавливают обновления вручную с последующей проверкой корректности работы инфраструктуры.- Для типового сайта качественное сопровождение является дорогим удовольствием и web-мастеры не всегда уделяют внимание отслеживанию появления новых выпусков с устранением уязвимостей. Подобная практика приводит к существованию в Сети большого числа уязвимых web-серверов, которые легко атаковать и использовать в ботнете.
- В *nix-системах не распространено использование антивирусов. Web-мастеры не желают тратить время на изучение руководств по использованию различных систем упреждающей защиты и проверки систем.
URL: http://www.theregister.co.uk/2014/07/18/malware_linux_freebs.../
Новость: http://www.opennet.me/opennews/art.shtml?num=40231
Endgame: Singularity is a simulation of a true AI. Go from computer to computer, pursued by the entire world. Keep hidden, and you might have a chance.
:)
О да :)
Ждём apotheosis? ;)
Молодцы яндексоиды. Ждём инфу о хотя бы одной молвари, реализованной
как kernel thread. (в наличии таковых не сомневаемся)
Бабушка, бабушка... А ну нас в детском садике одмины - дябилы, они разрешают юзерам LD_PRELOAD!!!---
~$ LD_PRELOAD=/usr/lib/libtcmalloc.so
bash: LD_PRELOAD: доступная только на чтение переменная
~$ grep LD_PRELOAD /etc/profile
LD_PRELOAD=""
declare -r LD_PRELOAD;
export LD_PRELOAD
> Бабушка, бабушка... А ну нас в детском садике одмины - дябилы, они
> разрешают юзерам LD_PRELOAD!!!--Да, внучёк, таких только могила исправит. Ишь ты, "declare -r"?! Они b man-bash-то не читывали про --noprofile, и про субшелы не рубят. Охохо...
> ~$ grep LD_PRELOAD /etc/profile
> LD_PRELOAD=""
> declare -r LD_PRELOAD;
> export LD_PRELOAD
>> Бабушка, бабушка... А ну нас в детском садике одмины - дябилы, они
>> разрешают юзерам LD_PRELOAD!!!
> --Да, внучёк, таких только могила исправит. Ишь ты, "declare -r"?! Они b
> man-bash-то не читывали про --noprofile,$ bash --noprofile
$ unset LD_PRELOAD
bash: unset: LD_PRELOAD: не могу сбросить: доступно только для чтения variable> и про субшелы не рубят.
в субшелах тоже запрещать.
>> и про субшелы не рубят.
> в субшелах тоже запрещать.Тогда забыл ещё bashrc прогрепить, ага.
$ bash --login --noprofile_
Начинай баши патчить. И ld.so.
>>> и про субшелы не рубят.
>> в субшелах тоже запрещать.
> Тогда забыл ещё bashrc прогрепить, ага.
> $ bash --login --noprofile_
> Начинай баши патчить. И ld.so.Хрен вам!
~$ alias bash='_bash() { bash --;}; _bash'; # куда всунуть глобальный алиас, сам знаешь
~$ bash --login --noprofile
~$ unset LD_PRELOAD
bash: unset: LD_PRELOAD: не могу сбросить: доступно только для чтения variable
> Хрен вам!$ bash --version
$ exit
$ /bin/bash --version
GNU bash, version 4.2.37(1)-release (i486-pc-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ _
>> Хрен вам!
> $ bash --version
> $ exit
> $ /bin/bash --versionЭто что было? После exit у тя logout должен случиться!
> разрешают юзерам LD_PRELOAD!!!Я не понял, а как ты это запретить можешь? Технически, переменные окружения - некий кусок данных в памяти. Процесс может перефигачивать окружение отдаваемое child как захочет. Как ты представляешь себе выборочное readonly на один из "key=value" в едином блоке памяти? Мне интересно, право :)
> Мне интересно, право :)Да, ты прав, ты смешно - man mprotect
> Да, ты прав, ты смешно - man mprotectНе поможет: parent процесс полностью формирует child-у окружение, в том числе передавая блок переменных окружения. Внезапное западло, да? То-есть если parent отдаст child-у какое-то г@вно - вот так по простому, child придется это съесть.
Но кстати одно решение таки нашлось. Вот, любуйся: http://habrahabr.ru/post/212825/
Ядерный модуль перехватывает execve, сканит наличие при этом в окружении LD_PRELOAD и выпиливает оный КЕМ, если он найден :). Вот такой вот костылище. А ты - mprotect. Ага, щаззз. Что ты там протектить собрался и почему это будет работать? :)
Если это дефолтное поведение, то называл дiбилами создаталей всех дистрибутивов и Линуса лично.
> Если это дефолтное поведение,Нет. Дефолтный Linux - дырявее венды
> Нет. Дефолтный Linux - дырявее вендыДа не звизди, в винде тоже прелоад есть, при том 99% админов даже не знает где.
А че Линус дистрибутив собирает???
> Бабушка, бабушка... А ну нас в детском садике одмины - дябилы, они
> разрешают юзерам LD_PRELOAD!!!Уважаемый, вы сами придумали, что зловред запускает bash, а потом набросились на небезопасность bash :)
Встречал файлы .sd0, и подозрительные процессы host, запущенные от имени пользователя, от имени которого запускались крипты. Похоже, эта зараза стала довольно распространённой.
> Это лучше чем не увидеть и думать, что какие-то предпринятые тобой общие
> меры могут тебя хоть как-то защитить от атаки на конкретную уязвимость.
> Дурь о неуязвимости линукса еще не выветрилась из некоторых голов?Ну почему же дурь, если его архитектура изначально предполагает защиту в виде разделения прав пользователей ?
В линуксах что пользовательские процессы, что серверные работают со своими id и друг на друга повлиять не могут, если конечно админ сам не сделает особые разрешения.
А архитектура винды предполагает что и пользователь и все серверные процессы будут работать от админа.
Был ли за всю историю линуксов эксплоит дающи ремоте рут, ну или хотя бы ремоте шел с привилегиями простого пользователя ?
Как у вас там в вашей голубоватой недооси run as уже умеет запускать процессы от имени других пользователей без ручного ввода паролей ? Сколько там процентов до уровня sudo линуксового ?
>[оверквотинг удален]
> В линуксах что пользовательские процессы, что серверные работают со своими id и
> друг на друга повлиять не могут, если конечно админ сам не
> сделает особые разрешения.
> А архитектура винды предполагает что и пользователь и все серверные процессы будут
> работать от админа.
> Был ли за всю историю линуксов эксплоит дающи ремоте рут, ну или
> хотя бы ремоте шел с привилегиями простого пользователя ?
> Как у вас там в вашей голубоватой недооси run as уже умеет
> запускать процессы от имени других пользователей без ручного ввода паролей ?
> Сколько там процентов до уровня sudo линуксового ?Sudo это окаменевшее гогно мамонта. Мсье слыхал о RBAC?
> Мсье слыхал о RBAC?Слыхали, как же. Много кластерфака на ровном месте. Энтерпрайзно и все такое. И мало какой админ в результате понимает эффективный набор прав, действующий в системе.
> Sudo это окаменевшее гогно мамонта. Мсье слыхал о RBAC?а мсье в курсе, что чем сложнее системы защиты, тем больше потенциальная площадь атаки? система ugo, конечно, не идеальна, но при правильном применении весьма эффективна. надо только избавиться от винды в голове.
В системе ugo по крайней мере можно без поллитры понять кому и что можно.
Был ли за всю историю линуксов эксплоит дающи ремоте рут, ну или хотя бы ремоте шел с привилегиями простого пользователя ?
был и не один для proftpd
Не правда, в *nix-системах народ использует свободное антивирусное ПО для поиска вирусов и малвари. К сожалению, оно способно обнаружить не более 70 процентов вредоносов.
Имхо антивирь в линуксе нужен только на серверах с файлопомойкой. Да и то, чтобы не распространять заразу, загруженную туда другими пользователями, а не для самозащиты...
Свободное антивирусное ПО - это Clam? Увы, там тоже не всё радужно. Несколько раз отправлял им скринлокеры, снятые с хомячьих машин, и файлы, скачанные по ссылкам из СМС - могла пройти неделя, пока оно окажется в сигнатурах, причём даже после перехода под крыло Цыски.
Да уж, Clam почти на все exe-шники ругается. При том, что остальные антивири ничего не находят.
Любой запаковщик - это уже "подозрение".
> Да уж, Clam почти на все exe-шники ругается.правильно делает. всё равно софт под винду — это или троян, или такой быдлокод, что лучше бы уж был троян.
> Да уж, Clam почти на все exe-шники ругается. При том, что остальные
> антивири ничего не находят.
> Любой запаковщик - это уже "подозрение".Как настроишь.
> Любой запаковщик - это уже "подозрение".ЧСХ, не так уж и необоснованно...
LD_PRELOAD. от юзера. на рутовую софтину. из рабочего каталога юзера. те, у кого это работает, должны пойти на удобрения.p.s. «на софтину, принадлежащую руту», само собой, а не на suid.
Да вы батенька наркоман. Еще suid-бит с passwd снимите, дабы безопасней было.
> Да вы батенька наркоман.а, ну да: те, у кого эксплойт не работает — те наркоманы. и вообще — не хотят со всеми в ногу идти, сволочи! прогрессивный мир давно предоставляет базу для прогрессивных эксплойтов, а эти ретрограды… и поцтеринга вдобавок не любят!
а теперь, если тебе не сложно, будь любезен, поясни: зачем пользователю www права на использование LD_PRELOAD? тем более на бинари, которые принадлежат не ему? ну и да, чтобы два раза не вставать: права на запуск бинарей не с системного раздела ему тоже не нужны.впрочем, судя по твоему удивлению, ты считаешь, что Реальные Пацаны всегда сидят под рутом. иначе какие же они Реальные Пацаны — ежели позволяют дурацкой системе ограничения ставить!
btw: а разве есть способ отключить LD_PRELOAD? (а то гугл что-то мне ничего толком не выдаёт...)
> btw: а разве есть способ отключить LD_PRELOAD? (а то гугл что-то мне
> ничего толком не выдаёт...)для setcap'нутых бинарей отключается; при помощи патча к ld.so ограничивается. запрещение похапэ-скриптам запускать бинари убивает проблему на корню (или ограничение при помощи safe_mode_exec_dir, в exec_dir вместо бинарей — скрипты, которые делают unset LD_PRELOAD).
> btw: а разве есть способ отключить LD_PRELOAD? (а то гугл что-то мне
> ничего толком не выдаёт...)если я не ошибасюь, то LD_PRELOAD это пререгатива чиста шеллов, типа bash, sh, вызов которых в PHP делается через shell_exec, exec Что есть функции которые можно отключить.
Да нет, LD_PRELOAD - фича откуда-то из недр libc
> Да нет, LD_PRELOAD - фича откуда-то из недр libcа если конкретно — из ld.so, он же «dynamic linker», он же «interpreter».
> если я не ошибасюь, то LD_PRELOAD это пререгатива чиста шелловЩаззззз! Это фича загрузчика shared libs и переменные ВНЕЗАПНО можно выставлять не только через сpaные скриптики, но и например запустив программу и отдав чайлду ДРУГОЕ окружение. Улыбайтесь, вас скрывают снятой камерой.
> LD_PRELOAD. от юзера. на рутовую софтину. из рабочего каталога юзера.А какая разница какая софтина и каталог? Переменные - блок памяти с всяким гэ, отдаваемый процессу по execve и тому подобным. И или уж тебе можно процесс запускать (и ты можешь ему впарить окружение), или уж нельзя (тогда впаривание окружения не состоится за отсутствием процесса).
> p.s. «на софтину, принадлежащую руту», само собой, а не на suid.
Как максимум юзера можно совсем обуть на запуск таких софтин. Правда не понятен пойнт обувания юзера на host. От чего это защищает? Сам по себе фокус с LD_PRELOAD и таким странным перехватом управления достаточно индифферентен к тому какую программу использовать.
Я что-то где-то упускаю или не понял какую-то мысль?
>> LD_PRELOAD. от юзера. на рутовую софтину. из рабочего каталога юзера.
> А какая разница какая софтина и каталог?как видишь по сплоету — большая.
> уж тебе можно процесс запускать (и ты можешь ему впарить окружение),
> или уж нельзя (тогда впаривание окружения не состоится за отсутствием процесса).прикинь, а процесс таки проходит стадию динамического связывания. и эта стадия делается отдельной юзермодной софтиной. которая и обрабатывает LD_PRELOAD. и которую — внезапно! — можно пропатчить на предмет дополнительных проверок. вот такой вот сюрприз.
> как видишь по сплоету — большая.Да хрен там. Спроси у гугли про azazel например. Милая такая вещичка, на гитхабе лежит. И врядли ты порадуешься если такую поюзают против тебя. Добра под LD_PRELOAD есть достаточно много и пути там не сильно роялят. Разве что если путь смонтирован с noexec, или типа того - там может и роялит, вот это не помню.
> — можно пропатчить на предмет дополнительных проверок.
Блин, спасибо капитан. И как это я сам не догадался?!
> вот такой вот сюрприз.
Вон там орлы с хабрашвабры фундаментальнее поступили - в ядерном модуле перехватили execve и выпиливают там LD_PRELOAD из окружения, если он был :).
> Вон там орлы с хабрашвабры фундаментальнее поступили - в ядерном модуле перехватили
> execve и выпиливают там LD_PRELOAD из окружения, если он был :).я ни секунды не сомневался, что хабра — сборище дегенератов.
Я такое года 3-4 назад разбирал. У них руки только сейчас дошли что ли?
> Я такое года 3-4 назад разбирал. У них руки только сейчас дошли
> что ли?Пингвин - крупная нелетающая птица-тормозок.
> Пингвин - крупная нелетающая птица-тормозок.А мальчику Билли форточку разбили.
> В *nix-системах не распространено использование антивирусов. Web-мастеры не желают тратить время на изучение руководств по использованию различных систем упреждающей защиты и проверки систем.если ( Web-мастеры != админы сервера ), то это логично, иначе если (использование различных систем упреждающей защиты и проверки систем == true), то имеем геморой, когда что-то не работает и выяснение "почему" сводится к проверке не одного (/var/log/httpd/error.log), а множества логов, что для Web-мастера превращается в ад из десятков окон с отладчиками сайта, сайтом в разных браузерах, кучей консолей с отладочной инфой системы, окна с мануалами системы и тд, ну бред же.
Если студент взял подработку и за 3000р в месяц нарисовал и админит сайт для конторы которой больше и не надо, то вирусня на сайте - урок и студенту, и конторе.
Если контора держит штатного админа за 25000 в месяц, который и 50 машин админит, и принтеры, и антивирь на хостах, и все-все-все, то вирусня на сайте, опять же звоночек, который в общем-то никак не характеризует админа.
Т. е. всех все устраивает.
/*****************/
Лет 10 уже смотрю на атаки ботнетов в логах, режутся элементарно - по критерию частого попадания на 404 ошибку - ip в черный список, или запросы страниц без запросов связанны css файлов. Если боимся распределенных атак, то вместо ip используем ASку, но это уже для взрослых дяденек с ресурсами и своими распределенными сетями, пару лет назад Корея лютовала, сейчас как дела не в курсе, но было бы желание, а возможности найдутся.
Где можно скачать? Или опять на*издеть нап*здели, а попользоваться не дадут?!
> Где можно скачать? Или опять на*издеть нап*здели, а попользоваться не дадут?!Выставь в интернет уязвимую систему - само закачаться должно.
Ок, а есть туториал как сделать уязвимую систему? И через сколько времени она закачается? А то больно уж попахивает пиаром антивирусов......
> Ок, а есть туториал как сделать уязвимую систему?О, к сожалению, этого-то у нас лопатой грузить можно... :(
пароль для root/admin из словаря распространённых слов длиной до 4-6 букв
эээ
это и есть используемый этим софтом способ "поражения вредоносным ПО серверов под линукс"??
> Web-мастеры не желают тратить время на изучение руководств по использованию различных систем упреждающей защиты и проверки систем.Можно парочку руководств на русском?
>> Web-мастеры не желают тратить время на изучение руководств по использованию различных систем упреждающей защиты и проверки систем.
> Можно парочку руководств на русском?Учи английский. Пригодится.
securelevel+JAIL и Linux остается со зловредом один на один.
Ну и причем тут линукс ? тут "при чем" PHP и идиоты админы.
Эта зараза еще более опасна чем все думают. так как она порожает ВООБЩЕ все ос, на основе которых крутятся сайты на PHP.
Оно умеет делать shell_exec или что-то вроде того ? Так как вроде почти во всех веб-серверах, в их настройках как раз такие функции запрещены.
> Ну и причем тут линукс ?А что, на винде можно сделать LD_PRELOAD=libworker.so /usr/bin/host ? Это пускается на линуксе и гадит, а значит линукс более чем причём.
И вообще, линукс != голактеко безопасносте.
>> Ну и причем тут линукс ?
> А что, на винде можно сделать LD_PRELOAD=libworker.so /usr/bin/host ?Как два байта об асфальт
http://en.wikipedia.org/wiki/DLL_Injection
http://support.microsoft.com/kb/197571
> А что, на винде можно сделать LD_PRELOAD=libworker.so /usr/bin/host ?На винде техника подгрузки либ используется уже наверное лет 15...
> На винде техника подгрузки либ используется уже наверное лет 15...а работает до сих пор как говно и только с мегакостылями. потому что аналога dlsym(name, RTLD_NEXT) тупо нет.
> а работает до сих пор как гoвно и только с мегакостылями. потому
> что аналога dlsym(name, RTLD_NEXT) тупо нет.Ну ты же понимаешь, что хакеры не гордые - и так схавают. Это разработчики там всякие плюются. А хаксорам - бабло побеждает зло, сам понимаешь.
На винде другие методы. У меня штатно программа пишет и в системную папку любой версии винды, и в реестр, затем из "оффисных" приложений вызывает код из DLL на Си (местами со вставками на ассемблере), который в принципе может с пользовательским компьютером делать что угодно (в приложении без вреда, естественно), и ни одна система безопасности даже не пикнула (в том числе при установке программы) при любом уровне безопасности винды и оффиса.
SELinux помогает против него?
Да.
Дайте скачать! А то один трёп во всех новостях...
> Дайте скачать! А то один трёп во всех новостях...Потому что треп и есть ... типа секретных патентов Микрософта. И профинансирован теми же, очевидно. Только зачем?? Неужели кто-то побежит от Linux с денюжкой за Виндоуз после этих публичных рыданий?
нет, просто говноэникейщики ломанутся «антивирусы под линукс» покупать, безуспешно пытаясь компенсировать этим отсутствие мозгов.
> а сервер загружается PHP-скриптНу вы понели.
У Web 2.0 две беды - PHP и JavaScript.
у веб-два-ноль нет никаких бед, потому что никакого веб-два-ноль тоже нет.
> у веб-два-ноль нет никаких бед, потому что никакого веб-два-ноль тоже нет.И промышленная революция - миф :). Слава робо^W ишакам!
ок. показывай этот самый 2.0. с интересом посмотрю.