• 1
  • 2
2021-08-08, 22:17
  #1
Medlem
Behöver hjälp med min gamla D-Link 635.
Vill slå på telnet via routerns ping tool i routerns management console.

Har testat olika kommandon som
Kod:
 127.0.0.1|telnetd
Kod:
127.0.0.1 -c 4;telnetd;echo
Men de funkar inte. Lyckas bara pinga andra datorer på nätverket.

Routern är ju sen åren 2007-2010 så tror det skulle funka att gå via guider som
https://www.linuxjournal.com/content...ur-home-router
men routern i artikeln ovan är lite nyare.

I min router är länken för ping test
av typen GET:
Kod:
/ssi_ping_test.xml?ip=127.0.0.1&ttl=12B%size=64

Har suttit lite i Burpsuite och fipplat men ingen expert på detta så om nån vet om nån länk till hur man löser för exakt denna routern eller annat tips så vore det bra.
Firmware version är 2.20EU
Citera
2021-08-08, 22:37
  #2
Medlem
Nu är jag osäker på vad ditt slutmål är, om det är en övning bara eller om det finns något skäl att aktivera telnet i routern men.. kan det vara en intressant idé att gå över till en öppensås-firmware?

Jag kör t.ex. Freshtomato på en gammal Netgear och kan ssh:a och telnet:a in i den om jag aktiverar sånt. Finns en hel del annat kul också.
Citera
2021-08-08, 22:47
  #3
Medlem
Du kan inte bara byta en router mot en annan och stoppa i en nätkabel.

Telia eller vad du nu använder har förkonfigurerat din router bland annat genom att assigna en publik adress som används ut mot Intenet. Plockar du fram en gammal router ur garderoben så finns ingen sådan konf.

Tippar på att det är detta som gör att du inte kan pinga något annat än på LANet. Antingen det eller så blockerar nätverket du försöker nå dina pings. Har du access till det nätverket så kan du sätta upp en ICMP-regel som släpper igenom pingar. Du kommer dock inte att nå det via Internet om det första gäller.
Citera
2021-08-08, 23:23
  #4
Medlem
Citat:
Ursprungligen postat av medelstmatta
Nu är jag osäker på vad ditt slutmål är, om det är en övning bara eller om det finns något skäl att aktivera telnet i routern men.. kan det vara en intressant idé att gå över till en öppensås-firmware?

Jag kör t.ex. Freshtomato på en gammal Netgear och kan ssh:a och telnet:a in i den om jag aktiverar sånt. Finns en hel del annat kul också.
Är en övning i nuläget. Men det vore kul att få telnet access till den-innan jag slänger den.Den är ju lastgammal och jag använder den inte i vardagen längre-men det kanske inte går helt enkelt-hittar ingen telnet-exploit för denna modellen på Google.

D-links routrar finns det många såna för-men det verkar ej existera för just denna modellen. (D-Link DIR 635)

Ser förresten att det finns möjlighet att ladda upp ny firmware via admin-gränssnittet-kanske går att använda denna uppladdningsfunktionalitet för att ladda upp ett bash-script som startar telnet. Men misstänker att det ej går då ingen guide på nätet gör så.
__________________
Senast redigerad av sparvodling48 2021-08-08 kl. 23:26.
Citera
2021-08-09, 00:31
  #5
Medlem
Är det säkert att det finns en telnetd installerad i den?

Den har enligt spec varken telnet eller SSH, så det vore väl hyfsat tryggt att anta att dessa inte finns i routern.

Men, efter en snabb koll så verkar det finnas en exploit som gör att du kan exekvera kod via SSID-namn-fältet om jag förstått det rätt - denna är verifierad i en nyare firmwareversion än den du har så det skulle nog kunna fungera på den du har. Vad som går att göra den vägen vet jag inte, finns det ingen telnetd eller sshd så kommer det ju inte att hjälpa. Men ett hack är det ju iaf.


Två andra tips;

Ett program som heter "hnap0wn" - som är ett verktyg för att kunna remotekonfigurera nätverksapparater med Ciscos HNAP-protokoll (Home Network Administration Protocol). D-Link har tydligen implementerat kompabilitet för det i en del av sina routrar från 2006 och framåt, hur länge har jag inte kollat. Din modell verkar vara en av de påverkade, åtminstone med äldre firmware.

