Extracting and Modifying Firmware with JTAG

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 ก.ย. 2024
  • 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/nma...
    #iot #jtag #defon #raspberrypi #iotsecurity

ความคิดเห็น • 46

  • @toadtws
    @toadtws ปีที่แล้ว +11

    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 3 หลายเดือนก่อน +5

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

  • @Patrick-ky7ez
    @Patrick-ky7ez ปีที่แล้ว +2

    Your channel is incredible!

  • @jc4190
    @jc4190 ปีที่แล้ว +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 ปีที่แล้ว +2

    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.

  • @JamesColeman
    @JamesColeman 3 หลายเดือนก่อน

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

  • @slincolne
    @slincolne หลายเดือนก่อน +1

    Minor correction to the video - video title states using JTAG to extract firmware, while Matt used SWD instead. JTAG is an industry standard interface, while SWD is more vender specific. Apart from showing the JTAGulator Matt does not actually use it :-(

    • @m0rjjj666
      @m0rjjj666 19 วันที่ผ่านมา

      You can extract it with JTAG, Matt mentioned that, he just used SWT option

  • @goutham24693
    @goutham24693 ปีที่แล้ว +4

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

  • @woolfy02
    @woolfy02 10 หลายเดือนก่อน

    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.

  • @OMNI_INFINITY
    @OMNI_INFINITY ปีที่แล้ว +1

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

  • @MiroslavObrtel
    @MiroslavObrtel 11 หลายเดือนก่อน

    And that was preety amazing

  • @rajivsingh6633
    @rajivsingh6633 8 หลายเดือนก่อน

    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 ปีที่แล้ว +1

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

  • @ggNotSuree
    @ggNotSuree 2 หลายเดือนก่อน

    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

  • @welltonmanopelli3224
    @welltonmanopelli3224 8 หลายเดือนก่อน

    Very nice

  • @robertbauer6723
    @robertbauer6723 ปีที่แล้ว +2

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

    • @mattbrwn
      @mattbrwn  ปีที่แล้ว +1

      Thanks! Trying to find the sweet spot with the audio

  • @baghdadiabdellatif1581
    @baghdadiabdellatif1581 9 หลายเดือนก่อน

    Great work 👌👏

  • @daixtr
    @daixtr 2 หลายเดือนก่อน

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

  • @abdennour183
    @abdennour183 4 หลายเดือนก่อน

    Does the J-link support Atmega32u4 ?

  • @Finrow1
    @Finrow1 ปีที่แล้ว +1

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

    • @mattbrwn
      @mattbrwn  ปีที่แล้ว

      Honestly I guessed 😅

  • @a-listercrowley2737
    @a-listercrowley2737 ปีที่แล้ว +1

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

  • @RussellSenior
    @RussellSenior ปีที่แล้ว +2

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

    • @mattbrwn
      @mattbrwn  11 หลายเดือนก่อน +1

      This video was specially to demo JTAG

  • @michaelmclardy9165
    @michaelmclardy9165 5 หลายเดือนก่อน

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

  • @alanwake5927
    @alanwake5927 ปีที่แล้ว

    Where I could buy the student version of the j link

  • @paololuise6514
    @paololuise6514 ปีที่แล้ว +1

    What is the debugger model you are using?

    • @mattbrwn
      @mattbrwn  ปีที่แล้ว

      xgecu tl866ii plus
      Also have the newer xgecu t48

  • @PapaGeegee
    @PapaGeegee ปีที่แล้ว

    Do u have epon firmware for Zte

  • @turanamo
    @turanamo 10 หลายเดือนก่อน

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

  • @mattp4953
    @mattp4953 ปีที่แล้ว +1

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

    • @mattbrwn
      @mattbrwn  ปีที่แล้ว +3

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

    • @mattp4953
      @mattp4953 ปีที่แล้ว

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

    • @mattp4953
      @mattp4953 ปีที่แล้ว

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

  • @aduntoridasful
    @aduntoridasful ปีที่แล้ว

    what microscope do you use for videos?

  • @jesussaeta8383
    @jesussaeta8383 ปีที่แล้ว

    Yes the volume is very low on your end,

  • @throwaway1076
    @throwaway1076 ปีที่แล้ว +3

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

  • @BobCat0
    @BobCat0 ปีที่แล้ว +4

    Your video is flipped.

    • @mattbrwn
      @mattbrwn  ปีที่แล้ว +3

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

  • @XenoTravis
    @XenoTravis ปีที่แล้ว

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

  • @marvinesvancese4464
    @marvinesvancese4464 3 วันที่ผ่านมา

    Hall Karen Hernandez Christopher Jones Jose

  • @bubbasplants189
    @bubbasplants189 3 หลายเดือนก่อน

    Now to find an old xbox 🤣

  • @levonrockerz4299
    @levonrockerz4299 ปีที่แล้ว

    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,,