[HTTPS] Nep https servertje voor Xiaomi deurbel?

Pagina: 1
Acties:

  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 10-10 17:48

geerttttt

Manisch positief

Topicstarter
Ik heb een Xiaomi deurbel gekocht die verbinding zoekt met een HTTPS webserver om zijn beelden heen te uploaden. Nu wil ik graag dat omleiden naar een eigen servertje, een python webserver of wat dan ook.

Ik heb al de DNS omgezet zodat de server verwijst naar mijn lokale IP, maar uiteraard als ik een self-signed certificaat maak dan valideert dat niet echt natuurlijk. Zo denkt de deurbel er ook over want in Wireshark zie ik de melding "Fatal: Bad certificate".

Ik zoek dus eigenlijk een manier om toch de deurbel te overtuigen om mij te vertrouwen als server. Misschien via een bekende kwetsbaarheid of een ander trucje, liefst praat ik gewoon http met dat ding, dus zou ik graag de deurbel doorsturen naar een http verbinding als dat kan... Maar tot nu toe krijg ik het nog niet voor elkaar.

Iemand een tip?

Oost west, 127.0.0.1 best!


  • DiedX
  • Registratie: December 2000
  • Laatst online: 07:45
Wat als je dit doet met een ondertekend certificaat? Letsencrypt?

Als ze certificaat pinning doen dan weet ik het ook even niet.

DiedX supports the Roland™, Sound Blaster™ and Ad Lib™ sound cards


  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Je moet weten welke domeinnaam de camera zoekt.
Vervolgens moet je een certificaat genereren voor die naam.
Dan in je http daemon die domeinnaam met certificaat bundel configureren.

Het is mogelijk dat de camera dat nog steeds niet accepteert. Dan moet je in de camera je eigen root certificaat injecteren.

Eventueel moet je ook kijken naar het CAA record in de DNS. Als deze bestaat moet je ook de DNS faken en routeren.

[ Voor 16% gewijzigd door DJMaze op 28-11-2019 08:10 ]

Maak je niet druk, dat doet de compressor maar


  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 10-10 17:48

geerttttt

Manisch positief

Topicstarter
DJMaze schreef op donderdag 28 november 2019 @ 08:07:
Je moet weten welke domeinnaam de camera zoekt.
Vervolgens moet je een certificaat genereren voor die naam.
Dan in je http daemon die domeinnaam met certificaat bundel configureren.

Het is mogelijk dat de camera dat nog steeds niet accepteert. Dan moet je in de camera je eigen root certificaat injecteren.

Eventueel moet je ook kijken naar het CAA record in de DNS. Als deze bestaat moet je ook de DNS faken en routeren.
Het domein weet ik. https://processor.smartcamera.api.io.mi.com/
Er is wel een PEM file met daarin het volgende:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-----BEGIN CERTIFICATE-----
MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE
YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3
MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo
ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg
MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN
ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w
wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi
EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY
avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+
YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE
sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h
/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5
IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj
YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy
OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P
TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER
dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
ReYNnyicsbkqWletNw+vHX/bvZ8=
-----END CERTIFICATE-----

Is dat dan het certificaat wat vervangen moet worden?

Oost west, 127.0.0.1 best!


  • sh4d0wman
  • Registratie: April 2002
  • Nu online

sh4d0wman

Attack | Exploit | Pwn

Wat doet het IoT ding als je alleen HTTP aanbied en geen HTTPS? Met een beetje mazzel werkt het.

This signature has been taken down by the Dutch police in the course of an international lawenforcement operation.


  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 10-10 17:48

geerttttt

Manisch positief

Topicstarter
sh4d0wman schreef op donderdag 28 november 2019 @ 09:02:
Wat doet het IoT ding als je alleen HTTP aanbied en geen HTTPS? Met een beetje mazzel werkt het.
Als ik het op poort 80 aanbiedt dan doet ie er niks mee, hij wil echt op poort 443 kijken. Als ik http aanbied op poort 443 dan kan hij met zijn ClientHello pakketje nergens heen en kapt hij de verbinding af.

Oost west, 127.0.0.1 best!


  • Falcon
  • Registratie: Februari 2000
  • Laatst online: 09:12

Falcon

DevOps/Q.A. Engineer

Dit is de gedecode inhoud van de PEM:

Afbeeldingslocatie: https://i.ibb.co/syJqQ1n/18-B601-D6-0053-48-AF-ACD3-EF14-A5-EE038-C.png
upload image

"We never grow up. We just learn how to act in public" - "Dyslexie is a bitch"


Acties:
  • +1 Henk 'm!

  • sh4d0wman
  • Registratie: April 2002
  • Nu online

sh4d0wman

Attack | Exploit | Pwn

Laten we een stapje terug nemen. Wat is je uiteindelijke doel? Dat was mij niet 100% duidelijk. Voorkomen dat de beelden de cloud in gaan of ze bekijken via je eigen server?

Afhankelijk hier van kun je wellicht bijvoorbeeld iets via het RTP protocol (indien aanwezig) of de cloud API proberen.

