Страница 1 из 3

разбор первлового бинарника

Добавлено: 2010-06-21 16:14:18
Alex Keda
есть пара клиентов.
у первого сайт на DLE, у второго вордпресс
оба периодически вылезают в топ с процессами perl.
занимаются таким:

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

srv5# cat ~lissyara/perl.list.sokets.txt
h8009    perl5.10.1 11278 3  tcp4   127.0.0.1:60585       127.0.0.1:25
h8009    perl5.10.1 11278 6  tcp4   195.211.101.39:60290  207.126.147.10:25
h8009    perl5.10.1 11278 7  tcp4   195.211.101.39:60574  74.125.148.10:25
h8009    perl5.10.1 11278 8  tcp4   195.211.101.39:59901  66.54.140.13:25
h8009    perl5.10.1 11278 9  tcp4   195.211.101.39:59454  69.183.28.24:25
h8009    perl5.10.1 11278 10 udp4   *:29773               *:*
h8009    perl5.10.1 11278 11 tcp4   195.211.101.39:60539  98.129.184.3:25
h8009    perl5.10.1 11278 12 tcp4   195.211.101.39:60506  204.182.4.230:25
h8009    perl5.10.1 11278 13 udp4   *:12798               *:*
h8009    perl5.10.1 11278 14 tcp4   195.211.101.39:59038  172.2.2.1:25
явно спам рассылают

процессы перловые запускаются без файлов. вернее, файлы за собой сразу же удаляют.
я их поймал, и файлы скопировал (запретил удалять из cgi-bin - тока добавлять)
имена файлов явно рандомные, внутри бинарник

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

srv5# file ~lissyara/*.pl
/usr/home/lissyara/pf.pl: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, corrupted section header size
/usr/home/lissyara/x.pl:  ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, corrupted section header size
srv5#     
вопрос - как можно бинарник разобрать во что-то удобоваримое?
хочется посмотреть что оно реально делает...

Re: разбор первлового бинарника

Добавлено: 2010-06-21 16:36:50
hizel
причем тут перл спрашивается

http://en.wikibooks.org/wiki/X86_Disass ... assemblers

Re: разбор первлового бинарника

Добавлено: 2010-06-21 16:43:34
Alex Keda
hizel писал(а):причем тут перл спрашивается

http://en.wikibooks.org/wiki/X86_Disass ... assemblers
работают именно процессы перла.
т.е. бинарник всё-таки перловый скрипт

Re: разбор первлового бинарника

Добавлено: 2010-06-21 20:37:01
hizel
бинарник - перловый скрипт, логика железобетонная
дай хоть потыкать что-ли, я похожее тупо прибил не разбираясь

Re: разбор первлового бинарника

Добавлено: 2010-06-21 20:48:22
risk94
о, у мну такаяж шняга! Че делать-то???

Re: разбор первлового бинарника

Добавлено: 2010-06-21 20:56:49
Гость
поздравляю вас
вас взломали и спамять через вас

Re: разбор первлового бинарника

Добавлено: 2010-06-21 21:14:52
Alex Keda
Гость писал(а):поздравляю вас
вас взломали и спамять через вас
не нас. клиента.
эту херь выкладывают по ftp, запускают, и тут же по ftp удаляют =)
hizel писал(а):бинарник - перловый скрипт, логика железобетонная
дай хоть потыкать что-ли, я похожее тупо прибил не разбираясь
куда высыпать?

Re: разбор первлового бинарника

Добавлено: 2010-06-21 21:28:22
hizel
дык, туда же куда обычно whois hizel.ru, начни с первого

Re: разбор первлового бинарника

Добавлено: 2010-06-21 21:30:29
Alex Keda
hizel писал(а):дык, туда же куда обычно whois hizel.ru, начни с первого
ушло

Re: разбор первлового бинарника

Добавлено: 2010-06-21 21:45:21
hizel

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

$ objdump -x pf.pl 

pf.pl:     file format elf32-i386
pf.pl
architecture: i386, flags 0x00000102:
EXEC_P, D_PAGED
start address 0x0804804c

Program Header:
    LOAD off    0x00000000 vaddr 0x08048000 paddr 0x08048000 align 2**12
         filesz 0x00007a81 memsz 0x00007e96 flags rwx

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
SYMBOL TABLE:
no symbols
стрянный бинарник

Re: разбор первлового бинарника

Добавлено: 2010-06-21 22:13:49
Гость
та приатачте на форум
я помню уже ктото такой бинарник показывал
zg, кажись
это perl скоприлированый в бинарник
потому от него процессы перловские и плодяться
обамнываеться легко
which perl
ну дальше вы поняли)))

