sonst könnten wir dich ja als "Türsteher für AVM" empfehlen :lach:
Die werden sich bedanken ... wobei ich ja auch selten ein Geheimnis daraus mache, daß ich bei der 6490 tatsächlich gegen Lücken in der Firmware "kämpfe" (und das auch im Rahmen meiner beruflichen Tätigkeit, aber nicht in wirklich nennenswertem Umfang).
Die "zwei Seelen" in der Brust sind nicht immer ganz einfach zu handhaben ... aber da ich auch keinen tieferen Einblick in die Interna der Boxen habe oder hatte, als ihn jeder Benutzer auch erlangen könnte, gibt und gab es kein NDA an dieser Stelle (nur ziemliche Diskussionen um ein solches - so ist das halt immer (und das "immer" klingt mehr als es wirklich war und ist) ein "black box"-Test).
Wenn ich dann noch sauber auseinanderhalte, welche Erkenntnisse ich jeweils aus den zwei Testgeräten von AVM (mit Vorab-Firmware) gezogen habe und welche aus anderen Geräten oder sogar aus den Teilen der Firmware, die bei den DSL- und DOCSIS-Modellen identisch sind, dann geht das schon ... ich überlege halt immer sehr genau, was ich schreiben kann und was nicht (zumindest zur 6490 und ggf. zu Lücken, die andere Boxen quer durch die ganze Modellpalette betreffen) und zu den Problemen, die ich im Rahmen so eines beauftragten Pentests finde, wird man von mir hier auch nichts lesen - solange es nicht ohnehin schon bekannt ist und dazu gehört dann seit heute auch die Möglichkeit, den Download des Firmware-Updates von einer bestimmten URL zu starten.
Mehr als mich entsprechend lange "dummstellen" geht auch nicht (ist auch nicht notwendig in meinen Augen) ... und die
Warnung bzgl. fremder Quellen ist auch nach wie vor exakt so zu verstehen (hier war das halt @OzZy_HH, den es (be-)traf, das hätte auch jeder andere sein können), wie ich sie geschrieben habe.
Wer das nicht glauben will, kann von mir gerne eine entsprechend präparierte Firmware-Version für seine 6490 bekommen - das Geschriebene gilt ja auch nicht nur für die 6490, sondern ebenso für jedes andere Modell, aber dort hat man wenigstens noch Vergleichsmöglichkeiten mit der Hersteller-Firmware.
Das mit dem Schreiben hier sieht ggf. bei anderen Lücken, die ich außerhalb so eines Auftrags an AVM melde, dann wieder anders aus (Klappern gehört auch bei mir zum Handwerk) ... aber es hängt natürlich auch davon ab, welche Auswirkungen so ein Problem haben kann und das kann man i.d.R. anhand des CVSS-Vectors (base score) ganz gut (und auch halbwegs objektiv) abschätzen.
Solange sich der Benutzer/AVM-Kunde mit Kenntnis einer Lücke und entsprechenden Gegenmaßnahmen selbst halbwegs effektiv schützen kann, sollte man ihm (das ist nun mal meine Philosophie) diese Möglichkeit auch nicht vorenthalten - erst recht nicht dann, wenn fehlerbereinigte Firmware-Versionen zur Verfügung stehen und die Leute mangels Wissens sich einem Update "verweigern".
Das Führen einer Liste der behobenen Probleme hatte AVM wohl mal "angedacht", wenn ich mir heute die
Details zur Sicherheit der 06.50 ansehen will (der Link geht zum IPPF-Thread, wo dann wieder der frühere AVM-Link steht), dann hat wohl das CMS dort die komplette Seite "gefressen" (im Moment geht die alte URL jedenfalls nicht und auch eine Suche auf der AVM-Webpräsenz bringt keine Ergebnisse) - damit gehe ich davon aus, daß es sich nur um eine eher plakative Aktion gehandelt hat, die nunmehr auch eingestellt wurde.
Für welche Modelle würdet Ihr denn ansonsten noch weitere Updates auf 06.5x erwarten? Da kommt wohl kaum noch etwas nach und damit wäre das überfällig gewesen ... also darf man es wohl als gegeben ansehen, daß AVM da mit den Reaktionen der Kunden nicht so richtig zufrieden war und wieder in den alten Nimbus der "Fehlerfreiheit" aufzusteigen gedenkt.
Ob nun eine (ausschließliche) Veröffentlichung auf einer Mailing-Liste wie "full disclosure" oder hier (keine Ahnung, was die Administration des IPPF davon halten würde) das Gelbe vom Ei ist für die Glaubwürdigkeit von AVM beim Kunden, kann ich nicht einschätzen ... das sieht sicherlich auch jeder Kunde anders ("Was ich nicht weiß, ...") - vielleicht ändert sich das ja auch wieder ("Even a dead cat will bounce if dropped from high enough!").
-@opto:
Die URL ist genau die, welche von AVM bei einer Update-Abfrage für die 6490 mit Firmware 06.60-33895 im Moment gesendet wird ... ist halt "KISS" und praktisch dasselbe wie bei den DSL-Modellen. Nur die neue Labor-Reihe der 7490 geht jetzt auch dort neue Wege, da sieht ein UpdateCheck jetzt so aus:
Code:
POST /Jason/UpdateInfoService HTTP/1.1
Host: 185.jws.avm.de:80
Content-Length: 1043
Content-Type: text/xml; charset="utf-8"
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:e="http://juis.avm.de/updateinfo" xmlns:q="http://juis.avm.de/request">
<soap:Header/>
<soap:Body>
<e:BoxFirmwareUpdateCheck>
<e:RequestHeader>
<q:Nonce>aEhjxjwK53wLy7mOtzcDGg==</q:Nonce>
<q:UserAgent>Box</q:UserAgent>
<q:ManualRequest>true</q:ManualRequest></e:RequestHeader>
<e:BoxInfo>
<q:Name>FRITZ!Box 7490</q:Name>
<q:HW>185</q:HW>
<q:Major>113</q:Major>
<q:Minor>6</q:Minor>
<q:Patch>69</q:Patch>
<q:Buildnumber>40766</q:Buildnumber>
<q:Buildtype>1001</q:Buildtype>
<q:Serial>0896DEADBEEF</q:Serial>
<q:OEM>avm</q:OEM>
<q:Lang>de</q:Lang>
<q:Country>049</q:Country>
<q:Annex>B</q:Annex>
<q:Flag>crashreport</q:Flag>
<q:Flag>prov_acs</q:Flag>
<q:Flag>avm_acs</q:Flag>
<q:UpdateConfig>1</q:UpdateConfig>
<q:Provider>tonline</q:Provider></e:BoxInfo></e:BoxFirmwareUpdateCheck></soap:Body></soap:Envelope>HTTP/1.1 200 OK
Server: nginx
Content-Type: text/xml;charset=UTF-8
Content-Length: 1949
Connection: keep-alive
Date: Wed, 24 Aug 2016 16:01:14 GMT
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"></SOAP-ENV:Header><soap:Body ID="Body"><ns2:BoxFirmwareUpdateCheckResponse xmlns:ns2="http://juis.avm.de/updateinfo" xmlns:ns3="http://juis.avm.de/response" xmlns:ns4="http://juis.avm.de/request"><ns2:ResponseUpdateInfo><ns3:ResponseHeader><ns3:Nonce>aEhjxjwK53wLy7mOtzcDGg==</ns3:Nonce></ns3:ResponseHeader><ns3:UpdateInfo><ns3:CheckInterval>24</ns3:CheckInterval><ns3:Found>false</ns3:Found><ns3:Version></ns3:Version><ns3:DownloadURL></ns3:DownloadURL><ns3:InfoURL></ns3:InfoURL><ns3:InfoText></ns3:InfoText><ns3:HintURL></ns3:HintURL><ns3:Priority>1</ns3:Priority><ns3:AutoUpdateStartTime>0</ns3:AutoUpdateStartTime><ns3:AutoUpdateEndTime>0</ns3:AutoUpdateEndTime><ns3:AutoUpdateKeepServices>true</ns3:AutoUpdateKeepServices></ns3:UpdateInfo></ns2:ResponseUpdateInfo></ns2:BoxFirmwareUpdateCheckResponse><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></CanonicalizationMethod><SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"></SignatureMethod><Reference URI="#Body"><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></Transform></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod><DigestValue>92VxAjKx0vTDRwvm6nISTMUqCrvc9wbtvdwJR5r5UrA=</DigestValue></Reference></SignedInfo><SignatureValue>L8Cx3AgLz+f5npiO8kcPQ9Gl/CJtfNnNso+wDETxkHZjxpt5sXOGbRVHOLQrkDDDZtVaC2LUIqlZBPTJo2v8uUfk27hvT4Uh9XDkNuEwriEIntX7AN6t3A9Eahzv7RYb2EhbEu384gfYA577KYm4/kcHtksMuF/TXhD6uaUKMf9IG61yBRUne1vGr3xaMYUS79SX4iPgMa2G0RKcHppto3iNL63w9YEDz85sDCxGcl10D3kNbORhhA9jp0NYQp9SvLbYpLE65GR4JuvQJWB6OHg0iNVIrjf+eNOzo11wz57HyfGvoRj2huHN/wIoGIFKm3kcUkYuuLYggolF4a86TQ==</SignatureValue></Signature></soap:Body></soap:Envelope>
Also bisher auch noch nicht TLS-gesichert, aber eben anderer SOAP-Request und anderer Server (oder zumindest vServer, s. "Host"-Header im Request). Was mir nicht gelingen will, ist die Umschaltung der "Flag"s am Ende der Updateprüfung ... egal, was ich für den AVM-Zugriff einstelle, das "avm_acs"-Flags bleibt immer gesetzt (prov_acs ist normal, ist mein eigener ACS im LAN) - zeigt hoffentlich nur die Fähigkeit dazu an und nicht, ob es aktiviert ist und genutzt wird/werden kann ... da die 7490 an der DSL-Leitung hängt, kann ich da nicht einfach 24h ein Capture mit einem Filter für AVM-Adressen laufen lassen um das zu prüfen. Die offensichtlichen Requests (einen sieht man ja direkt nach der Aktivierung der entsprechenden Einstellung) waren erst einmal nicht mehr zu sehen - das hatte ich als erstes gecheckt. Ob die Angabe, welcher Provider eingestellt ist, nun schon "schützenswert" ist oder was AVM damit anfangen will, weiß ich nicht genau ... das muß man halt beobachten. Solange das offenes HTTP bleiben sollte, ist das ja auch problemlos machbar ... ansonsten muß man sich eben als MITM einklinken (z.B. mit mitmproxy), geht aber auch wieder bei der Box an der Leitung nicht so richtig gut - da muß der Proxy dann ins Internet gestellt werden.
BTW ... ich habe mal ein kleines Skript
eingecheckt, mit dem man den Update-Check so einer FRITZ!Box (der alte Weg) nachstellen kann - das wird vermutlich noch eine Weile funktionieren, weil die bisherigen Firmware-Versionen der DSL-Modelle es halt alle so machen.
Aufruf für 7490 mit 06.50 sähe so aus:
Code:
# [COLOR="#0000FF"]jason_boxfirmwareupdatecheck DEADBEAFD13D avm de B 049 113.06.50 32007 185 'FRITZ!Box 7490'[/COLOR]
POST /Jason/UpdateCheck HTTP/1.1
Host: jws.avm.de:80
Content-Length: 841
Content-Type: text/xml; charset="utf-8"
SOAPAction: "http://jason.avm.de/updatecheck/BoxFirmwareUpdateCheck"
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:j="http://jason.avm.de/updatecheck/">
<soap:Header/>
<soap:Body>
<j:BoxFirmwareUpdateCheck>
<j:RequestHeader>
<j:Nonce>8aJJNYR+UeMTrCxrszOFXA==</j:Nonce>
<j:UserAgent>Box</j:UserAgent>
<j:ManualRequest>true</j:ManualRequest></j:RequestHeader>
<j:BoxInfo>
<j:Name>FRITZ!Box 7490</j:Name>
<j:HW>185</j:HW>
<j:Version>113.06.50</j:Version>
<j:Revision>32007</j:Revision>
<j:Serial>DEADBEAFD13D</j:Serial>
<j:OEM>avm</j:OEM>
<j:Lang>de</j:Lang>
<j:Annex>B</j:Annex>
<j:Lab></j:Lab>
<j:Country>049</j:Country>
<j:UpdateConfig>1</j:UpdateConfig></j:BoxInfo></j:BoxFirmwareUpdateCheck></soap:Body></soap:Envelope>
HTTP/1.1 200 OK
Server: nginx
Content-Type: text/xml;charset=UTF-8
Content-Length: 1758
Connection: keep-alive
Date: Wed, 24 Aug 2016 16:33:53 GMT
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"></SOAP-ENV:Header><soap:Body ID="Body"><BoxFirmwareUpdateCheckResponse xmlns="http://jason.avm.de/updatecheck/"><BoxFirmwareUpdateCheckResult><ResponseHeader><Nonce>8aJJNYR+UeMTrCxrszOFXA==</Nonce></ResponseHeader><UpdateCheckResult><CheckIntervall>168</CheckIntervall><Found>true</Found><Version>113.06.60</Version><DownloadURL>ftp://ftp.avm.de/fritz.box/fritzbox.7490/firmware/deutsch/FRITZ.Box_7490.113.06.60.image</DownloadURL><InfoURL>ftp://ftp.avm.de/fritz.box/fritzbox.7490/firmware/deutsch/info.txt</InfoURL><InfoText>RELEASE</InfoText><HintURL></HintURL><Priority>1</Priority><AutoUpdateStartTime>7200</AutoUpdateStartTime><AutoUpdateEndTime>18000</AutoUpdateEndTime><AutoUpdateKeepServices>true</AutoUpdateKeepServices></UpdateCheckResult></BoxFirmwareUpdateCheckResult></BoxFirmwareUpdateCheckResponse><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></CanonicalizationMethod><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></SignatureMethod><Reference URI="#Body"><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></Transform></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod><DigestValue>/Imhte/jLtKX/WCdmEskYQr2lLQ=</DigestValue></Reference></SignedInfo><SignatureValue>lSQTdxBrwYojnrH1icfOiVkXiFcDHjDqQFS1meHZY+HPggcY/7NpGQEePdOUQ+FH0T9BeAuRlcg7e6qzgJMAD3ThWrHsBKGy41Tp1zWSni1co0HZw83BfNDHKPVPLjkCP89AgMXFT9Csbb1P322S9oXI3xcEHkkYJhscvWlkNa4=</SignatureValue></Signature></soap:Body></soap:Envelope>
Die XML-Antwort ist halt eine Zeile, "aufgehübscht" mit xmllint sieht das so aus:
Code:
[COLOR="#0000FF"]# jason_boxfirmwareupdatecheck DEADBEAFD13D avm de B 049 113.06.50 32007 185 'FRITZ!Box 7490' | sed -n -e "\$p" | xmllint --format -[/COLOR]
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
<soap:Body ID="Body">
<BoxFirmwareUpdateCheckResponse xmlns="http://jason.avm.de/updatecheck/">
<BoxFirmwareUpdateCheckResult>
<ResponseHeader>
<Nonce>RTdYDVZ2vvOvr1FRPeCxzg==</Nonce>
</ResponseHeader>
<UpdateCheckResult>
<CheckIntervall>168</CheckIntervall>
<Found>true</Found>
<Version>113.06.60</Version>
<DownloadURL>[COLOR="#008000"]ftp://ftp.avm.de/fritz.box/fritzbox.7490/firmware/deutsch/FRITZ.Box_7490.113.06.60.image[/COLOR]</DownloadURL>
<InfoURL>ftp://ftp.avm.de/fritz.box/fritzbox.7490/firmware/deutsch/info.txt</InfoURL>
<InfoText>RELEASE</InfoText>
<HintURL/>
<Priority>1</Priority>
<AutoUpdateStartTime>7200</AutoUpdateStartTime>
<AutoUpdateEndTime>18000</AutoUpdateEndTime>
<AutoUpdateKeepServices>true</AutoUpdateKeepServices>
</UpdateCheckResult>
</BoxFirmwareUpdateCheckResult>
</BoxFirmwareUpdateCheckResponse>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="#Body">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>XbNINhIpDjSoMahAnhL4ztu1DYw=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>iVGgUAzdCYbOLfiZ5WYoSKL0hdWdECa6d6hRIDNWOZsEIDCZ/6g70QRM4qq4Pe9aTqbwopidUQwWKeddFcOwWMljoSq40XDern+BGZHogVkPbRoJcgGZpIa+cyTeAOredfGxaZJJXJk0X2zvadNnwRtMOuFPvRUEpYVVzy0r5HI=</SignatureValue>
</Signature>
</soap:Body>
</soap:Envelope>
LOL, das "BEAF" habe ich ja auch schön hinbekommen ... das waren die Finger von alleine. :-o
- - - Aktualisiert - - -
(Ehrlich gesagt möchte ich aber nicht PeterPawn wiedersprechen, aber ich wundere mich.)
Trau' Dich ... aber in der 06.61 vom angegebenen Link ist ausschließlich ein AVM-Branding enthalten und das install-Skript fragt das auch ab:
Code:
# passt der OEM ?
if [ ! -z "${OEM}" ] ; then
oem_found=0
[COLOR="#FF0000"]for i in avm [/COLOR]; do
if [ "$i" = "${OEM}" ] ; then
echo "OK - OEM ${OEM} is supported"
oem_found=1
break
fi
done
if [ "$oem_found" = "0" ] ; then
echo "OEM ${OEM} not supported"
exit $INSTALL_WRONG_HARDWARE
fi
fi