PDA

Zobacz pełną wersję : bind.tgz - co to? wirus?



prezes
28-04-2008, 01:39
W głównym katalogu joomli znalazłem coś takiego:
bind.tgz (pojemność plikiu:62 272)
- ściągnąłem na kompa i widzę, że zawiera pliki:
ken
proc
prox
run
xh
- nie majÄ… rozszerzenia.
Co to jest? Czy to jakiś wirus? Po otwarciu plików wordpadem widzę dziwne symbole ale też i pewne ścieżki do dysków, dziwne opisy.
Jeśli to wirus, coś zamulające joomle, to jak ktoś mógł to wgrać mi do głównego katalogu domeny?

crazyluki
28-04-2008, 01:52
1. jaka joomla?
2. jakie dodatki?
3. jakie przedsięwziąłeś kroki żeby zabezpieczyć się przed włamaniem?

koniecznie napisz jakie masz wersje dodatków (z adnotacją czy aktualne)

jeśli sam tego nie wgrałeś - no to jest problem:) prawdopodobnie ktoś to wgrał w niecnych celach - poczytaj co trzeba teraz zrobić o tutaj http://www.pomoc.joomla.pl/component/option,com_easyfaq/task,cat/catid,75/Itemid,53/

prezes
28-04-2008, 04:01
j 1.0.13 pl (admin-eng).
dodatki - pomost j-p.
generalnie serwery są b.dobre - premedia.info, nie mialem wcześniej włamów, korzystam długo.
Strona działa! Bez zakłóceń. Jednak ja tego pliku świadomie nie wgrałem. Jak ktoś chce mogę przesłać - juz go przeglądałem, jak pisałem wcześniej, nie jest to żaden instalator wirusa - przeglądałem notatnikiem. W treści jest wiele dziwnych rzeczy, moze znający się na serwerach coś powiedzą - oto fragmenty dających się rozczytać literami kodu jednego z plików w bind.tgz, wyboldowałem najbardziej podejrzane rzeczy:

libc.so.6 strcpy waitpid ioctl stdout execve memcpy perror dup2 socket select fflush bzero setpgid accept write kill bind chdir memchr signal read strncmp htonl listen fork sprintf htons exit _IO_stdin_used __libc_start_main strlen open vhangup setsid close __gmon_start__ GLIBC_2.0

pqrstuvwxyzabcde 0123456789abcdef /dev/ptmx /dev/pty /dev/tty /usr/sbin/httpd -k start -DSSL socket bind listen karcis ngopi nang MBAK MUT .., no = %d
By ken
/ /dev/null sh -i HOME=%s Can't fork pty, bye!
/bin/sh ?? mbakmut --++ Selamat Anda Mendapat Satu Gelas Kopi ++--


GCC: (GNU) 3.3.1 (SuSE Linux) GCC: (GNU) 3.3.1 (SuSE Linux) GCC: (GNU) 3.3.1 (SuSE Linux) GCC: (GNU) 3.3.1 (SuSE Linux) GCC: (GNU) 3.3.1 (SuSE Linux) GCC: (GNU) 3.3.1 (SuSE Linux) GCC: (GNU)

/usr/src/packages/BUILD/glibc-2.3/cc/csu/crtn.S /usr/src/packages/BUILD/glibc-2.3/csu GNU AS 2.14.90.0.5

short unsigned int unsigned char /usr/src/packages/BUILD/glibc-2.3/csu short int long long int long long unsigned int _IO_stdin_used GNU C 3.3.1 (SuSE Linux) __libc_csu_fini size_t __init_array_end __init_array_start elf-init.c __fini_array_end __libc_csu_init __fini_array_start size ! X .symtab .strtab .shstrtab .interp .note.ABI-tag .hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt .init .text .fini .rodata .data .eh_frame .dynamic .ctors .dtors .jcr .got .bss .comment .debug_aranges .debug_pubnames .debug_info .debug_abbrev .debug_line .debug_frame .debug_str .debug_ranges