Re: разбор первлового бинарника

Добавлено: 2010-06-21 22:21:54
hizel
нет там не переименованное, предполагаю что там берется перл и какая-та какашка из самого бинарника и запускается

у миня biew сегфолтицо :(
и я как обычно в этой засранной ассемблерной адресации плаваю

Re: разбор первлового бинарника

Добавлено: 2010-06-21 22:25:36
Гость

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

objdump -d lalala.pl

Re: разбор первлового бинарника

Добавлено: 2010-06-21 22:26:26
Гость

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

strings lalalala.pl

Re: разбор первлового бинарника

Добавлено: 2010-06-21 22:28:53
Alex Keda
ловите

Re: разбор первлового бинарника

Добавлено: 2010-06-21 22:30:30
Alex Keda

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

dc7700p$ strings ~lissyara/Desktop/pf.pl | more
RQSP
RQSP
RQSP
AQSP
RQSP
/usr/bin/perl
"#,qvt(j`d$|h|c!/t
r{l*xx
gld*
fgp6GWJSC'
kld"JK?<Tgjanx6
zct2Z[/,D}u
,JQ
OIO[H!?#4>
!``nn$$5/`c{}`54Twwn~ri3kYQG
QC_\
ZGMD@
RZRFFSC
......
походу, надо proftp просить посмотреть.

Re: разбор первлового бинарника

Добавлено: 2010-06-21 22:37:36
hizel
Гость писал(а):

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

objdump -d lalala.pl
гг, умный дофига :}

Re: разбор первлового бинарника

Добавлено: 2010-06-21 22:40:24
Гость
помоему это обфуцированый перл
начиная от места
/usr/bin/perl и дальше это все перл
выдерните если хотите
или впишите Hiew ом
вместо /usr/bin/perl что то другое
которое дернит из потока весь стрим и направит куда то в файл
и псмотрите что там будет(что хочет выполняться)

Re: разбор первлового бинарника

Добавлено: 2010-06-21 22:44:49
hizel
пока я с полной уверенностью могу сказать что запускается /usr/bin/perl

по смещению 0x349 запускается syscall 0x3b(59) что как известно во freebsd есть execve со сцылкой на адрес 350, где хранится строка /usr/bin/perl

Re: разбор первлового бинарника

Добавлено: 2010-06-21 22:46:25
Гость
гоню))
там не чистый перл
там в начале побайтовый xor стоит)) который снимаеться перед тем как этот стрим после /usr/bin/perl запускаеться

щас алгоритм скажу)) а вы потом можете на перле или еще чем настругать программку которая этот ксор снимит))
и увидите что там за чудо перл программа

Re: разбор первлового бинарника

Добавлено: 2010-06-21 22:58:30
Гость
вот алго снимающая с массива который идет сразу за перлом

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

	unsigned int ebx = 1;

	unsigned char decrypt[]; // весь массив после перл скрипта

	unsigned int ecx = 30499; //размер в байтах того масива

	unsigned int edx = 16;

	do {
		if (ebx == edx)
		{
			if (edx == 256)
				edx = 0;

			edx += 16;
			ebx = 1;
		}

		decrypt[ecx] ^= (ebx & 0xff);

	} while (ecx--);



Re: разбор первлового бинарника

Добавлено: 2010-06-21 23:01:15
Гость
фиксед
предыдущий алго убейте там ошибка


вот правильный

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

	unsigned int ebx = 1;
	unsigned char decrypt[]; //весь массив после перл скрипта
	unsigned int ecx = 30499; //размер в байтах того масива
	unsigned int edx = 16;

	do {
		if (ebx == edx)
		{
			if (edx == 256)
				edx = 0;

			edx += 16;
			ebx = 1;
		}

		decrypt[ecx] ^= (ebx & 0xff);

	       ebx ++;
	} while (ecx--);

Re: разбор первлового бинарника

Добавлено: 2010-06-21 23:31:17
hizel
ок, http://pastebin.com/xJiGjqp0 искомое

правда я не понимаю зачем такие гимморои :)

Лис разреши аттачи та

Re: разбор первлового бинарника

Добавлено: 2010-06-21 23:31:59
Гость
да кстати
а как этот pf.pl запустить то?
он ведь на бсд падает в "аварийное завершение" )))

elf_load_section: truncated ELF file

Re: разбор первлового бинарника

Добавлено: 2010-06-21 23:32:37
hizel
Гость писал(а):да кстати
а как этот pf.pl запустить то?
он ведь на бсд падает в "аварийное завершение" )))

elf_load_section: truncated ELF file
у меня все отлично запускает