„Let the hacking begin!” – Only say „No!” for firewalls!

Jakiś czas temu w nowej szkole zdenerwował mnie pewien, często ukazujący się komunikat. Była to blokada firewalla (DansGuardiana). Jeszcze tego samego dnia pozbyłem się owego problemu :).

Dlaczego postanowiłem się tym podzielić – albo inaczej – dlaczego nie zrobiłem tego od razu?

Na początku nie chciałem tego rozpowszechnić – po prostu z obawy przed ‚banem’ w szkole ;). O stronce wiedzieli tylko nieliczni. Szczerze mówiąc – raczej nadal się to nie zmieni – i tak mało kto czyta tego bloga, huh ;).
Gdy szkolny informatyk się dowiedział o moim obejściu… też się wtedy czegoś dowiedziałem. Okazało się, iż zachęca on uczniów starszych klas do czegoś takiego :D. Tyle, że oni zamiast zrobić tego tak jak ja – próbują przez proxy (które jest zablokowane) :P.

Obejście firewalla napisałem dość dawno – gdy założono mi konto w szkolnej domenie. Nie znając PHP udało mi się właśnie w nim napisać owe obejście i to tego samego dnia, co pierwszy raz firewall zablokował mi ściąganie pliku! Trochę mnie to zaskoczyło – pozytywnie ofc ;). Jeśli znasz C++, C# czy Javę w miarę dobrym stopniu – PHP to nie problem. Składnia jest bardzo podobna. Na początku może być problem z typami zmiennych, ale da się przyzwyczaić. To tyle tytułem „wstępu” :).

Co w ogóle robi to moje obejście i jak go używać?

Sprawa jest prosta – umożliwia ściągnięcie dowolnego pliku lub wyświetlenie dowolnej strony. Pierwszą rzecz stronka obsługuje wyśmienicie. Podajemy pełny link (tj. „http://…)” do pliku i pełną nazwę z jaką chcemy go ściągnąć (jest moda na rozszerzenie *.hacked :P). Istnieje możliwość zaszyfrowania pliku za pomocą XORa – jest do tego odpowiednia opcja. Jeżeli strona ‚nie odpowiada’ – nie dziw się. Zanim serwer pobierze plik i go zaszyfruje mija trochę czasu. By później odszyfrować ściągnięty plik należy użyć programu, który jest do ściągnięcia na stronce (xor3). Jeżeli firewall go blokuje – można użyć obejścia, o którym jest ten post (tylko nie xoruj tej appki) :D. Istotna uwaga – to jest program konsolowy, który trzeba od razu wywołać z odpowiednimi parametrami (spod wiersza poleceń). Na stronie jest build tylko pod Windowsa, ale są zamieszczone źródła, więc możesz spokojnie kod skompilować pod inną, dowolną platformę.
Co do wyświetlania stron… hmm – nie miałem na celu stworzenie tej funkcjonalności, więc jest uboga. Właściwie to jest ściąganie, tyle, że bez pewnego fragmentu nagłówka HTTP. Wpisujemy pełny adres stronki (tak, jak w przypadku pliku), wybieramy opcję ‚Show’ i oczywiście naciskamy ‚Let the HACKING begin!’ ;). Myślałem nad podmianą linków na podstronach (wygodnie by się surfowało), ale nie chciało mi się tego pisać :P. Z resztą – i tak z tego bym często nie korzystał. Teraz także wolno surfować – po prostu każdy link trzeba sobie kopiować/składać (jak np. na YT) i wchodzić osobno przez moją stronkę. Niewygodne, ale działa ;).
Okay, trochę się rozpisałem, a linka jeszcze nie wstawiłem:
Mrowqa FireWall Fuck
Stronka stoi na hostingu, który kiedyś założyłem dla projektu uniwersalnego updatera (który jest raczej zabezpieczeniem antymodingowym aplikacji, niż updaterem…). Nie chciało mi się zakładać osobnej stronki, więc stoi na wcześniej wspomnianej :P. Na dole można zaobserwować licznik – chwilkę poświęciłem nad napisaniem swojego, ale po kilku próbach stwierdziłem, że i tak mało kto będzie na to wchodził, więc wziąłem jakiegoś sprawnego gotowca :D.

Dla ambitnych – „ale jak to działa?”

Schemat działania jest prosty. Firewall (ten u mnie w szkole) sprawdza adres stronki i rozszerzenie pliku (skanuje go – o tym później). Wniosek: zmień rozszerzenie pliku/adres strony by pobrać plik. Sprawa banalna, nie? Ale jak to zrobić? Cały trik polega na tym, że my działamy „poza firewallem”. Skrypt ściąga plik na swój serwer i go nam przesyła. Efekt? Inna nazwa strony i rozszerzenie pliku. Proste i skuteczne, nieprawdaż? Wygląda to mniej więcej tak (obrazek z painta :P):

Oto skrócony skrypt:

Podczas próby ściągnięcia LOICa (tak, nie ma to jak zaDDoSować szkołę :D) firewall wykrył złośliwe oprogramowanie. Znalazłem też i na to sposób – zaszyfrowałem plik za pomocą xora. Miałem pewne problemy z implementacją algorytmu (ehh… te typy zmiennych w PHP), ale udało się ;). Istnieje także inny, w miarę prosty sposób na obejście firewalla – unikajmy protokołu HTTP. Jeśli konkretna strona obsługuje np. HTTPS czy FTP, wtedy można to wykorzystać ;).

Widzisz, jak proste jest obejście firewalla? Wystarczy trochę wyobraźni :D. Wiem, ten post nie jest najlepiej napisany, ale mam nadzieję, iż przynajmniej Cię nie zanudził ;).
Dziękuję za przeczytanie postu i zachęcam do częstszego odwiedzania mojego bloga.

Edycja: Jeżeli ktoś lubi przeróżnego rodzaju hackme to może spróbować pobrać plik „download.php” z serwera. Zadanie nie jest trudne, a w środku zamieściłem pewną wiadomość :). Pomysłodawcą zrobienia z tego hackme jest Admixior (patrz pierwszy komentarz). Dzięki :).

5 myśli nt. „„Let the hacking begin!” – Only say „No!” for firewalls!

  1. Admixior shakował stronkę.
    Zhaxioruj i ty
    //———————————
    Hackme: Pobierz plik php który służy ściąganiu plików

    • Gratuluję Ci, jednakże bez sensu było ściągnięcie tego skryptu, skoro opublikowałem go w poście. Btw myślałem, że parser PHP jest mądrzejszy i nie pozwoli na coś takiego jak PHP Injection, a jednak okazał się tak mądry jak batch 😛 Najlepsze w tym wszystkim jest to, że ‚You are an idiot!’ działa! 😀 (i stronka ma racje :P)

Dodaj komentarz