Extracting and Modifying Firmware with JTAG

Sdílet
Vložit
  • čas přidán 25. 10. 2022
  • In this video, we discuss how to extract firmware from a RP2040 microcontroller on the Defcon 30 badge using JTAG. A JLink debugger is used. We also push a modified version of the firmware back to the device.
    IoT Hackers Hangout Community Discord Invite:
    / discord
    🛠️ Stuff I Use 🛠️
    🪛 Tools:
    XGecu Universal Programmer: amzn.to/4dIhNWy
    Multimeter: amzn.to/4b9cUUG
    Power Supply: amzn.to/3QBNSpb
    Oscilloscope: amzn.to/3UzoAZM
    Logic Analyzer: amzn.to/4a9IfFu
    USB UART Adapter: amzn.to/4dSbmjB
    iFixit Toolkit: amzn.to/44tTjMB
    🫠 Soldering & Hot Air Rework Tools:
    Soldering Station: amzn.to/4dygJEv
    Microsoldering Pencil: amzn.to/4dxPHwY
    Microsoldering Tips: amzn.to/3QyKhrT
    Rework Station: amzn.to/3JOPV5x
    Air Extraction: amzn.to/3QB28yx
    🔬 Microscope Setup:
    Microscope: amzn.to/4abMMao
    Microscope 0.7X Lens: amzn.to/3wrV1S8
    Microscope LED Ring Light: amzn.to/4btqiTm
    Microscope Camera: amzn.to/3QXSXsb
    About Me:
    My name is Matt Brown and I'm an Hardware Security Researcher and Bug Bounty Hunter. This channel is a place where I share my knowledge and experience finding vulnerabilities in IoT systems.
    - Soli Deo Gloria
    💻 Social:
    twitter: / nmatt0
    linkedin: / mattbrwn
    github: github.com/nmatt0/
    #iot #jtag #defon #raspberrypi #iotsecurity
  • Věda a technologie

