Форензика. Методическое пособие для студентов. Андрей Александрович Обласов
/wp-content/setup.php
1 /wp-content/src.php
1 /wp-content/themes/NativeChurch/download/download.php
1 /wp-content/topnews/license.php
1 /wp-content/uploads/license.php
1 /wp-content/uploads/shwso.php
1 /wp-content/uploads/wp-admin-cache.php
1 /wp-content/uploads/wp-cache.php
1 /wp-content/uploads/wp-cmd.php
1 /wp-content/uploads/wp_config.php
1 /wp-content/wp-admin.php
1 /wp-update.php
1 /wso2.php
2 /wp-content/plugins/dzs-zoomsounds/ajax.php
2 /wp-content/plugins/hello.php
2 /wp-content/plugins/simple-ads-manager/sam-ajax-admin.php
3 /wp-content/plugins/dzs-zoomsounds/admin/upload.php
4 /2010/wp-login.php
4 /2011/wp-login.php
4 /2012/wp-login.php
4 /wp-content/plugins/wp-symposium/server/php/index.php
Как видим из результата, подобные обращения были. Кто-то «на удачу» пытался обратиться к хакерскому шеллу в каталоге предположительно уязвимого компонента Revolution Slider /wp-content/plugins/revslider/temp/update_extract/revslider/configs.php и к WSO Shell в корне сайта и к ряду других хакерских и уязвимых скриптов. К счастью, безуспешно.
C помощью тех же find / cat / zcat / grep можно получить список IP адресов, с которых эти запросы выполнялись, дату и время обращения. Но практической пользы в этом мало.
Больше пользы от выборки всех успешных POST запросов, так как это часто помогает найти хакерские скрипты.
find. -name «*.gz’ -exec zcat {} \; | grep «POST /.* 200»> post. txt
grep «POST /.* 200» access_log>> post. txt
cut -d «"» -f2 post. txt | cut -d ' ' -f2 | cut -d»?» -f1 | sort | uniq -c | sort -n | tail -50
Результат может выглядеть следующим образом:
2 /contacts/
3 /wp-includes/x3dhbbjdu.php
7 /
8 /wp-admin/admin.php
38 /wp-admin/async-upload.php
394 /wp-cron.php
1626 /wp-admin/admin-ajax.php
1680 /wp-login.php/
6731 /xmlrpc.php
9042 /wp-login.php
Здесь видно много обращений к wp-login.php и xmlrpc.php, а также 3 успешных POST запроса к скрипту /wp-includes/x3dhbbjdu.php, которого не должно быть в Wordpress, то есть скорее всего это хакерский шелл.
Иногда полезно посмотреть выборку всех 403 Forbidden запросов, выполненных методом POST:
find. -name «*.gz’ -exec zcat {} \; | grep «POST /.* 403»> post_403.txt
grep «POST /.* 403» access_log>> post_403.txt
cut -d «"» -f2 post_403.txt | cut -d ' ' -f2 | cut -d»?» -f1 | sort | uniq -c | sort -n | tail -50
В нашем случае это выглядело так. Не очень много, хотя это могли быть попытки эксплуатации XML RPC Pingback:
8 /xmlrpc.php
Наконец, можно выбрать TOP-50 популярных запросов к сайту за сегодня:
cut -d «"» -f2 access_log | cut -d ' ' -f2 | cut -d»?» -f1 | sort | uniq -c | sort -n | tail -50
Получаем:
6 /wp-admin/images/wordpress-logo.svg
6 /wp-admin/plugins.php
7 /wp-admin/post-new.php
8 /wp-admin/async-upload.php
9 /sitemap. xml
10 /wp-admin/users.php
13 /feed/
13 /wp-admin/
20 /wp-admin/post.php
22 /wp-admin/load-styles.php
38 /favicon. ico
52 /wp-admin/load-scripts.php
58 /wp-cron.php
71 /wp-admin/admin.php
330 /wp-admin/admin-ajax.php
1198 /
2447 /wp-login.php
Статистика обращений к /wp-login.php в access_log подтверждает, что брутфорс атака на сайт еще идет (кто-то пытается подобрать пароль), поэтому следует ограничить доступ к wp-admin по IP или с помощью серверной аутентификации, а если на сайте Wordpress нет регистрации пользователей, то можно ограничить доступ и к wp-login.php.
Таким образом без каких-либо специализированных приложений и дополнительных инструментальных средств можно быстро выполнить анализ логов веб-сервера, найти подозрительные запросы и их параметры (IP адрес, User Agent, Referer, дату/время). Все что для этого нужно – подключение по SSH и базовые навыки работы с командной строкой.
2 Лог антивирусной программы
Начинаем мы с того, что запускаем программу FTK Imager.
Журналы программы
Kaspersky