<command line> /usr/src/packages/BUILD/glibc-2.3/cc/config.h <built-in> abi-note.S /usr/src/packages/BUILD/glibc-2.3/cc/csu/abi-tag.h init.c /usr/src/packages/BUILD/glibc-2.3/cc/csu/crti.S /usr/src/packages/BUILD/glibc-2.3/cc/csu/defs.h initfini.c call_gmon_start crtstuff.c __CTOR_LIST__ __DTOR_LIST__ __JCR_LIST__ p.0 completed.1 __do_global_dtors_aux frame_dummy __CTOR_END__ __DTOR_END__ __FRAME_END__ __JCR_END__ __do_global_ctors_aux /usr/src/packages/BUILD/glibc-2.3/cc/csu/crtn.S ken.c elf-init.c cb_shell _DYNAMIC write@@GLIBC_2.0 hangout close@@GLIBC_2.0 sig_child _fp_hw perror@@GLIBC_2.0 fork@@GLIBC_2.0 signal@@GLIBC_2.0 fflush@@GLIBC_2.0 __fini_array_end select@@GLIBC_2.0 htonl@@GLIBC_2.0 __dso_handle __libc_csu_fini execve@@GLIBC_2.0 memchr@@GLIBC_2.0 accept@@GLIBC_2.0 sc _init listen@@GLIBC_memcpy@@GLIBC_2.0 open@@GLIBC_2.0 bzero@@GLIBC_2.0 exit@@GLIBC_2.0 passwd _edata __i686.get_pc_thunk.bx _GLOBAL_OFFSET_TABLE_ _end ioctl@@GLIBC_2.0 htons@@GLIBC_2.0 __init_array_start _IO_stdin_used kill@@GLIBC_2.0 sprintf@@GLIBC_2.0 __data_start socket@@GLIBC_2.0 _Jv_RegisterClasses read@@GLIBC_2.0 __gmon_start__ strcpy@@GLIBC_2.0

0,9)=@s16;r(0,9);0;65535; signed char:t(0,10)=@s8;r(0,10);-128;127; unsigned char:t(0,11)=@s8;r(0,11);0;255; float:t(0,12)=r(0,1);4;0; double:t(0,13)=r(0,1);8;0; long double:t(0,14)=r(0,1);12;0; complex int:t(0,15)=s8real:(0,1),0,32;imag:(0,1),32,32;; complex float:t(0,16)=r(0,16);8;0; complex double:t(0,17)=r(0,17);16;0; complex long double:t(0,18)=r(0,18);24;0; __builtin_va_list:t(0,19)=*(0,20)=(0,20) ../include/libc-symbols.h /usr/src/bs/BUILD/glibc-2.2.2/build-i386-linux/config.h ../sysdeps/gnu/_G_config.h ../sysdeps/unix/sysv/linux/bits/types.h ../include/features.h ../include/sys/cdefs.h ../misc/sys/cdefs.h /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stddef.h size_t:t(8,1)=(0,4) __u_char:t(4,1)=(0,11) __u_short:t(4,2)=(0,9)

.symtab .strtab .shstrtab .interp .note.ABI-tag .hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.got .rel.plt .init .plt .text .fini .rodata .data .eh_frame .ctors .dtors .got .dynamic .sbss .bss .stab .stabstr .comment

initfini.c gcc2_compiled. call_gmon_start init.c crtstuff.c p.0 __DTOR_LIST__ completed.1 __do_global_dtors_aux __EH_FRAME_BEGIN__ fini_dummy object.2 frame_dummy init_dummy force_to_data __CTOR_LIST__ __do_global_ctors_aux __CTOR_END__ __DTOR_END__ __FRAME_END__ pro.c execl@@GLIBC_2.0 _DYNAMIC __register_frame_info@@GLIBC_2.0 _fp_hw _init __deregister_frame_info@@GLIBC_2.0 _start __bss_start main __libc_start_main@@GLIBC_2.0 strcat@@GLIBC_2.0 data_start _fini __cxa_finalize@@GLIBC_2.1.3 exit@@GLIBC_2.0 _edata _GLOBAL_OFFSET_TABLE_ _end _IO_stdin_used fake __data_start __gmon_start__ strcpy@@GLIBC_2.0

