20 Czerwca 2025 19:29:51
Nawigacja
· Strona Główna
· Forum

· Tomato by Shibby
· FreshTomato


Wątki na forum
Najnowsze dyskusje
· Sieć domowa: System...
· Neostrada Biznes - w...
· wnr3500l v2 multicast
· Brak izolacji Guest ...
· [S] Ubiquity Edgerou...
· [MOD] FreshTomato-AR...
· zmiana dd-wrt na Tomato
· [S] Qnap QSW-2104-2T...
· Komputer Serwer
· Promise VessRAID 184...
· Własna kompilacja t...
· r6400v2 bład przy u...
· drukarka drukuje tyl...
· [S] sprzęt sieciowy...
· Router do światłow...
· [sprzedam] Asus RT-A...
· Netia IPv6
· Multiroom N z wykorz...
· Nowe routery: UX, UC...
· asus rt-ax86u pro z ...
Najpopularniejsze obecnie wątki
· Sieć domowa: Sys... [2]
· Neostrada Biznes ... [0]
· wnr3500l v2 multi... [0]
· Brak izolacji Gue... [0]
Ankieta
Jaki procesor posiada twój router?

Broadcom MIPSEL
Broadcom MIPSEL
36% [152 głosów]

Broadcom ARM
Broadcom ARM
52% [219 głosów]

Atheros
Atheros
5% [22 głosów]

Marvell
Marvell
1% [4 głosów]

Ralink
Ralink
1% [3 głosów]

Intel/AMD/VIA
Intel/AMD/VIA
1% [5 głosów]

Żaden z powyższych
Żaden z powyższych
4% [16 głosów]

Ogółem głosów: 421
Musisz zalogować się, aby móc zagłosować.
Rozpoczęto: 02/02/2015 09:38
Twoje IP
216.73.216.121
Zobacz wątek
OpenLinksys » :: PORTAL :: » Tutoriale
 Drukuj wątek
Neostrada Biznes - wydobycie danych PPPoE
shibby
Uwaga prawna

Artykuł przeznaczony wyłącznie do celów edukacyjnych i testowych — np. testowania bezpieczeństwa własnych systemów. Użycie na systemach, do których nie masz uprawnień, może być nielegalne.

Wstęp

