Skocz do zawartości
yakusa

Włam na serwer Home.pl plus mail hack

Polecane posty

Cześć wszystkim,

Mam pytanie do Was jako specjalistów od serwerów i tej tematyki jak możliwe jest aby ktoś nieautoryzowany wrzucił plik php do dowolnie wybranego katalogu (dla niepoznaki w dziwnych zakamarkach skryptu cms) na serwerze FTP, w którym zabezpieczenia to chociażby CHMOD 744, obecny index.html a dodatkowo, jak możliwe jest aby ten plik wywołać do działania z tego miejsca i jak możliwe jest aby tenże plik miał datę z 2013r. mimo że został wrzucony w ostatnim miesiącu? (??!!)

 

Zawartość takiego odnalezionego pliku (wyszukany po logach z serwera)

http://pastebin.com/4npdh6ge

 

Ten syf wysyła tony maili powodując dodanie ip firmowego serwera do blacklist skutkując niemałym paraliżem funkcjonowania firmy.

CMS to Joomla. Wydawała się dobrze zabezpieczona do niedawna...

Serwer Home.pl...

Wykluczony jest keylogger, czy jakiś inny malware. Ktoś wrzuca pliki poprzez jakąś lukę w zabezpieczeniach w home moim zdaniem

Edytowano przez yakusa (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Cześć, Właśnie tak coś mi zaświtało z tym eval(em)
Nie jestem pewien tylko czy wyłączenie evala nie jest zbyt daleko idącą "prośbą" skierowaną do home...

Zaskakuje mnie to że plik został wrzucony z datą 2013r w zupełnie randomowy sposób tzn dla niepoznaki tak jakby haker chciał wrzucić coś zdalnie do mojego windows/fonts ... Masakra

 

Poza tym zablokowanie evala to tylko jedna strona medalu. Zablokowanie wywoływania tego skryptu. Problem jest jak zabezpieczyć się przed tym "wrzucaniem" i "dostępem" do plików na serwerze.

Edytowano przez yakusa (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mi jednak wydaje się że trochę (jak nie więcej) winy ponosi Home w tym przypadku - w temacie ich zabezpieczeń. Wczoraj migrowałem serwer z H do Linuxpl i moim oczom ukazał się nie lada widok. Import zakażonych plików na serwer Linuxpl nie powiódł się. Każdy z 61 plików zawierał funckję eval no i o czywiście kod w base64. CMS to wordpress. Bardzo fajne zabezpieczenie od strony serwera.

 

A tak na marginesie to tu jest bardzo przydatny poradnik dotyczący czyszczenia Wordpressa i innych CMS w sumie z niebezpiecznego kodu
https://raam.org/2013/cleaning-evalbase64_decode-from-a-hacked-wordpress-website-via-ssh/

 

+ ciekawy REGEX

(eval(base64_decode().+());)

 

do użycia w Notepad++

Edytowano przez yakusa (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Też stawiam na Joomlę lub którąś wtyczkę do niej.

 

 

A co do takiego zabezpieczania się poprzez usuwanie eval(base64...

Jeśli to automat usuwający wszystko bez analizy faktycznego kodu zawartego wewnątrz, to mnie takie coś wkurza. Tak np. działa już od jesieni 2012 oprogramowanie antywirusowe od ESET. Kod:

<?php eval(base64_decode('ZWNobyAnaGVsbywgd29ybGQnOw==')); ?>

- czyli zwykłe "helo world" - jest uznawany za trojana. Jak dla mnie to zbyt daleko idące pójście na łatwiznę z ich strony. Zasygnalizowanie, że w takim kodzie może coś niebezpiecznego się kryć - tak - ale usuwanie z automatu wszystkiego zawierającego eval(base64_decode - nie.

 

Jeśli na tym Linuxpl mój powyższy kod też nie zostałby dopuszczony - podziękowałbym za taką usługę, nadmierna "troskliwość", pójście na łatwiznę. Plus za skanowanie plików pod względem wirusów, że w ogóle to robią, ale podejrzewam, że idą na łatwiznę tak jak ESET (może nie).

Edytowano przez Piotr GRD (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Podaj mi jakiekolwiek praktyczne zastosowanie łączenia evala z base64_decode.

 

To tak jakbyś miał za złe policji, że reaguje jak wyważasz drzwi mówiąc im "no co wy panowie, przecież to mój lokal!"

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Archi, spytaj programistów. Niestety piszą takie cuda a później nie można tego blokować :)

Nie nazwał bym ich programistami...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

@ Archi

Nawet jeśli nie istnieje uzasadnione i praktyczne zastosowanie takiej metody programowania, to nie oznacza, że każdorazowo z automatu należy to traktować jako wirusa. To tak jakby z góry zakładać, że jeśli mam ochotę własnoręcznie rozebrać stary samochód, to z całą pewnością wszystkie płyny spuszczę do rzeki, plastiki wyrzucę w lesie, a tylko blachy wywiozę na złom. No nie, akurat ja zadbałbym, aby rozebrać samochód w sposób należyty, ale nie mogę, bo nie jestem autoryzowaną stacją demontażu pojazdów.

 

To, że większość robi coś nienależycie, nie oznacza, że nie istnieją lub nie będą istniały wyjątki, w których akurat dana metoda będzie miała uzasadnienie. A niestety lubimy wszystko i wszystkich danego rodzaju wrzucać do jednego worka i z góry zakładać coś, co *tylko* w 99% przypadków ma miejsce.

 

 

Nie wiem jak teraz, bo już się tym nie bawię tak dużo jak kiedyś, ale przed kilku laty dość często widywałem taką formę "zabezpieczenia" linku autora w stopce w darmowych szablonach do Wordpressa. Początkujący użytkownicy Wordpressa dość często usuwali informacje o autorze darmowego szablonu ze stopki, więc aby tym początkującym nie znającym się na PHP utrudnić proceder, tak właśnie kodowali całą stopkę szablonu. Ja osobiście nie stosowałem tego nigdy, ale widywałem wielokrotnie. I w kodzie nic niewłaściwego czy chociażby tylko potencjalnie niebezpiecznego nie było.

 

 

PS. Kiedyś rozwiercałem zamek w drzwiach mieszkania. I tak, to był lokal, do którego miałem prawo wejść i nim dysponować. Jeśli pojawiłaby się policja oczekiwałbym, że poprosiliby o dokumenty, aby sprawę wyjaśnić (innymi słowy: zajrzeliby co w tym ciągu base64 się znajduje). Jeśli z automatu rzuciliby mnie na glebę i założyli kajdanki (czyli z automatu skasowali cały plik, bo jest tam eval-base64) uznałbym to za niewłaściwe.

Edytowano przez Piotr GRD (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

@ Archi

Nawet jeśli nie istnieje uzasadnione i praktyczne zastosowanie takiej metody programowania, to nie oznacza, że każdorazowo z automatu należy to traktować jako wirusa. To tak jakby z góry zakładać, że jeśli mam ochotę własnoręcznie rozebrać stary samochód, to z całą pewnością wszystkie płyny spuszczę do rzeki, plastiki wyrzucę w lesie, a tylko blachy wywiozę na złom. No nie, akurat ja zadbałbym, aby rozebrać samochód w sposób należyty, ale nie mogę, bo nie jestem autoryzowaną stacją demontażu pojazdów.

 

To, że większość robi coś nienależycie, nie oznacza, że nie istnieją lub nie będą istniały wyjątki, w których akurat dana metoda będzie miała uzasadnienie. A niestety lubimy wszystko i wszystkich danego rodzaju wrzucać do jednego worka i z góry zakładać coś, co *tylko* w 99% przypadków ma miejsce.

 

 

Nie wiem jak teraz, bo już się tym nie bawię tak dużo jak kiedyś, ale przed kilku laty dość często widywałem taką formę "zabezpieczenia" linku autora w stopce w darmowych szablonach do Wordpressa. Początkujący użytkownicy Wordpressa dość często usuwali informacje o autorze darmowego szablonu ze stopki, więc aby tym początkującym nie znającym się na PHP utrudnić proceder, tak właśnie kodowali całą stopkę szablonu. Ja osobiście nie stosowałem tego nigdy, ale widywałem wielokrotnie. I w kodzie nic niewłaściwego czy chociażby tylko potencjalnie niebezpiecznego nie było.

 

 

PS. Kiedyś rozwiercałem zamek w drzwiach mieszkania. I tak, to był lokal, do którego miałem prawo wejść i nim dysponować. Jeśli pojawiłaby się policja oczekiwałbym, że poprosiliby o dokumenty, aby sprawę wyjaśnić (innymi słowy: zajrzeliby co w tym ciągu base64 się znajduje). Jeśli z automatu rzuciliby mnie na glebę i założyli kajdanki (czyli z automatu skasowali cały plik, bo jest tam eval-base64) uznałbym to za niewłaściwe.

 

Tyle, że nawet w twoim przypadku używasz wyłącznie base64_decode, a nie evala + base64. Już nawet pomijam to, że to straszny idiotyzm i są o wiele lepsze sposoby na zrealizowanie tego.

 

False positivy będą zawsze i nie uważam, że powinieneś mieć firmie za złe, że reaguje jeśli skuteczność wynosi 99,9% albo i więcej. Jeśli w 999 na 1000 przypadków reguła działa i chroni, to ten 1 można uznać za mniejsze zło i załatwić go w inny sposób.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

...mniejsze zło...

Nie z punktu widzenia tego jednego przypadku / tej jednej osoby.

 

Nie mam za złe, że reaguje. Mam za złe, jeśli idzie na łatwiznę. Od jesieni 2012 ESET poprzestaje na wykryciu eval(base64_decode bez analizowania co jest wewnątrz. Jeśli wspomniany Linuxpl działa podobnie (nie wiem, ale jeśli), to ja dziękuję. Mam za złe, że nie mogę wyrejestrować pojazdu, jeśli sam go rozbiorę na podwórku (znaczy mogę, ale po uiszczeniu wysokiej opłaty). Mam za złe, że w wielu przepisach i regułach uwzględnione jest 99% przypadków, a bardzo często nie zostawia się *żadnej* furtki dla tego jednego procenta, najczęściej dlatego, że byłoby to zbyt skomplikowane i/lub wiązałoby się z oddaniem ludziom większej swobody w działaniu i jednocześnie koniecznością większego zaufania wobec nich. Np. zaufania ze strony hostingu, że to użytkownik sam zadba o swoją Joomlę i Wordpressa, a nie zrzuci wszystko na hosting ograniczając tym samym to jakie pliki może wgrać a jakie nie. Np. zaufania ze strony organów państwowych, że to człowiek sam zadba o środowisko, a nie zrzuci konieczność dbania na organy państwowe, ograniczając tym samym swoją swobodę. 99% tego *niestety* potrzebuje, ale ten jeden procent bardzo często nie jest uwzględniany.

Edytowano przez Piotr GRD (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

yakusa - czy zgłosiłeś to do naszego BOK? Nasi administratorzy przeanalizowaliby logi serwera. Dodam, że od 2 miesięcy nasze serwery posiadają wbudowany WAF, który blokuje tego typu ingerencje w FTP. Niewykluczone więc, że pliki pojawiły się wcześniej np. w wyniku dziurawych wtyczek.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Też stawiam na Joomlę lub którąś wtyczkę do niej.

 

 

A co do takiego zabezpieczania się poprzez usuwanie eval(base64...

Jeśli to automat usuwający wszystko bez analizy faktycznego kodu zawartego wewnątrz, to mnie takie coś wkurza. Tak np. działa już od jesieni 2012 oprogramowanie antywirusowe od ESET. Kod:

<?php eval(base64_decode('ZWNobyAnaGVsbywgd29ybGQnOw==')); ?>

- czyli zwykłe "helo world" - jest uznawany za trojana. Jak dla mnie to zbyt daleko idące pójście na łatwiznę z ich strony. Zasygnalizowanie, że w takim kodzie może coś niebezpiecznego się kryć - tak - ale usuwanie z automatu wszystkiego zawierającego eval(base64_decode - nie.

 

Jeśli na tym Linuxpl mój powyższy kod też nie zostałby dopuszczony - podziękowałbym za taką usługę, nadmierna "troskliwość", pójście na łatwiznę. Plus za skanowanie plików pod względem wirusów, że w ogóle to robią, ale podejrzewam, że idą na łatwiznę tak jak ESET (może nie).

 

Hej. Wrzuciłem pliczek z kodem jaki podałeś na linuxpl i przeszło ;)

Home.pl - poruszyłem też temat na Waszym forum. Zajmiemy się tą sprawą niedługo tylko zbiorę dowody zbrodni :D

 

Kwestia wrzutu pliku i zmiany jego atrybutu (data) też została bardzo przystępnie wyjaśniona na forum Home. W sumie zyskujecie w moich oczach bo jakość forum i odpowiedzi jest na wysokim poziomie :)

 

Edytowano przez yakusa (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×