Det andra tipset skulle vara att kika i firmwaren och se vad du kan hitta. Om du kan ladda ner, alternativt extrahera firmwaren från routern till en binärfil och sedan läsa vad som finns i den. Binwalk är ett verktyg du kan använda inledningsvis.
Citera
2021-08-09, 00:38
  #6
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av zingah
Du kan inte bara byta en router mot en annan och stoppa i en nätkabel.

Telia eller vad du nu använder har förkonfigurerat din router bland annat genom att assigna en publik adress som används ut mot Intenet. Plockar du fram en gammal router ur garderoben så finns ingen sådan konf.

Tippar på att det är detta som gör att du inte kan pinga något annat än på LANet. Antingen det eller så blockerar nätverket du försöker nå dina pings. Har du access till det nätverket så kan du sätta upp en ICMP-regel som släpper igenom pingar. Du kommer dock inte att nå det via Internet om det första gäller.
Hmm, förkonfigurerat? Jag har aldrig använt någon förkonfigurerad router, utan köpt dem på öppna marknaden. Det går utmärkt att sätta in en ny router. Vid uppkoppling mot WAN så erhåller (givet att du har abonnemang) routern en publik IP-adress från ISP (tyvärr dynamiskt om man inte betalat extra för statisk). Måhända att jag inte köpte routrar på den uråldriga tiden...

Att man inte har en publik adress (eller ens uppkoppling mot WAN) hindrar väl dessutom inte att man kan komma åt datorer (inklusive ping) på LANet?

Jag förutsätter här att TS har en router i ett LAN och alltså inte flera.
Citera
2021-08-09, 01:36
  #7
Medlem
Nu när jag skumläst artikeln du länkat så undrar jag hur du gjort exakt, berätta gärna så kanske vi kan hjälpas åt.
Citera
2021-08-09, 03:09
  #8
Medlem
Citat:
Ursprungligen postat av Enterprise
Hmm, förkonfigurerat? Jag har aldrig använt någon förkonfigurerad router, utan köpt dem på öppna marknaden. Det går utmärkt att sätta in en ny router. Vid uppkoppling mot WAN så erhåller (givet att du har abonnemang) routern en publik IP-adress från ISP (tyvärr dynamiskt om man inte betalat extra för statisk). Måhända att jag inte köpte routrar på den uråldriga tiden...

Att man inte har en publik adress (eller ens uppkoppling mot WAN) hindrar väl dessutom inte att man kan komma åt datorer (inklusive ping) på LANet?

Jag förutsätter här att TS har en router i ett LAN och alltså inte flera.

Jag har en LTE-router. Kan nog vara lite annorlunda om man har en fiberlina eller DSL till huset, för då är ju själva jacket anslutet till ISP. Jag skulle hur som helst inte kunna köpa en ny LTE-router och sen bara stoppa i Ethernet-kabeln till den, och vips så får man en publik lease eller hur?

Det ska konfigureras adresser på portarna. NAT måste konfigureras, en relay-adress till en DHCP-server med mera. Det var detta jag menade. Man kan inte bara stoppa i sladden i en router och vips så funkar allting. Eller pratar jag i nattmössan?
__________________
Senast redigerad av zingah 2021-08-09 kl. 03:13.
Citera
2021-08-09, 07:59
  #9
Medlem
zixls avatar
Citat:
Ursprungligen postat av zingah
Jag har en LTE-router. Kan nog vara lite annorlunda om man har en fiberlina eller DSL till huset, för då är ju själva jacket anslutet till ISP. Jag skulle hur som helst inte kunna köpa en ny LTE-router och sen bara stoppa i Ethernet-kabeln till den, och vips så får man en publik lease eller hur?

Det ska konfigureras adresser på portarna. NAT måste konfigureras, en relay-adress till en DHCP-server med mera. Det var detta jag menade. Man kan inte bara stoppa i sladden i en router och vips så funkar allting. Eller pratar jag i nattmössan?
Nope, du behöver ju en ISP som levererar ett nät till dig via något annat medium, när du har det så kan det ibland beroende på var routern kommer ifrån bara att stoppa in och köra eller följa någon guide, men så värst mycket inställningar behöver det ju inte vara om du bara vill köra default.
Citera
2021-08-09, 09:05
  #10