__gmon_start__ libpthread.so.0 pthread_attr_init connect pthread_create system recvfrom send accept pthread_attr_setstacksize sendto pthread_mutex_unlock pthread_self pthread_mutex_destroy pthread_mutex_lock __errno_location pthread_mutex_init pthread_attr_setdetachstate fcntl close libc.so.6 strcpy stdout strerror __ctype_b __strtol_internal usleep getpid memcpy perror malloc socket fflush strncasecmp fprintf bind __deregister_frame_info setsockopt fseek strstr rand signal openlog realloc __strdup listen sscanf gettimeofday localtime srand time poll syslog shutdown gethostbyname sprintf fclose getpeername stderr fopen _IO_stdin_used gmtime daemon __libc_start_main strchr __register_frame_info free getsockname GLIBC_2.1

HTTP/1.0 403 Forbidden
Proxy-Connection: close

<pre> HTTP/1.0 407 Proxy Authentication Required
Proxy-Connection: keep-alive
Content-Length: 0
Proxy-Authenticate: NTLM HTTP/1.0 407 Proxy Authentication Required
Proxy-Authenticate: basic realm="proxy"

<html><head><title>407 Proxy Authentication Required</title></head>
<body><h2>407 Proxy Authentication Required</h2><h3>Access to requested resource disallowed by administrator or you need valid username/password to use this resource</h3></body></html>
HTTP/1.0 403 Forbidden
Proxy-Connection: close

<html><head><title>403 Access Denied</title></head>
<body><h2>403 Access Denied</h2><h3>Access control list denies you to access this resource</body></html>
HTTP/1.0 404 Not Found
Proxy-Connection: close

<html><head><title>404 Not Found</title></head>
<body><h2>404 Not Found</h2><h3>File not found</body></html>
HTTP/1.0 200 Connection established

HTTP/1.0 200 Connection established

HTTP/1.0 407 Proxy Authentication Required
Proxy-Authenticate: Basic realm="proxy"

<html><head><title>407 Proxy Authentication Required</title></head>
<body><h2>407 Proxy Authentication Required</h2><h3>Access to requested resource disallowed by administrator or you need valid username/password to use this resource</h3></body></html>
HTTP/1.0 500 Internal Error

<html><head><title>500 Internal Error</title></head>
<body><h2>500 Internal Error</h2><h3>Internal proxy error during processing your request</h3></body></html>
HTTP/1.0 502 Bad Gateway

<html><head><title>502 Bad Gateway</title></head>
<body><h2>502 Bad Gateway</h2><h3>Host Not Found or connection failed</h3></body></html>
HTTP/1.0 400 Bad Request

<html><head><title>400 Bad Request</title></head>
<body><h2>400 Bad Request</h2></body></html>
%2x %5C%22 %ff %%%.2x CONNECT http:// ftp:// GET PUT POST HEAD proxy-connection: connection: keep-alive Host: http://%s%s content-length <pre><hr>
<hr> I RETR LIST <DIR> ---------- DIR LINK <A HREF=" -> "> &lt; &gt; </A> </A> HTTP/1.0 200 OK
Content-Type: text/html
Proxy-Connection: keep-alive
Content-Length: %d

