Jest to update mojego posta z pl.comp.lang.php z soboty.
Tak jakoś napatoczyło mi się przed oczy:
http://newsroom.chip.pl/news_178877.html
Przy okazji chciałem więc coć niecoś tu napisać o tym, co ostatnio
obserwuję u siebie - a obserwuję zwiększoną ilość prób włamania z
użyciem PHP injection. Pobawiłem się więc w śledzenie i rozwalanie
botnetów. Przez ostatnie 2 miesiące zauważyłem 3 grupy/osoby stosujące
PHP injection: z Brazylii, Rumunii i z Niemczech (inne źródło wskazuje
Turcję). Zasada działania jest zbliżona:
1a) poprzez google są wyszukiwane serwisy podatne na włamanie (phpBB,
joomle, wordpressy, mombo etc), stosowane są frazy "inurl" oraz "powered
by".
1b) są uruchamiane crawlery chodzące po sajtach i testujące parametry w
URLu - każda zmienne jest po kolei testowana.
1c) są skanery skanujące po kolei adresy IP w danych sieciach, szukające
otwartego portu 80 i testujące nawet do kilkudziesięciu URLi - czy
dany serwer www zawiera "odpowiednie" skrypty podatne na włamanie.
2) po znalezieniu serwisu podatnego na włamanie jest includowany skrypt
PHP ze zdalnego serwera. Tutaj wersje się różnią w zależności od grupy -
począwszy od echo "own3d"; do całego kombajnu wyświetlającego rozmiar
buta admina.
3) Następnie przez znalezioną lukę są ściągane na serwer moduły
realizujące pewne czynności:
a) powiadomienie samego hackera o miejscu występowania dziury
b) połączenie się z serwerem IRC i oczekiwanie na komendy
c) próba wejścia na uprawnienia roota (rootkit)
d) wyszukiwanie kolejnych serwerów podatnych na włamanie (patrz punkt 1)
moduł łączący się z serwerem IRC (zrobiony w PHP) na początku sobie
zapewnia sobie nieskończone działanie:
@set_time_limit(0);
@ini_set('max_execution_time',0);
więc proces apacza cały czas wisi i go mieli (trudno go wykryć, jeżeli
się nie wie czego szukać).
podobny moduł innej osoby to już binarka:
na przykład taka: http://www.baietibuni.org/graph/xfs
opisana trochę tu (przynajmniej podobieństwo jest uderzające):
http://archives.neohapsis.com/archives/incidents/2001-12/0258.html
http://marc.theaimsgroup.com/?l=focus-virus&m=100966949416708&w=2
odpalana jest na uprawnieniach apacza (więc łatwo dość ją wykryć)
na serwerach undernetu są specjalne kanały założone przez hackerów,
które służą kontrolowaniu botnetów. Są to #vx8, #the, #rophp. Jeżeli
hacker nie wykonuje żadnych specjalnych akcji to takie połączenie z
serwerem IRC może wisieć tygodniami a admin zaatakowanego serwera nic o
tym nie wie - nie ma żadnych plików tymczasowych (a jak są to są od razu
kasowane), ruch sieciowy wtapia się w szum... Cały czas wisi tylko
proces apacza obsługujący dany skrypt PHP lub jakieś procesy chodzące na
użytkowniku apacza.
Połączenie z serwerem IRC pozwala hackerowi na wykonywanie dowolnych
komend (zdalny shell).
Z tego co się zorientowałem zauważone przeze mnie grupy zajmują się
phishingiem - kradzieżą informacji takich jak numery kart kredytowych
etc. Co dziwne nie zajmują się spamem i pewnie dlatego zaatakowane
serwery maja długi czas życia.
Jakie z tego wszystkiego można wyciągnąć wnioski:
1)
allow_url_fopen = Off
disable_functions = dl, exec, passthru, system, shell_exec, popen
2) są admini, którzy nie rozumieją słowa pisanego - na hoście, który
niby został "wyczyszczony" przez admina a nie zostały wprowadzone moje
propozycje zmian do php.ini zostały wkopiowane z backupu identyczne
skrypty PHP i zabawa zaczęła się od nowa.
3) są programiści, którzy nie zasługują na to miano
4) są serwisy, które postawione na "kombajnie" X lat temu działają
niezmiennie w swojej postaci, mimo, że od tego czasu producent wypuścił
5 ton poprawek z gatunku "security"
5) są serwery, gdzie trudno się doszukać kontaktu do admina (dziękujemy
Wam spamerzy) a najbliższy kontakt jest rzędu TPSA z kilkudziesięcioma
tysiącami adresów IP i człowiekiem grającym w quejka w dziale abuse.
Aby zrozumieć skalę zjawiska to przytoczę liczby: przez ostatni weekend
(weekendy to czas wzmożonej aktywności) udało im się dodać około 80
serwerów do botnetu. Serwerów na szybkich łączach a nie windowsy na dslach.
--
Pozdrawiam
Lemat
pomóż zwalczyć spam z ICIC:
http://www.lemat.priv.pl/index.php?m=page&pg_id=106
podlinkuj się do http://icic.pl
A co z serwerami Tomcat i stronami w JSP - czy tu (poza formularzami, które
zależą od programisty) da się coś injectnąć?
Marek
Przecież w PHP to też zależy od programisty...
p.
--
http://freedns.sgh.waw.pl/ -- bezpłatny DNS.
http://nerdquiz.sgh.waw.pl/ -- polska wersja quizu dla nerdów.
http://42.pl/u/ -- skracacz URL-i.
> Przy okazji chciałem więc coć niecoś tu napisać o tym, co ostatnio
> obserwuję u siebie - a obserwuję zwiększoną ilość prób włamania z
> użyciem PHP injection.
no i długo nie trzeba było czekać:
http://www.cskmswia.pl/images/
> Marek Wierzbicki <marek.wier...@azymuttttt.pl> wrote:
>>> Przy okazji chciałem więc coć niecoś tu napisać o tym,
>>> co ostatnio obserwuję u siebie - a obserwuję zwiększoną
>>> ilość prób włamania z użyciem PHP injection.
>> A co z serwerami Tomcat i stronami w JSP - czy tu (poza formularzami,
>> które zależą od programisty) da się coś injectnąć?
>
> Przecież w PHP to też zależy od programisty...
>
> p.
>
Wystarczy zainstalować mod_security i zaopatrzyć go w mądre reguły
filtrujące :) Dzięki temu już na starcie eliminujesz moim zdaniem ponad 90%
zagrożeń.
--
contact: qris4 at wp.pl
[ GPG KeyID: 1F7969B8 ]
fp: 4E13 4F89 0A17 A47F 883B 6855 421B E4E8 1F79 69B
> Piotr KUCHARSKI wrote:
> Wystarczy zainstalować mod_security i zaopatrzyć go w mądre reguły
> filtrujące :) Dzięki temu już na starcie eliminujesz moim zdaniem ponad
> 90% zagrożeń.
mod_security dobra rzecz, ale nie ochroni przed wszystkich. Warto jeszcze
wylaczyc allow_url_fopen w php.ini - skutecznie uniemozliwi includowanie
ze zdalnych serwerow.
--
http://www.cyberdusk.pl - konto 1GB, www, php5, mysql5 - 39zl/rok