Neostrada biznes to bliźniacze rozwiązanie do domowej Neostrady, przeznaczone dla firm. Główną zaletą tego rozwiązania jest możliwość otrzymania 8-IP`kowej podsieci, co w efekcie daje możliwość uzyskania 5 stałych publicznych IP - Funbox jest naszą bramą i zajmuje 6ty adres IP. Jeżeli więc udało by się go pozbyć zyskamy 6ty publiczny adres IP do wykorzystania.

Ale w czym problem?

W domowej wersji Neostrady nie mamy problemu uzyskania danych do logowania PPPoE - login i hasło dostępne są z poziomu panelu klienta Orange. Jeżeli więc tylko mieliśmy odrobinę szczęścia i udało nam się uzyskać od Orange ONT, to świat stoi przed nami otworem i nie ma większych przeciwwskazań by zamiast routera od Orange podłączyć własny router. Jeżeli nie mieliśmy szczęścia uzyskać ONT, możemy spróbować na własną rękę nabyć i skonfigurować własne ONT np od firmy Leox - ale to temat na inny artykuł...

W biznesowej wersji dostępu do danych PPPoE nie mamy... Za to bez większych problemów dostajemy ONT + Router. Dawniej był to Zyxel, który autoryzował się do serwera PPPoE przez PAP - nieszyfrowaną transmisję, co w dość prosty sposób umożliwiało podejrzenie loginu i hasła. Obecne routery Orange (np LBB150) używają do autoryzacji CHAP czyli szyfrowaną transmisję, co uniemożliwia podejrzenie hasła w logach. Przed próbą "wydobycia" tych danych dziś staniemy.

Idea i założenia.

Zasada działania uwierzytelnienia CHAP w PPPoE wygląda następująco:
1) Serwer (np. dostawca internetu) wysyła wyzwanie (CHALLENGE) – losowy ciąg bajtów.
2) Klient (np. router) oblicza odpowiedź – używa swojego hasła i challenge, tworząc skrót (hash MD5) i wysyła odpowiedź (RESPONSE) do serwera.
3) Serwer sam oblicza oczekiwaną odpowiedź – jeśli zgadza się z tą od klienta, uwierzytelnianie kończy się sukcesem.

Znając więc challenge i oczekiwany response moglibyśmy zastosować metodę brute-force, generować kolejno hasła i sprawdzać kiedy oczekiwany response będzie się zgadza. Z moich obserwacji, na podstawie haseł, które niegdyś udało mi się wydobyć z routerów Zyxel od Orange, które to korzystały z nieszyfrowanej metody PAP, zauważyłem pewien wzorzec generowanych przez Orange haseł. Otóż zawsze składamy się one z 8-miu znaków, z czego pierwsze 5 to małe litery a kolejne 3 znaki to cyfry. W ten oto sposób wystarczyło by sprawdzić hasła od aaaaa000 do zzzzz999. To mocno zawęża zakres oszukiwania, mimo że to wciąż blisko 12 miliardów kombinacji Wink

Zaczynamy zabawę

Musimy zacząć od zdobycia 3 wartości, które później użyjemy do wydobycia hasła. Są to:
- ID - jednobajtowy identyfikator sesji
- CHALLENGE - czyli losowa wartość jaką wyśle serwer PPPoE - wartość ta musi posiadać długość 16-bitów czyli 32 znaki.
- RESPONSE - czyli wartość jaką po zaszyfrowaniu wyśle router do serwera PPPoE.

Sposób generowania RESPONSE jest następujący: response = MD5(ID + password + challenge)

Etap 1. Stawiamy serwer PPPoE.

Możemy to zrobić na routerze z np OpenWRT. Możemy użyć do tego laptop z linuxem. Ja użyłem stary router EdgerRouter ER-X bo w standardzie na wszystko co potrzebujemy.

Konfiguracja PPPoE powinna wyglądać następująco:

plik /etc/ppp/pppoe-server-options

Cytat

name pppoe-server
require-chap
login
debug
show-password
lcp-echo-adaptive
lcp-echo-interval 5
lcp-echo-failure 6
lcp-max-configure 10
logfile /var/log/pppoe-server-log


do pliku /etc/ppp/chap-secret wpisujemy

Cytat

* * * *


Pamiętajmy, by na interfejsie, do którego podepniemy router od Orange, utworzyć VLAN35.

Mając tak przygotowane środowisko uruchamiamy nasz serwer PPPoE komendą (dla przykładu niech będzie to interfejs eth4.35 - pamiętamy o VLAN35):

Cytat

pppoe-server -I eth4.35 -L 10.255.253.0 -R 192.0.1.2 -N 19 -F -k


a w drugiej konsoli patrzymy na logi

Cytat

tail -f /var/log/pppoe-server-log


Jeżeli wszystko zrobiliśmy poprawnie powinniśmy zacząć logować transmisję wymiany danych między routerem, który chce się podłączyć do serwera PPPoE a naszym "fikcyjnym" serwerem tej usługi. Rzucić w oczy powinien nam się login, który będzie tak widoczny czystym tekstem - nasz pierwszy mały sukces.

*) UWAGA: jeżeli posiadamy router Zyxela, który to do autoryzacji wykorzystuje PAP, zamiast CHAP, to w pliku pppoe-server-options zamiast require-chap wpiszmy require-pap i w logach powinniśmy ujrzeć hasło podane czystym tekstem. Dalsza część artykułu jest dla osób z nowszymi routerami np LBB150.

W drugiej konsoli uruchamiany program tcpdump i logujemy ruch z interfejsu do którego podpięliśmy router Orange:

Cytat

tcpdump -i eth4.35 -w /tmp/capture.pcap


Czekamy tak dłuższą chwilę, po czym przerywany tcpdump kombinacją klawiszy CTRL+C, zgrywamy zapisany plik do komputera z windows (np przez WinSCP) i...

ETAP 2. Wydobycie danych

... pobieramy program Wireshark (może być wersja portable), w którym to otwieramy w nim nasz plik capture.pcap. Zauważymy, że co jakiś czas pojawiają się tam pakiety Challenge i Response.

openlinksys.info/images/chap/1.png

Challenge może mieć różną długość (Value Size) - my szukamy takiej pary, która zgodnie z tym co było mówione wcześniej ma dokładnie 16 bitów, czyli 32 znaki.


openlinksys.info/images/chap/2.png

Gdy takowi znajdziemy, zapisujemy:
- Identifier - to nasze ID
- Challenge - Value

Oraz z następującego po nim Response, zapisujemy Value (zwrócić należy uwagę by ID i Size (16bit) były takie same jak dla Challenge.

openlinksys.info/images/chap/3.png

Mamy więc wszystkie 3 dane potrzebne to naszego "ataku".

Etap 3. Brute-force

Jak osoba, która nie jest programistą może napisać program to łamania CHAP? Może zapytać ChatGPT Wink Serio... podając mu wszystkie założenia skryptu/programu, odkrytą specyfikę budowy haseł, sposób prezentacji oraz wykorzystanie wielowątkowości, udało mi/mu/nam(?) się stworzyć działający "cracker" do CHAP. Początkowo klęczała wydajność - skrypt napisany w Pythonie sprawdzał ok 5000 H/s (haseł na sekundę). To sprawiało, że sprawdzenie wspomnianych 12 mld haseł zajęło by blisko 20 dni. Po kilku zmianach i przejściu na kod C/C++ wydajność znacząco wzrosła - mowa tu o kilku milionach haseł na sekundę Smile Taka wydajność pozwala na sprawdzenie haseł w mniej niż 10min na wydajnym sprzęcie!

Tak oto powstał programik crack_chap, którego źródła oraz wersję skompilowaną można znaleźć pod adresem:
https://github.com/shibby20/chap_crack

Teraz jest już z górki:
1) uruchamiamy program
2) podajemy ID, które wcześniej musimy zamienić na postać hex (system 16-tkowy): np 77 z przykładu to 4D
3) podajemy CHALLENGE
4) podajemy RESPONSE
5) wpisujemy ilość wątków procesora, które chcemy użyć do generowania haseł (obciążenie sięgnie 100%)

i czekamy...

Jeżeli poprawnie wydobyliśmy dane z wiresharka to po dłuższej chwili naszym oczom powinien pojawić komunikat:

openlinksys.info/images/chap/4.png

Tym oto sposobem mamy wszystko co potrzebne by Funbox mógł powędrować do kartonu a my możemy śmiało skonfigurować połączenie PPPoE na własnym routerze.

Słowo na koniec

Całe to "wydobywanie" hasła było dla mnie miłą przygodą oraz pewnym doświadczeniem i nie będę ukrywał, że pomyślny finał, jakim było ujawnienie hasła do PPPoE, sprawiło wielki uśmiech na mojej twarzy. Z drugiej strony kompletnie nie rozumiem polityki Orange i utrudnianie swoim klientom (na dodatek biznesowym) możliwości uzyskania danych do PPPoE. Mam nadzieję, że choć jednej osobie artykuł się przyda, a dla pozostałych, którzy go po prostu przeczytali, był miłą lekturą, która pozwoli poszerzyć im swoją wiedzę.

Pozdrawiam
Edytowany przez shibby dnia 20-06-2025 08:48
Router: Unifi Cloud Gateway Max
Switch: Unifi USW-Lite-16-PoE
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 4x 2TB SSD
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
 
Przejdź do forum
Zaloguj
Wprowadź adres e-mail lub nazwę użytkownika

Hasło



Nie masz jeszcze konta? Zarejestruj się.

Zapomniałeś/aś hasła?
Aktualnie online
· Gości online: 81

· Użytkowników online: 0

· Łącznie użytkowników: 24,126
· Najnowszy użytkownik: goldi111
Czat
Musisz się zalogować, aby opublikować wiadomość.

amikot
13-06-2025 19:58
to forum wygląda na martwe Sad

Maniek91PL
15-05-2025 19:35
witam! było coś gdzieś o obsłudze asus mesh w tomato moze? chętnie bym przetestował u rodziców

servee
24-01-2025 18:18
Światłowód + mediakonwenter. Ekranowana skrętka nie jest wymagana, taką sytuację już zastałem. Zamierzam ją wymienić na zwykłą. Da to coś?

shibby
17-01-2025 07:45
a ta skrętka ekranowana o której piszesz to jakiś wkopany przewód do bramy/furtki/kamer
y zewn? Jak tak to jego też przez zabezpieczenie podepnij.

shibby
17-01-2025 07:43
no to pora zabezpieczyć kable LAN zabezpieczeniami przeciwprzepięciow
ymi - tanio nie będzie. Jak przychodzi ci internet? Skrętką czy światłem? Jak skrętką to zacząłbym od tego.

servee
12-01-2025 12:52
Ponownie padły mi wszystkie porty sieciowe w routerze - to już 3-ci w 6 m-cy. Podejrzany to ekranowana, nieuziemiona skrętka - 12mb. Czy jest to możliwe?

dawidt
21-12-2024 01:09
siema Grin

Maniek91PL
06-11-2024 22:37
dzięki !Grin

maxikaaz
29-10-2024 14:27
@Maniek91PL - Administration=> Admin Access, i tam masz "Allow Wireless Access" do zaznaczenia

Maniek91PL
26-10-2024 22:07
siemka! ktoś przypomni co się ustawiało jeśli nie mogę wejść od strony wifi do tomato? od lan działa

120,904,177 unikalnych wizyt