Medlem
Citat:
Ursprungligen postat av medelstmatta
Nu när jag skumläst artikeln du länkat så undrar jag hur du gjort exakt, berätta gärna så kanske vi kan hjälpas åt.
I Burpsuite har jag t ex skickat requesten
Kod:
ssi_ping_test.xml?ip=192.168.0.199&ttl=12B%size=64
till dess repeater tab. Med intercept on. IP här är min dators ip.
Då visas olika headers prydligt och man kan testa ersätta HOST: 192.168.0.199 med kommandot pwd;
t ex. Sedan skicka requesten till och kolla om man får nåt resultat.
Men får 200 OK på de flesta försök jag gjort eller 500 Internal Error och i artikeln tittar de istället på reboot parametern, som hos mig ser lite annorlunda ut:
reboot=true
Har då testat t ex
reboot=true
Samt ändrat host:192.168.0.199 till kommandot pwd;
Samt hos HOST: header andra varianter som cat%20/etc/passwd

Som i första posten har jag även gjort en del test enbart i pingtool rutan i admin konsollen.
Skriver jag in enbart & tecknet och trycker ping reagerar den med en loop och oändlig output
"No response to ping from router,will retry" rad efter rad.

Enbart 127.0.0.1 i pingrutan ger "No response from host, retrying."
Kod:
127.0.0.1;ls
ger Unable to resolve. check that name is correct.
Kod:
127.0.0.1&
ger resolved to 127.0.0.1. Sedan en loop med text: " No response from host retrying.
Kod:
127.0.0.1&pwd;echo
ger Resolved to 127.0.0.1. Sedan loop med text: "No response from hostretrying"

Har en känsla av att kanske nån variant med & tecknet kan ge lyckad injektion men ej hittat nåt som ger output av de extra inskrivna kommandona under i ping result-menyn.

Kan ju vara att den helt enkelt inte är sårbar,men betvivlar det.
Citera
2021-08-09, 12:34
  #11
Medlem
Citat:
Ursprungligen postat av sparvodling48
I Burpsuite har jag t ex skickat requesten
Kod:
ssi_ping_test.xml?ip=192.168.0.199&ttl=12B%size=64
till dess repeater tab. Med intercept on. IP här är min dators ip.

Specifikt så är "ip" i "urlen" en variabel i routerns gränssnitt (php?) som sedan bara skickar vidare värdet (i ditt fall "192.168.0.199&ttl=12B%size=64") till routerns os ping som sen utför pingningen med dina parametrar.

Citat:
Ursprungligen postat av sparvodling48
Då visas olika headers prydligt och man kan testa ersätta HOST: 192.168.0.199 med kommandot pwd;
t ex. Sedan skicka requesten till och kolla om man får nåt resultat.
Men får 200 OK på de flesta försök jag gjort eller 500 Internal Error och i artikeln tittar de istället på reboot parametern, som hos mig ser lite annorlunda ut:
reboot=true
Har då testat t ex
reboot=true
Samt ändrat host:192.168.0.199 till kommandot pwd;
Samt hos HOST: header andra varianter som cat%20/etc/passwd

Om jag förstår saker rätt här och ursäkta om jag yttrar självklarheter men dels måste parametern du skickar in värden till finnas. Variabeln "pwd" var kanske ett exempel men som ett faktiskt kommando känns den inte rimlig, om vi tänker oss att det är linux pwd.

I artikeln nämns att reboot-knappen skickade saker till en variabel som hette "exeshell" som i sin tur matade allt vidare till "sh -c". Parametern "-c" talar om för sh att det kommer en kommandosträng som den ska tolka som ett eller flera kommandon. Där lade han till "telnetd &" vilket startar upp telnetd som en bakgrundsprocess - vilket han också bekräftade genom att se att routern lyssnar på TCP port 23.

Gissar att du har undersökt om det finns en exeshell-variabel i din router?