This signature has been taken down by the Dutch police in the course of an international lawenforcement operation.


Acties:
  • +1 Henk 'm!

  • Mavamaarten
  • Registratie: September 2009
  • Laatst online: 09:10

Mavamaarten

Omdat het kan!

Ik denk dat je best nog eventjes wacht tot er custom firmware voor de deurbel uitkomt. Dat is slechts een kwestie van tijd want alle andere Xiaomi / Yi camera's hebben ondertussen een custom firmware waarmee je de stream makelijk kan accessen.

Het probleem is hier waarschijnlijk (speculatie) dat je wel een HTTPS verbinding kan opzetten, maar dat de camera Certificate Pinning gebruikt.

Android developer & dürüm-liefhebber


Acties:
  • +1 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Mavamaarten schreef op donderdag 28 november 2019 @ 11:42:
Het probleem is hier waarschijnlijk (speculatie) dat je wel een HTTPS verbinding kan opzetten, maar dat de camera Certificate Pinning gebruikt.
Ik verwacht dat ze gewoon een valide certificaat vereisen. Het lijkt me het meest logische dat als er al iets gepinned is, dat het een root certificaat betreft (zoals ook alle webbrowsers doen ;)). Beetje lullig dat als een leaf certificate verloopt die gepinned was, je apparaat niet meer werkt :+

Let's Encrypt-certificaten zoals @DiedX suggereert gaat niet werken, aangezien Let's Encrypt, zoals alle public CA's, vereist dat je daadwerkelijk controle hebt over het domein en ik neem aan dat de TS geen controle heeft over Xiaomi-domeinen :+

  • DiedX
  • Registratie: December 2000
  • Laatst online: 07:45
@Osiris ik was duidelijk nog niet wakker 😂

DiedX supports the Roland™, Sound Blaster™ and Ad Lib™ sound cards


  • DJMaze
  • Registratie: Juni 2002
  • Niet online
Een JSON API :)
Als daar een JWT en ander tjak op zit moet je ff wat meer kennis vergaren

[ Voor 15% gewijzigd door DJMaze op 28-11-2019 17:13 ]

Maak je niet druk, dat doet de compressor maar


  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 10-10 17:48

geerttttt

Manisch positief

Topicstarter
sh4d0wman schreef op donderdag 28 november 2019 @ 11:37:
Laten we een stapje terug nemen. Wat is je uiteindelijke doel? Dat was mij niet 100% duidelijk. Voorkomen dat de beelden de cloud in gaan of ze bekijken via je eigen server?

Afhankelijk hier van kun je wellicht bijvoorbeeld iets via het RTP protocol (indien aanwezig) of de cloud API proberen.
Het doel: de server proxyen zodat ik de data lokaal heb en op kan doen. Rtp heeft ie niet en na indrukken van de deurbel is het os ook maar 30 seconden actief (hierin moet hij ook wifi activeren e.d.) voordat hij automatisch afsluit.

Oost west, 127.0.0.1 best!


  • geerttttt
  • Registratie: Oktober 2006
  • Laatst online: 10-10 17:48

geerttttt

Manisch positief

Topicstarter
Mavamaarten schreef op donderdag 28 november 2019 @ 11:42:
Ik denk dat je best nog eventjes wacht tot er custom firmware voor de deurbel uitkomt. Dat is slechts een kwestie van tijd want alle andere Xiaomi / Yi camera's hebben ondertussen een custom firmware waarmee je de stream makelijk kan accessen.
Mwa niet voor alle camera's is een custom fw, en waar het er wel voor is draaien die allemaal een Linux os, dit is liteos van Huawei, een soort Mini Linux wat erg beperkt is. Plus zit je hier met de timeout voordat het systeem weer naar slaapstand gaat.
Het probleem is hier waarschijnlijk (speculatie) dat je wel een HTTPS verbinding kan opzetten, maar dat de camera Certificate Pinning gebruikt.
Denk ik ook, maar is een pem certificaat daar voldoende voor? En als ik die vervang met een eigen, ben ik er dan?

Oost west, 127.0.0.1 best!


  • Mavamaarten
  • Registratie: September 2009
  • Laatst online: 09:10

Mavamaarten

Omdat het kan!

geerttttt schreef op donderdag 28 november 2019 @ 22:40:
[...]

Mwa niet voor alle camera's is een custom fw, en waar het er wel voor is draaien die allemaal een Linux os, dit is liteos van Huawei, een soort Mini Linux wat erg beperkt is. Plus zit je hier met de timeout voordat het systeem weer naar slaapstand gaat.

[...]

Denk ik ook, maar is een pem certificaat daar voldoende voor? En als ik die vervang met een eigen, ben ik er dan?
Een pem certificaat is, in het geval dat er certificate pinning wordt gedaan door de camera, niet voldoende. In dat geval gaat de camera kijken of het certificaat wel degelijk voor mi.com is uitgegeven door een bepaalde issuer en geldig is.

Android developer & dürüm-liefhebber

Pagina: 1