Xakep #305. Многошаговые SQL-инъекции
Ранее мы уже рассказывали о трояне-шифровальщике Linux.Encoder.1, который ориентирован не просто на пользователей Linux, но на администраторов веб-сайтов. Вредонос оказался весьма успешным: он уже сумел поразить уже более 2500 сайтов. Однако от данной малвари можно сравнительно легко избавиться, и даже восстановить данные, не выплачивая при этом выкуп злоумышленникам.
По данным SecurityWeek, Linux.Encoder.1 активно набирает обороты. Так, на 12 ноября 2015 года по данным «ДокторВеб» были заражены порядка 2000 веб-сайтов, тогда как исследование Google показывает даже большее число пострадавших: свыше 2600 ресурсов. Специалисты компании Bitdefender вообще уверены, что число пострадавших сайтов будет только расти:
«Часто веб-серверы на базе Linux OS используются для виртуального хостинга, так что можно предположить, что в случае заражения одного веб-сайта, пострадают и другие, делящие с ним ресурсы, особенно если сайты не были должным образом изолированы друг от друга. Так как заражение осуществляется без применения методов социальной инженерии (серверы обычно компрометируют через различные незакрытые уязвимости), хостинговым провайдерам настоятельно рекомендуется обновить все устаревшее ПО (WordPress, Joomla, Magento, плагины к ним и так далее). В ближайшем будущем от данных атак явно пострадают еще сайты».
Но те, кому не повезло столкнуться с Linux.Encoder.1 лично, могут не спешить отчаиваться: для восстановления данных не обязательно платить выкуп хакерам (сумма выкупа на данный момент составляет $325). К тому же, даже заплатив злоумышленникам деньги, вы можете не получить свои файлы назад. Брайан Крэбс в своем блоге описывает случай, когда пострадавшему администратору, после оплаты, не удалось восстановить данные. «Дешифровочный скрипт, который должен восстановить данные, каким-то образом сожрал некоторые символы в ряде файлов... добавил запятую, или лишний пробел», — описывает пострадавший.
Платные подписчики программ Dr. Web Security Space и Dr. Web Enterprise Security Suite могут обратиться за восстановлением данных в службу поддержки компании.
Или можно расшифровать файлы самостоятельно. Дело в том, что злоумышленники допустили серьезную ошибку. Для генерации ключей используется AES, и в этот процесс закрался баг. Специалисты компании Bitdefender обнаружили, что «AES-ключ генерируется локально, на компьютере жертвы, вместо генерации надежных случайных ключей и IV». Эксперты Bitdefender были так любезны, что выпустили бесплатный Python 2.7 скрипт, который позволяет извлечь Linux.Encoder-ключ и IV с зараженного сервера.
Bitdefender также опубликовали подробную инструкцию по использованию скрипта:
Если такой возможности нет, можно воспользоваться каким-нибудь Linux live USB stick, таких программ много: LinuxLiveUSB, UnetBootin, дистрибутив Linux из SystemRescueCD.
Смонтируйте зашифрованный раздел, используя шелл:
mount /dev/[encrypted_partition]
Сгенерируйте список зашифрованных файлов:
/mnt# sort_files.sh encrypted_partition > sorted_list
Выполните head-команду, чтобы добраться до первого файла:
/mnt# head -1 sorted_list
Запустите дешифрующую утилиту:
/mnt# python decrypter.py -f [first_file]
Расшифруйте все остальные зараженные файлы используя:
/mnt# python /tmp/new/decrypter.py -s [time-stamp.] -l sorted_list
Фото: Joe Shlabotnik