Komentáře • 45

  • @toadtws
    @toadtws Před 10 měsíci +8

    Great video! Minor vim note: at @17:30, you can use capital R to enter Replace mode. That way you won't have to count anything. Just make sure you only modify ASCII characters.

  • @PeterBagel-ti5xw
    @PeterBagel-ti5xw Před 19 dny +2

    Oh my god, just found this channel and it's an absolute goldmine :-) thanks for all the awesome content!

  • @Patrick-ky7ez
    @Patrick-ky7ez Před 10 měsíci +2

    Your channel is incredible!

  • @jc4190
    @jc4190 Před rokem +3

    Awesome video!! Could you do something with STM chips that are locked sometime soon? My vaguest of vague understanding is that you can sometimes do something with pulling boot select pins low to get it into a debug mode regardless of other configurations, but I don't have the first clue how to actually do that irl. Keep up the great videos m8!

  • @sammay1540
    @sammay1540 Před rokem +1

    I recently came across your channel and I love your videos. If you ever have a project where you gain practical functionality of a device by hacking it, that would make a great video. Like the security camera sending the stream to a self hosted storage server or other ideas you may have.

  • @baghdadiabdellatif1581
    @baghdadiabdellatif1581 Před 6 měsíci

    Great work 👌👏

  • @goutham24693
    @goutham24693 Před rokem +4

    Hi Matt, very Informative video. Is there any way to convert the binary dump to source code or to understand it better ?

  • @welltonmanopelli3224
    @welltonmanopelli3224 Před 5 měsíci

    Very nice

  • @MiroslavObrtel
    @MiroslavObrtel Před 8 měsíci

    And that was preety amazing

  • @OMNI_INFINITY
    @OMNI_INFINITY Před rokem +1

    Where is a repository link to PCB files of that badge? Looks like a nice little capacitive keyboard.

  • @JamesColeman
    @JamesColeman Před měsícem

    I am all for IOT companies not disabling JTAG. Just keep them away from evil maids, and you're all good.

  • @robertbauer6723
    @robertbauer6723 Před rokem +2

    Very informative, great info! Thank you for making this. BTW your audio is really low.

    • @mattbrwn
      @mattbrwn  Před rokem +1

      Thanks! Trying to find the sweet spot with the audio

  • @daixtr
    @daixtr Před 3 dny

    Hi Matt. What would be your recommended JTAG model brand?

  • @ggNotSuree
    @ggNotSuree Před 17 dny

    Trying to learn all of this and very overwhelmed. Are you able to access the jtag state machine this way? And command the actual registers? I’m reading how to do that, but nobody ever explains how they gain access to do that… and what they are typing the commands on/through…. Sorry if this is a stupid question

  • @mattp4953
    @mattp4953 Před rokem +1

    So cool! What are you going to push to it next, if anything?

    • @mattbrwn
      @mattbrwn  Před rokem +3

      might require some big time reverse engineering :D I wonder if they released the source code to the badge......

    • @mattp4953
      @mattp4953 Před rokem

      @@mattbrwn another question: can it run doom (just thought of this)

    • @mattp4953
      @mattp4953 Před rokem

      @@mattbrwn have you thrown it into Ghidra yet? Assuming it’s an ELF, Is the binary stripped?

  • @woolfy02
    @woolfy02 Před 8 měsíci

    I just got a bus pirate 3.6a and, I'm wanting to connect to a device using JTAG. The available pins on it are:
    TDO,TDI,TMS,TCK,GND,RESET
    Do I just connect it the same named pin, as from the bus pirate to the device? (Like TDO - TDO, TDI - TDI...etc etc for all of them). Years ago, I used uart but, I'm not seeing those connections on the board I'm trying to mess around with. I just can't seem to find a guide / tutorial that explains how to set it up for newbs.

  • @alanwake5927
    @alanwake5927 Před rokem

    Where I could buy the student version of the j link

  • @Finrow1
    @Finrow1 Před rokem +1

    How did you know to use the SI form of Mbit and not the binary form of Mbit?

  • @turanamo
    @turanamo Před 8 měsíci

    You could have added the part where you locate the h/w key to crack it 😛

  • @abdennour183
    @abdennour183 Před měsícem

    Does the J-link support Atmega32u4 ?

  • @rajivsingh6633
    @rajivsingh6633 Před 5 měsíci

    Dear sir I have a problem that the mcu has tooll0 pin reset pin vcc and ground .
    How I can extract firmware from the mcu

  • @teltechservices7978
    @teltechservices7978 Před rokem +1

    amazing man, thank you for the cool stuff , hacked by nmat😊

  • @paololuise6514
    @paololuise6514 Před rokem +1

    What is the debugger model you are using?

    • @mattbrwn
      @mattbrwn  Před rokem

      xgecu tl866ii plus
      Also have the newer xgecu t48

  • @aduntoridasful
    @aduntoridasful Před 10 měsíci

    what microscope do you use for videos?

  • @a-listercrowley2737
    @a-listercrowley2737 Před rokem +1

    Man I keep seeing JTAG written on different boards
    I'm still a rookie, got a long waaay to go

  • @PapaGeegee
    @PapaGeegee Před rokem

    Do u have epon firmware for Zte

  • @michaelmclardy9165
    @michaelmclardy9165 Před 2 měsíci

    Can you do the Huawei H112-372? how to get UART and JTAG.

  • @jesussaeta8383
    @jesussaeta8383 Před 9 měsíci

    Yes the volume is very low on your end,

  • @RussellSenior
    @RussellSenior Před 9 měsíci +1

    Why not just hook up to the SPI NOR flash and dump that way? flashrom, ftw.

    • @mattbrwn
      @mattbrwn  Před 9 měsíci +1

      This video was specially to demo JTAG

  • @user-hk6pu8nt1s
    @user-hk6pu8nt1s Před 29 dny

    Are you in Hawaii Oahu? I thought i saw you at Waimalu Hi Starbucks?!

    • @mattbrwn
      @mattbrwn  Před 29 dny

      Lol nope. Opposite side of country

  • @throwaway1076
    @throwaway1076 Před rokem +3

    16 megabits is 2 megabytes, which is 0x200000... Converting 20000000 decimal to hex is not 2 megabytes.

  • @XenoTravis
    @XenoTravis Před rokem

    I dislike that connector style so much. The cable is expensive and the pins will bend easily.

  • @BobCat0
    @BobCat0 Před rokem +4

    Your video is flipped.

    • @mattbrwn
      @mattbrwn  Před rokem +3

      lol good catch. I thought I fixed that... I'm kinda new to OBS

  • @bubbasplants189
    @bubbasplants189 Před měsícem

    Now to find an old xbox 🤣

  • @levonrockerz4299
    @levonrockerz4299 Před rokem

    The last command is not supported by jlink commander v7.88j, start here^[nmatt@ripper badge]$, ..savebin is only working , I am trying to extract stm32f103r8,,