Citat:
Ursprungligen postat av sparvodling48

Som i första posten har jag även gjort en del test enbart i pingtool rutan i admin konsollen.
Skriver jag in enbart & tecknet och trycker ping reagerar den med en loop och oändlig output
"No response to ping from router,will retry" rad efter rad.

Enbart 127.0.0.1 i pingrutan ger "No response from host, retrying."
Kod:
127.0.0.1;ls
ger Unable to resolve. check that name is correct.
Kod:
127.0.0.1&
ger resolved to 127.0.0.1. Sedan en loop med text: " No response from host retrying.
Kod:
127.0.0.1&pwd;echo
ger Resolved to 127.0.0.1. Sedan loop med text: "No response from hostretrying"

Har en känsla av att kanske nån variant med & tecknet kan ge lyckad injektion men ej hittat nåt som ger output av de extra inskrivna kommandona under i ping result-menyn.

Att enbart ange 127.0.0.1 i pingverktyget visar att den inte ger svar mot loopback, vet inte om det säger så mycket mer än så.

När lägger till tecken följt av kommando som t.ex. ls eller pwd så antar jag att det du försöker göra är att escapa ur ping för att injicera det efterföljande kommandot. Att prova kommandon som ls, pwd och cat är jag lite tveksam till i.o.m att de ska ge dig en return/output och jag vet inte hur det ska gå när du sitter i burpsuite.


Citat:
Ursprungligen postat av sparvodling48
Kan ju vara att den helt enkelt inte är sårbar,men betvivlar det.

Det betvivlar vi tillsammans.
Citera
2021-08-10, 11:12
  #12
Medlem
Citat:
Ursprungligen postat av medelstmatta
Specifikt så är "ip" i "urlen" en variabel i routerns gränssnitt (php?) som sedan bara skickar vidare värdet (i ditt fall "192.168.0.199&ttl=12B%size=64") till routerns os ping som sen utför pingningen med dina parametrar.



Om jag förstår saker rätt här och ursäkta om jag yttrar självklarheter men dels måste parametern du skickar in värden till finnas. Variabeln "pwd" var kanske ett exempel men som ett faktiskt kommando känns den inte rimlig, om vi tänker oss att det är linux pwd.

I artikeln nämns att reboot-knappen skickade saker till en variabel som hette "exeshell" som i sin tur matade allt vidare till "sh -c". Parametern "-c" talar om för sh att det kommer en kommandosträng som den ska tolka som ett eller flera kommandon. Där lade han till "telnetd &" vilket startar upp telnetd som en bakgrundsprocess - vilket han också bekräftade genom att se att routern lyssnar på TCP port 23.

Gissar att du har undersökt om det finns en exeshell-variabel i din router?




Att enbart ange 127.0.0.1 i pingverktyget visar att den inte ger svar mot loopback, vet inte om det säger så mycket mer än så.

När lägger till tecken följt av kommando som t.ex. ls eller pwd så antar jag att det du försöker göra är att escapa ur ping för att injicera det efterföljande kommandot. Att prova kommandon som ls, pwd och cat är jag lite tveksam till i.o.m att de ska ge dig en return/output och jag vet inte hur det ska gå när du sitter i burpsuite.




Det betvivlar vi tillsammans.

Ja exeshell variabeln verkar inte finnas.
Ja-försöker escapa ur ping kommandot och injicera linux kommandon. Men ej lyckats få synbara resultat-tror fortfarande litegrann på att en variant med & variabeln kan vara vägen. En annan Router 636L hade en sån sårbarhet enligt:
https://packetstormsecurity.com/file...Injection.html
Är ju en annan router det-och min routers ping request ser annorlunda ut(bara GET dessutom, har testat ändra till POST i Burp)

Min router har bara javascript dessutom.

Testade också en variant i Burp på språkbytesvalet i admin-menyn:
Kod:
GET /Tools/Admin.shtml?config.il8n_language=ES 
där ES byttes mot
'ping -c 2 192.0.168.0.199'
ip är där min dators ip.
Routern verkade dock bara hänga sig(Gjorde också detta med min input url-encoded).
Får se om jag tittar lite mer på det till helgen.
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in