WEP lekcja #10 – Pełny atak na uploader internetowy i mime-type…

Nasza darmowa szkoła hakerów Web Application Penetration osiągnęła magiczną liczbę 10 lekcji. Dzisiejsze wideo będzie wyjątkowe, ponieważ przedstawimy wszystkie poziomy zabezpieczeń (Low/Medium/High) skryptu Damn Vulnerable Web Application 1.9 modułu File Upload.

Pokażemy jak obejść zabezpieczenie uploadera plików w przypadku gdy HTML filtruje rozmiar przesyłanego pliku, sprawdzane jest rozszerzenie pliku .jpg lub .png lub gdy skrypt PHP weryfikuje za pomocą funkcji getimagesize() czy przesyłany złośliwy skrypt jest obrazkiem. Wykorzystamy do tego celu wtyczkę Live HTTP Headers, lokalne proxy dla audytorów bezpieczeństwa Burp Suite i program Exif Pilot do wstrzyknięcia potencjalnie złośliwego kodu PHP. Nie zabrakło również prezentacji popularnego shella o nazwie C99 Shell.

Materiał filmowy o testowaniu zabezpieczonych uploaderów plików – lekcja #10

Poniżej znajduje się film w serwisie YouTube poruszający praktycznie w pełni temat ataków hakerskich, na niepoprawnie oprogramowane mechanizmy wgrywania plików na stronę internetową.

Użyte narzędzia hackerskie w materiale wideo

  • Burp Suite Free Edition – zintegrowana platforma do testowania zabezpieczeń web aplikacji. W dzisiejszej lekcji użyliśmy modułu proxy do modyfikowania zapytań HTTP. Narzędzie jest multiplatformowe, ponieważ zostało napisane w jerzyku Java. W systemie operacyjnym Kali Linux 2016.1 jest już one domyślnie zainstalowane. W przypadku gdy chcesz wykorzystać go w systemie Microsoft Windows, musisz pobrać odpowiedni plik .jar. Aplikacja wymaga zainstalowania JVM (wirtualnej maszyny Javy).
  • Live HTTP Headers – wtyczka do rejestrowania zapytań HTTP z możliwością ich powtórnego wysyłania.
  • Exif Pilot – darmowe narzędzie umożliwiające odczytywanie i modyfikowanie metadanych z plików fotograficznych (IPTC i EXIF). Jeśli aparat zapisuje takie dane jak lokalizacje GPS wykonanego zdjęcia, dzięki temu programowi możesz ją również odczytać.
Burp Suite i hack na upload plików jpg i php za pomocą nagłówka content-type, exif i mime.
Interfejs proxy programu Burp Suite Free umożliwia modyfikacje zapytań HTTP. Dzięki temu możliwe jest sfałszowanie nagłówka Content-Type, pomimo faktu że plik ma rozszerzenie .php.

Materiały dodatkowe o formularzach wgrywania plików

Na blogu pojawiło się już kilka wpisów na temat uploaderów, dlatego odsyłam Ciebie do poniższych materiałów dodatkowych. Nigdy nie ma sensu wymyślać koła na nowo, zapamiętaj to motto.

Wstęp do uploaderów plików

Jak włamać się na stronę internetową? | KURS UPLOADERA #2

Obchodzimy zabezpieczenie uploadera za pomocą EXIF

Jak włamać się na stronę internetową? | KURS UPLOADERA #3

Piszemy prosty upload exploit z pomocą cURL i programu netcat

Zadanie domowe do lekcji #10

-> Zadanie 1

Poszukaj i poczytaj w Internecie informacji na temat plików konfiguracyjnych Apache o nazwie .htaccess. Następnie na podstawie naszego wpisu na blogu php jako jpeg w .htaccess i informacji z Wikipedii na temat mime type utwórz i wgraj plik .htaccess (poziom DVWA na Low), który nakazuje wykonanie pliku z rozszerzeniem .mp3 jako PHP. Jako skrypt PHP możesz użyć prostego shella poznanego w materiałach wideo. Zanim wgrasz ten skrypt, zmień jego rozszerzenie i nazwę na skrypt.mp3 i spróbuj uruchomić go w przeglądarce internetowej. Rozwiązaniem zadania jest działający poprawnie skrypt php na serwerze z rozszerzeniem pliku mp3.


Uwaga! Rozwiązanie 1. Nie psuj sobie zabawy!

Wgraj za pomocą uploadera skryptu DVWA następujący plik .htaccess:

AddType application/x-httpd-php .mp3

Utwórz dowolny poprawny skrypt PHP i zapisz go na dysku jako skrypt.mp3. Teraz spróbuj go wgrać i uruchomić w przeglądarce www:

http://192.168.0.14/hackable/uploads/skrypt.mp3

Uwaga! Powyższy adres www jest oczywiście tylko orientacyjny.

Podsumowanie o lukach uploaderów i typach plików

Dzisiaj zaprezentowaliśmy Tobie pełny arsenał metod ataków na podatne mechanizmy wgrywania plików na stronę www. Nawet jeśli nie udało Ci się wgrać pliku interpretowanego PHP na serwer  podczas testu zabezpieczeń dowolnego skryptu, to nie świadczy to o bezpieczeństwie strony internetowej w tym zakresie.

Nie jest niczym nowym, stwierdzenie, że wykorzystuje się czasami kilka podatności w kreatywny sposób naraz w trakcie audytu. Jak dowiesz się z kolejnych lekcji tego cyklu szkoleniowego, możesz wykorzystać taki uploader plików do ataku z wykorzystaniem podatności lokalnego dołączania plików.

Pamiętaj, że podczas takiego audytu bezpieczeństwa uploader nie musi być udostępniony wszystkim użytkownikom strony internetowej. Być może zapominalski administrator, wgrał kiedyś taki skrypt do własnych celów i zapomniał go usunąć. W takim przypadku pomocne są skanery takie jak dirbuser i tzn. google hacking. Istnieje też scenariusz, w którym pentester złamie za pomocą brute-force hasło administratora i nic za bardzo więcej nie może zrobić. Rozwiązaniem wtedy może być doinstalowanie pluginu takiego uploadera (w przypadku gdy CMS posiada funkcje instalowania rozszerzeń np. WordPress). Jeśli chcesz być z nowościami na bieżąco, to wbijaj obowiązkowo na naszego fanowskiego fanpejdża #HakerEduPL. Powodzenia w pracy domowej! 😉

2 thoughts to “WEP lekcja #10 – Pełny atak na uploader internetowy i mime-type…”

    1. Zazwyczaj nie podajemy tego typu źródeł i linków, ponieważ wtedy u niektórych osób przeglądający wpis wyskakuje alert antywirusa. Polecam użyć tzn. Google Hackingu i fraz w wyszukiwarce Google:
      c99.php filetype:txt
      lub
      c99.php site:pastebin.com
      Pozdrawiam Pawle! 🙂

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *