IoT Security: Backdooring a smart camera by creating a malicious firmware upgrade

Поділитися
Вставка
  • Опубліковано 22 лис 2024

КОМЕНТАРІ • 307

  • @moth.monster
    @moth.monster 4 роки тому +2119

    Remember kids. The S in IoT stands for security.

    • @woodie07
      @woodie07 4 роки тому +92

      eri bUt ThErE iS nO s In IoT

    • @AndreasDelleske
      @AndreasDelleske 4 роки тому +83

      eri and the R for reliability, M for maintenance, U for upgradeability.

    • @hernancoronel
      @hernancoronel 4 роки тому +6

      Ok deploy my IOTs please! :-)

    • @dk14929
      @dk14929 4 роки тому +28

      @@AndreasDelleske sounds like you'd prefer some RUM

    • @McDonnerbogen
      @McDonnerbogen 4 роки тому +13

      Well when you flash your own firmware to add security vulnerables...

  • @4g3v
    @4g3v 4 роки тому +1009

    Take a look at the access log of your server :)

    • @stacksmashing
      @stacksmashing  4 роки тому +894

      "GET /Awesome_video_dude_Keep_up_the_great_work
      Hah, love it! Thanks man!

    • @4g3v
      @4g3v 4 роки тому +205

      @@stacksmashing awesome that the message got to you :) Really enjoyed the video. Hope you have some more planned ^^

    • @meh.7539
      @meh.7539 4 роки тому +96

      /slow clap.

    • @sadface
      @sadface 4 роки тому +24

      haha thats awesome

    • @coler154
      @coler154 4 роки тому +27

      @xOr Vega sent a GET request to his server saying "/Awesome_video_dude_Keep_up_the_great_work"

  • @DerrickJolicoeur
    @DerrickJolicoeur 4 роки тому +91

    This is EXACTLY what I was looking for when I bought this camera. I hate that the default firmware doesn't allow video streaming via the Wise app without an internet connection [via LAN]. So finally I have a means to circumvent their servers while still attaining live video footage.
    We don't need to see the baby-monitors when we're out of the house.

  • @woodie07
    @woodie07 4 роки тому +287

    The 19 dislikes are smart camera manufacturers

    • @fivethreeone2132
      @fivethreeone2132 4 роки тому +1

      the 20 dislikes are fucking bots

    • @prakharmishra3000
      @prakharmishra3000 3 роки тому +3

      @@fivethreeone2132 stop blaming everything on bots probably lol, maybe people tap on it by mistake. Happenes to me sometimes too.

    • @wishihadablog
      @wishihadablog 3 роки тому +1

      The 75 people only like cat videos

  • @williamwatkins6669
    @williamwatkins6669 4 роки тому +241

    Through all the video I was like '' ok that's very theoretical, how would you install the firmware in real life's and the you gave the example at the last second and my blood turned cold 😱

    • @maddoggLP
      @maddoggLP 4 роки тому +4

      same for me haha

    • @nolangelinas3566
      @nolangelinas3566 3 роки тому +5

      @@mshthn It would be perfect for a semi-targettted attack on someone by simply selling them a camera on ebay. You could just set up an ebay account that sell compromised cameras and no one would figure it out unless you sell one to an IT guy.

  • @rakeshchowdhury202
    @rakeshchowdhury202 4 роки тому +179

    Exactly what I was searching for, a well detailed CCTV firmware reversing tutorial. Hey Ninja, I really like your work and your way of explanation, Please Upload more videos, please make it a bit frequent like 1v/month.

  • @nullpwn
    @nullpwn 4 роки тому +10

    That was so easy to watch and learn, no extra and unnecessary steps, no stupids and distractive ads. simple and awesome iot exploit. Keep up the good work

  • @INTJames
    @INTJames 4 роки тому +99

    That was a lot easier than it should've been lol..

  • @jacobyoung6876
    @jacobyoung6876 3 роки тому +5

    Wow this was really interesting to see a demonstration by someone willing to explain the thinking process along the way. This is very inspiring!

  • @ashishpatel350
    @ashishpatel350 4 роки тому +223

    I would back up your channel on another platform like Bitchute or library. UA-cam has been deleting channels like yours.

  • @popcorny007
    @popcorny007 4 роки тому +19

    Really fantastic video, well done. Your explanations and visuals are easy to follow, and we can all tell that you have a good understanding of what you're doing.

  • @d1v1ne312
    @d1v1ne312 4 роки тому +6

    I really liked the style of this video, because it was "just right" for the knowledge I have. You explained it very well and with not too much or too less informations. thx!

    • @cocosloan3748
      @cocosloan3748 4 роки тому +1

      Yeah-the level of knowledge we have is much lower then we think we have!.Try explaining this to someone or to replicate it..You will need to watch this video 100 times over :)

  • @AndrewMcOlash
    @AndrewMcOlash 4 роки тому +6

    Great job on this! I actually have one of these hacked cameras to use a security cam (but keep it off of the wyze network). Crazy how simple it is to hack the firmware and can't wait to see more. Might be time for me to start hacking some of my IoT devices. Makes me a bit nervous of how vulnerable my network might be though!

  • @matteog7579
    @matteog7579 4 роки тому +6

    Awesome video! Exactly the type of hands-on example I love to see/learn from.

  • @neilyoung6671
    @neilyoung6671 4 роки тому +72

    A German Engineer. Nothing more to say :) Ah, wait. A German Reverse Engineer :)) Well done.

  • @erinkourelis7430
    @erinkourelis7430 Рік тому +78

    We’ve only had the cameras up and running for a short time. ua-cam.com/users/postUgkxOXxsTZ3ptV_Pk0fFl8bNZvVqeoqBQFwe So far we love them! I got the outdoor mounting kit for them and they were easy to install. Once you download the app, it walks you through the very easy set up. The clarity, and range is awesome. I am thinking seriously about adding another camera or two to my 3 camera system. The price is lower than a lot of comparable systems.

  • @chadiusmaximus9350
    @chadiusmaximus9350 4 роки тому +17

    Awesome. I actually have one of these sitting around.

  • @EnWeee
    @EnWeee 4 роки тому +9

    Great to see you back. Hope you'll post more videos.

  • @AlmightyGauss
    @AlmightyGauss 4 роки тому +5

    It's good to see this channel is still alive, I love your content! Thank you for sharing your knowledge, hope to see more updates in the future

  • @origamitaco
    @origamitaco 3 роки тому

    I was able to get into a Faleemi outdoor camera with this exact same method (except they have an option to only update the rootfs so I only needed to repack the squash file with no UBoot header). Works like a charm, and with telnet/wget I can update my camera remotely with my custom firmware. Thank you so much for my first IoT hack! I was also able to get a UART terminal to it on the hardware side.

  • @redpillcommando
    @redpillcommando 4 роки тому +8

    Ghidra Ninja - It's been a while. I love your work and want to see more. Thanks of the video.

  • @rogerf3622
    @rogerf3622 3 роки тому

    This could all be avoided if the customer had all cameras on their own network (vLAN) with no internet access and no access to the main network. But this was a very informative detailed video.

  • @PyPylia
    @PyPylia 4 роки тому +230

    Can we quickly laugh at how stupid their way of stopping telnetd is? Instead of uninstalling it and or removing it from the rcS file, instead, they just kill it (And not even stop the service, just use killall.)

    • @Acorn_Anomaly
      @Acorn_Anomaly 4 роки тому +84

      Based on where the killall is from, I'm guessing the telnetd was a backup access point for testing. If the camera starts up, but can't load the camera app for some reason, it won't kill the telnet daemon, and they can log in to figure out what broke.

    • @ArnaudMEURET
      @ArnaudMEURET 3 роки тому +12

      @@Acorn_Anomaly Shouldn’t make it into prod FW though

    • @Acorn_Anomaly
      @Acorn_Anomaly 3 роки тому +8

      @@ArnaudMEURET No, but taking advantage of it in this instance would still require either an already compromised or non-functioning device. There have been worse backdoor incidents.
      Ideally, they'd have removed it or disabled it, but after they had an already working image, they may not have wanted to mess around too much with it, especially since, as I said above, taking advantage of that isn't generally achievable remotely.

    • @MygenteTV
      @MygenteTV 3 роки тому +2

      maybe is used for support from the company

    • @RobertHallIV
      @RobertHallIV 3 роки тому +2

      me thinks they be lazy

  • @colfaxschuyler3675
    @colfaxschuyler3675 3 роки тому +1

    No doubt, you've already had countless people recommending the Wyze Cam V3. The low light image capability seems very good.
    What it doesn't have is RTSP, and Wyze doesn't seem very anxious to provide that capability.
    But it's a swell cam.

  • @EtienneLouw
    @EtienneLouw 3 роки тому

    Found your channel watching the new Game and Watch hacks and enjoying the content library, this video was awesome to watch and might try to do this myself on my own Wyze cam.

  • @ChrisWhalen00
    @ChrisWhalen00 4 роки тому +1

    Great note about zero padding the modified filesystem image before you bundle it to keep it the same size as the original!

  • @CyReVolt
    @CyReVolt 4 роки тому +3

    This is awesome, I can perfectly use tooling such as jefferson right now for firmware modification. To split up flash image partitions, I am simply using dd though and cat things together again.
    Edit: Since it looks like jefferson is for extraction only, I'll stick with mounting the rootfs through the mtd + jffs2 kernel modules, which is a bit of work and annoyance, but solved. =) I will still keep jefferson in mind for extraction-only/analysis use-cases though, makes sense also to have something portable. Thank you!

  • @FunnyPantsTV124
    @FunnyPantsTV124 3 роки тому

    I loved this video! i plan on picking up a camera to play around with myself! Im glad I'm not the only one who thought "what if it has been backdoored and returned to the wild" you're a legend man!

  • @user-oj7hf2qc9u
    @user-oj7hf2qc9u 3 роки тому

    i just found your content yesterday, and I am HOOKED. Keep up the awesome work :)

  • @youssefabdelkhalek2499
    @youssefabdelkhalek2499 3 роки тому

    Your videos are amazing, please never stop posting videos, I am now a student of yours.

  • @leonardo9259
    @leonardo9259 3 роки тому

    I'm taking some courses in IOT, I still can't understand everything here but I'm enjoying it a lot

  • @jmchichstudio9145
    @jmchichstudio9145 3 роки тому

    Thanks for the tip! Gonna try and modify an init script, pack the squashfs and update the camera. Should be similar to your model

  • @harshitjoshi3082
    @harshitjoshi3082 4 роки тому +3

    You should make more such videos, you have the potential to grow your channel

  • @patrickm9953
    @patrickm9953 3 роки тому

    Great tutorial, lots of new utilities I have never heard of before

  • @theleopards4198
    @theleopards4198 4 роки тому +1

    Amazing to see you back.Loved the video

  • @mhmek7324
    @mhmek7324 4 роки тому +2

    Really good video with good explanations! Love it dude! Keep up the good work!

  • @alexscarbro796
    @alexscarbro796 3 роки тому

    What an fantastic video!
    Excellent content and perfect pace.

  • @attilapal3786
    @attilapal3786 3 роки тому

    very cool i have always been thinking about repacking modified firmwares

  • @Laflamablanca969
    @Laflamablanca969 4 роки тому +4

    Whoever disliked this is either an idiot or they accidentally clicked the wrong button. Great video man and it would be good to see more videos like this that give us novices guidance in exploiting devices. It’s also good that you’ve shown it with a device we have access too, so yeh much appreciated 👍

  • @nrdesign1991
    @nrdesign1991 3 роки тому

    interesting to see the miio client on there, same thing is running on my vacuum. Thanks for the very informative video

  • @mohamedisaac924
    @mohamedisaac924 3 роки тому

    dude this channel teach a lot better youtube channel easy tips and learn everyday

  • @stevecross9159
    @stevecross9159 3 роки тому

    From the UK 🇬🇧. Great stuff

  • @HenryTonoyan
    @HenryTonoyan 3 роки тому +1

    I'm going to start checking the firmware on every device I buy from now on. On the plus side it will keep me from buying too many things :D.

  • @ricardojlrufino
    @ricardojlrufino 2 роки тому

    Very good Job. I liked reverse Shell using netcat , i'm using reverse ssh , bit this is more easy

  • @BroodPitt
    @BroodPitt 4 роки тому +1

    Welcome Back! Finally a new video! 🙌

  • @BrandonHall916
    @BrandonHall916 4 роки тому +1

    Such a great video! Very informational

  • @edgeeffect
    @edgeeffect 3 роки тому

    That's the best UA-cam sponsorship I've ever seen.... "this video is sponsored by ME" ;)

  • @AmnesiaPhotography
    @AmnesiaPhotography 4 роки тому +1

    The oh s*** moment at the end... love it

  • @TheSurvivor4
    @TheSurvivor4 3 роки тому +1

    Amazing video. I love the "hack" where you get it into ram where there was more space. I was just wondering though: The need to store the extra binary was to get the reverse shell, but if bash was there, could you then use that instead? I do really like you went the NC way, because I learned a lot about what to do if the situation arose. Amazing!

  • @fabiorj2008
    @fabiorj2008 3 роки тому

    This video is AMAZING. Thx

  • @deppy2165
    @deppy2165 4 роки тому +5

    This was really interesting, do you have any plans on uploading more IOT videos?

  • @More_Row
    @More_Row 4 роки тому +2

    Welcome back-

  • @MrGTAfan93
    @MrGTAfan93 4 роки тому +25

    Once i backdoored my neighbour's security cam. He was backdooring his wife...

    • @cocosloan3748
      @cocosloan3748 4 роки тому +1

      Now you are "backdooring" us? (lying)

    • @rocco0x415
      @rocco0x415 4 роки тому

      @@cocosloan3748 boomer

  • @somehow_sane
    @somehow_sane 4 роки тому +1

    Awesome Video! Keep up the good work!

  • @JLK89
    @JLK89 4 роки тому +1

    Awesome video!

  • @MiniArts159
    @MiniArts159 3 роки тому

    I had a friend whose mom purchased a cheap Walmart IoT camera.
    This camera has two-way communication features and makes an alert when the owner rings in. One time it made the alert sound but no audio on the other end. They literally believed it was caused by ghosts as the camera ". . . doesn't connect to the internet, it goes through my mom's phone."

  • @soulife8383
    @soulife8383 3 роки тому

    It's been a few years, but I believe I used to use squashfs as the system image on the good ol' T-Mobile G1 (HTC Dream), the first Android device. But I thought it wasn't read-only once mounted as I used to manipulate the system partition all the time... I may be mistaken tho, that was 2009

  • @KF4IXM_Mike
    @KF4IXM_Mike 3 роки тому +1

    Would this work on the newer v3's? Awesome video and explanation. I'm looking to set one up as a weather webcam for weather underground.

  • @i_am_dumb1070
    @i_am_dumb1070 9 місяців тому

    Learned a lot thanks 👍🙏

  • @cocosloan3748
    @cocosloan3748 4 роки тому +1

    Wow...Just wow!

  • @nsns7993
    @nsns7993 3 роки тому

    Amazing vid!

  • @niklasgs1470
    @niklasgs1470 2 роки тому

    This is so cool!

  • @ramondunker4981
    @ramondunker4981 3 роки тому

    Awesome video 😍

  • @MinhNguyen-kv2mz
    @MinhNguyen-kv2mz 4 роки тому +1

    Amazing video :) Please make more

  • @keganpowers3430
    @keganpowers3430 2 роки тому

    Doom on a wyze camera can't wait to see that

  • @MygenteTV
    @MygenteTV 3 роки тому

    man, you are a genius. i can only wish to know a half of a half of what you know. can you do some alexa hacking? my brother in law have one and i would love to do some pranks to him

  • @mikeydk
    @mikeydk 4 роки тому +2

    Might have to get a few of those cams now :D

  • @p0isN
    @p0isN 4 роки тому +1

    "shameless plug", not sure why but I laughed my ass off at that haha

  • @seba123321
    @seba123321 4 роки тому

    Thank you that knowledge!

  • @RawApeFromAlbion
    @RawApeFromAlbion 10 місяців тому

    Awesome video

  • @Sparkette
    @Sparkette 4 роки тому +1

    Having a secure firmware upgrade process is important, but it comes with a downside that few manfacturers are kind enough to mitigate. Sure, unauthorized users rely upon insecure firmware update processes to install backdoors, but they're also what *authorized* users often rely on, to install mods. But this is a tiny minority of customers, weighed against the far greater number of customers who would benefit from the extra security. And unfortunately, it's a tiny enough minority that most companies won't consider it worth the extra R&D for providing a secure alternative authentication method for use by the owner, even when they wouldn't otherwise have any reason to go out of their way to lock the owner out.

  • @xtdycxtfuv9353
    @xtdycxtfuv9353 4 роки тому +1

    hey i love you. this was a fun video to watch

  • @EpicLPer
    @EpicLPer 4 роки тому +8

    I once bought a shady cam on Amazon just for the fun of it and did a port scan, found out they simply had the Telnet port open with no root password set so yeah...
    I'd love to flash a custom firmware on the camera since the hardware itself is nice but it doesn't provide RTSP (open Telnet port wouldn't be much of an issue just in my local LAN and behind a separate VLAN) but it seems like that my camera has almost no Google entries at all :(

    • @4g3v
      @4g3v 4 роки тому +4

      Since around three years I've been seeing you all over UA-cam videos I watch. You have some fine taste haha.

    • @arshaver
      @arshaver 4 роки тому

      There is an official Wyze firmware that supports RTSP

  • @neoXXquick
    @neoXXquick 4 роки тому +1

    Amazing video...

  • @GnobarEl
    @GnobarEl 4 роки тому

    I love your videos!

  • @karubabu
    @karubabu 4 роки тому +2

    finally !YAY

  • @minecraftzombie4120
    @minecraftzombie4120 4 роки тому +1

    Great content bro 👍😀

  • @michaeldai1999
    @michaeldai1999 4 роки тому +2

    more like we hope to see YOU soon on this channel again. Whatever happened to wannacry part 2?

    • @stacksmashing
      @stacksmashing  4 роки тому +1

      Honestly: started it, found that without a debugger it really doesn’t make sense in parts, so hoping for the debugger release :)

    • @michaeldai1999
      @michaeldai1999 4 роки тому

      @@stacksmashing does it uses something like mutable code or something like that? Is that why something like simple ollydbg or x64dbg won't work?

  • @njnicho
    @njnicho 4 роки тому

    Dude! Amazing!

  • @Gie93uck294bx
    @Gie93uck294bx 4 роки тому

    bin mir absolut sicher, dass du aus dem deutschsprachigem raum bist. dieser akzent ist so einzigartig hahah :D

    • @stacksmashing
      @stacksmashing  4 роки тому

      Ich nix verstehen😇

    • @Gie93uck294bx
      @Gie93uck294bx 4 роки тому

      @@stacksmashing
      i thought your mother language is german. you sound like a german person is speaking english haha

    • @stacksmashing
      @stacksmashing  4 роки тому +1

      War ein Witz, ich bin Deutsch :)

    • @Gie93uck294bx
      @Gie93uck294bx 4 роки тому

      @@stacksmashing (x

  • @craig3714
    @craig3714 4 роки тому +1

    Thanks I believe my nosey neighbors watch me through my LED lights also .

  • @DrDre001
    @DrDre001 4 роки тому +1

    Heck ya new vid

  • @sRCx0sweetRusHC0d3r
    @sRCx0sweetRusHC0d3r 4 роки тому +2

    Can you do one similar reverse engineering on a Huawei 4G dongle , that could be a nice tutorial

  • @wawied7881
    @wawied7881 4 роки тому +2

    Nice video, keep up the good work! But are you planning on uploading more regularly? And do you have any plans in doing more Ghidra related videos?

  • @geekionizado
    @geekionizado 4 роки тому +2

    Could you extract the firmware for Vstarcam cameras? They're not available online and the updater inside the camera only downloads a diff of what needs to be updated. I tried extracting from the flash using a raspberry pi but it didn't work. These cameras are one of the most sold on aliexpress and I can't find a way to telnet to them. Their RTSP server keeps crashing and I wanted to write a custom script to restart this server. Would be nice if you managed to crack these cameras. Thanks!

  • @juancarlosmartinezhernande7777

    Awesome video very usefull =)

  • @NGHVEVO
    @NGHVEVO 3 роки тому

    Great job :)

  • @ALEXGAYMAR2312
    @ALEXGAYMAR2312 4 роки тому +1

    Like in Mr. Robot!

    • @chrisakaschulbus4903
      @chrisakaschulbus4903 4 роки тому

      but i think there is a lot more going on in the show... i mean, in reality it is pretty much what is shown in the video, but who would watch a show about it? except for strange nerds, that watch videos like this one ;)

  • @flow5718
    @flow5718 3 роки тому

    Good security practice to reinstall the firmware on used devices I suppose.

  • @Rafacz
    @Rafacz 4 роки тому +1

    T.Hanks
    We need more videos xD

  • @TheStiepen
    @TheStiepen 3 роки тому

    Generally speaking I do believe systems should allow users to load arbitrary firmware. Just OTA updates should be signed or at least loaded via TLS

  • @CYB3Rhuman
    @CYB3Rhuman 4 роки тому

    NetCat compiled for MIPS should be under 100Kb, no need for a 1.5Mb busybox binary. Good alternative for busybox is toybox (still about 800Kb compiled for MIPS) also has nc.

    • @victornpb
      @victornpb 4 роки тому

      I’m sure this is just a poc

  • @AlexMarkessinis
    @AlexMarkessinis 3 роки тому

    Great video! Is there a way to repack the JFS2 directory like you did with the squashfs folders? I took a look at jefferson but the docs only mention the ability to extract.

    • @Wythaneye
      @Wythaneye 3 роки тому +1

      You can re-pack the JFFS2 filesystem by using mkfs.jffs2. The problem I'm running into is that the repacked filesystem (no modification) is larger than the original so my offsets are wrong when I go to re-pack the bin file. I'm not terribly skilled in Python so I'm trying to figure out how to mod the wyze_extractor script to build the image properly using a modified JFFS2 filesystem. Hopefully I'll be able to post my fixes here, as I'm working on a mod for my own purposes.

  • @ciaobello1261
    @ciaobello1261 4 роки тому +1

    cool video..👍👍👍

  • @zsoltsator5433
    @zsoltsator5433 4 роки тому +1

    Would you please help a noob (little knowledge in navigation with Linux) how to check if any suspicious activity is going on on the devices (CCTV) - for instance how to check if any of the cameras or devices connected in my network having connections established outside of my network?
    How do I distinguish if the connection is due to cloud functionality (aka mobile access) or due to a malicious SW running in background. Thanks to every comment on this.

  • @drozcan
    @drozcan 4 роки тому

    15:50 Thanks for the advice :)

  • @piotralex5
    @piotralex5 3 роки тому

    also this telnetd might be accessible for a split second during boot, don't you think?

  • @SonGoku-di2uy
    @SonGoku-di2uy 2 роки тому

    I have an 'IMOU Ranger - 2 ' IP camera , it got bricked while upgrading it's firmware to the latest version which was followed by a powercut while upgrading. I searched online for its official firmware file but couldn't found one. Any help would be appreciated....

  • @ilketosunoglu3304
    @ilketosunoglu3304 4 роки тому +1

    why nc instead of socat where you have ssl capabilities now your rshell is plaintext

  • @foosabraun2461
    @foosabraun2461 4 роки тому +2

    Yay! :)