W dzisiejszych wpisie znowu poruszymy temat WebHackingu. W ostatnich czasach coraz częściej słyszy się o atakach wymierzonych w konkretne witryny internetowe. Ataki mogą mieć podłoże zarówno ideologiczne, polityczne jak i mogą być formą zabawy ze strony początkującego hakera crackera. Dzisiaj powiemy czym jest webshell (php shell) i jak się bronić przed tego typu niechcianymi plikami. Przypominam od razu, że blog dedykowany jest dla osób raczkujących w tematach security it a nie specjalistów :-).
Czym jest WebShell?
Tak naprawdę jest to zwykły złośliwy fragment kodu napisany w dowolnym języku programowania. Takowy kod jest dołączany do skryptów znajdujących się na serwerze lub stanowi oddzielny samodzielny autonomiczny plik. Crackerzy prześcigają się w sposobach na ich ukrycie. Tego typu skrypty najczęściej są pisane w takich prostych językach jak PHP/Python/Ruby i najczęściej ich zadaniem jest udostępnienie prostego do zarządzania serwerem tajnego panelu administracyjnego.
Przestępca w takim panelu przeważnie ma pełen dostęp do systemu plików serwera. Może je zarówno usuwać, pobierać jak i edytować. Tego typu oprogramowane daje równie często dostęp do konta ftp użytkownika, opcji pobierania kopii bazy danych, czytanie pliku /etc/passwd serwera i wielu, wielu innych ciekawych opcji.
Przykładowe WebShelle
Najprostszym przykładowym shellem napisanym w języku PHP może być funkcja system lub shell_exec wykonująca polecenie systemu operacyjnego serwera (o ile nie jest ta funkcja zablokowana). Przykładem może być następujący plik:
<?php if(isset($_GET['komenda'])){ $komenda = ($_GET["komenda"]); system($komenda); echo "</pre>$komenda<pre>"; die; } ?>
Dodatkowo w tym skrypcie zostało użyte proste zabezpieczenie przed wyświetleniem treści o błędzie przed przypadkową osobą administratorem strony za pomocą dodatkowego parametru GET. Oczywiście mniej wygodniccy wprowadzają dodatkowo hasło zabezpieczające tylną furtkę.
Cyberprzestępca wykorzystując luke w oprogramowaniu serwera (np: w uploaderze plików graficznych co już opisywaliśmy kiedyś na blogu), RFI lub inny typ błąd wgrywa złośliwy skrypt i w ten sposób ma prosty dostęp do serwera. Istnieje oczywiście wiele bardziej wyrafinowanych darmowych i gotowych shelli takich jak c99 shell albo r57 shell. Gotowe tego typu narzędzia bardzo łatwo można wygooglować, ściągnąć i przetestować wrzucając na swój serwer http lub po prostu lokalnego XAMPPa.
Dużą większą ilość gotowych webshelli można znaleźć w prezentowanym już na blogu darmowym systemie operacyjnym dla hakerów Kali Linux dostępnym już w zupełnie nowej wersji 2.0.
Wystarczy przejść w tym systemie do folderu
/usr/share/webshells
Proces bawienia się i nauki ułatwi na pewno fakt, że w systemie dostępny jest już serwer http i interpreter skryptów php. Nic tylko poznawać system Linux, szukać, googlować i bawić się.
Dostępne są tam do przetestowania backdoory webowe napisane w takich językach jak ASP, ASPX, Cfm, Jsp, Perl i oczywiście PHP. Poniżej znajduje się spis darmowych skryptów tego typu dostępnych w obecnej wersji systemu Kali Linux:
- cmd-asp-5.1.asp,
- cmdasp.asp,
- cmdasp.aspx,
- cfexec.cfm,
- cmdjsp.jsp,
- jsp-reverse.jsp,
- perlcmd.cgi,
- perl-reverse-shell.pl,
- findsock.c,
- php-findsock-shell.php,
- qsd-php-backdoor.php,
- php-backdoor.php,
- php-reverse-shell.php,
- simple-backdoor.php.
Jak się bronić?
Zachęcam do zabawy a jeżeli posiadasz stronę internetową do przyjrzenia się integralności i oryginalności plików na nim. To jedyny sposób. Oczywiście odpowiednie uprawnienia plików na serwerze wspomagają walkę z wiatrakami i zabłąkanymi bezimiennymi i autorskimi php shell’ami. W sieci istnieją już aplikacje do automatyzacji sprawdzania integralności plików za pomocą skrótów np: md5sum o czym wkrótce na blogu. Miej wielkie oczy bo być może ktoś Cię śledzi ;-). A może Wy mieliście jakieś przygody i znacie fajne WebShelle?
Inny wpis który na 100% Cię zainteresuje:
Zapraszam na naszego facebooka HakerEduPL. Jeżeli zainteresował Cię wpis ze względu na system Kali Linux to zapraszam Ciebie do zapoznania się z darmową szkołą hakerów przeprowadzającą przykładowy atak na system operacyjny Windows.