Proxy-Connection Connection %s: Keep-Alive
Proxy-Authorization Authorization %s: basic %.32s:%.64s
proxy- Keep-Alive Close %s: %s
-a - anonymous proxy
-a1 - anonymous proxy with random client IP spoofing
-d go to background (daemon)
-fFORMAT logging format (see documentation)
-l log to stderr
-lFILENAME log to FILENAME
-bBUFSIZE size of network buffer (default 4096 for TCP, 16384 for UDP)
-l@IDENT log to syslog IDENT
-t be silenT (do not log service start/stop)
-iIP ip address or internal interface (clients are expected to connect)
-eIP ip address or external interface (outgoing connection will have this)
a Usage: %s options
Available options are:
%s -pPORT - service port to accept connections
%s Example: %s -i127.0.0.1

%s socket() setsockopt() bind(): %s listen(): %s Accepting connections [%u/%u]

Warning: too many connected clients (%d/%d) poll(): %s/%d accept(): %s Memory Allocation Failed pthread_create(): %s Exiting thread äÂÂ*ÂŘ (c)2000-2006 3APA3A, Vladimir Dubrovin & Security.Nnov
Documentation and sources: http://www.security.nnov.ru/soft/3proxy/
Please read license agreement in 'copying' file.
You may not use this program without accepting license agreement %u.%u.%u.%u G%y%m%d%H%M%S.%. %p %E %U %C:%c %R:%r %O %I %h %T %.2d %.4d %.10u %u %.3u %+.2d%.2u - %.03d %hu %lu %d

#!/bin/sh
./proc "/usr/local/apache/bin/httpd -DSSL" prox -d -a -p8889


jest to bind.tgz - tgz to chyba rozszerzenie linuxa?
po otwarciu winrarem: w środku jest folder "pro" a w nim wymienione wyżej pliki

prezes
30-04-2008, 12:24
No i ktoś się włamał - wymienił mój plik index.php na własny - plik z treścią "love sendy". Oczywiście nic więcej nie naszkodził, a mając backup lokalny, nadpisałem plik i serwis znów działa. Ale jak to możliwe, że ktoś to zrobił? Wiele razy słyszałem o takich nadpisaniach plików i nie wiem do tej pory, jak ludzie to robią - i czy, jeśli chcieliby, mogli wyczyścić całą joomlę z katalogami?

crazyluki
30-04-2008, 12:33
cześć! tak podejrzewałem że to włamanie :)
http://www.pomoc.joomla.pl/component/option,com_easyfaq/task,cat/catid,75/Itemid,53/ poczytaj tutaj dwa artykuły przetłumaczone przeze mnie "Witryna po włamaniu" oraz "Ochrona przed włamaniem". zastosuj się do wszystkich instrukcji. gdzie masz hosting ?

kurtz
30-04-2008, 12:45
no cacy artykuły ;)

crazyluki
30-04-2008, 12:48
miałem jeszcze jeden tłumaczyć ( w sumie przetłumaczył go prawie połowę) ale doszedłem do wniosku że powiela treści z dwóch poprzednich + stara się skłonić ludzi do zgłaszania błędów Joomla Core:)

kurtz
30-04-2008, 12:50
dwa to i tak wielkie szczęście ;)

prezes
30-04-2008, 13:59
dzięki wielkie, mam nadzieję, że znajdę tam odpowiedź na pytanie pt" jak oni to robią, że wgrywają mi w główny katalog jakikolwiek plik lub nadpisują istniejący" mimo... prawidłowych chmodów!

crazyluki
30-04-2008, 14:16
raczej nie uzyskasz odpowiedzi jak oni to robiÄ…:)
uzyskasz odpowiedź na pytanie : czego zapomniałem zrobić, co powinienem robić i dlaczego poprawne chmody to nie wszystko. Przeczytaj artykuły (i jakbyś mógł) wypisz jakie błędy popełniłeś. tak ku przestrodze innym. prezes: nie ma sie czego wstydzić - każdy popełnia błedy, sztuką jest otwarcie się do nich przyznać:)

hINDUs
28-07-2008, 13:50
ja się nie znam, ale wygląda to na binarkę linuxową która ma za zadania stworzyć jakieś proxy...