Intro to hardware security: UART access and SPI firmware extraction

Sdílet
Vložit
  • čas přidán 17. 05. 2024
  • This is an introduction to hardware security for beginners. I will show you how to connect to the Linux terminal of a TP-Link wireless router using UART, and also how to dump its firmware using a SPI programmer. My aim has been to use the most affordable and accessible tools, so everyone can start without breaking the bank.
    As promised in the video, here’s the list of tools that I used or mentioned:
    The target: www.tp-link.com/us/home-netwo...
    The advanced UART adapter that I mentioned: www.crowdsupply.com/pylo/muart
    Programmer I used to dump the firmware: github.com/boseji/CH341-Store
    Software I used to dump the firmware: flashrom.org/Flashrom
    Software used to extract the firmware contents: github.com/ReFirmLabs/binwalk
    For the UART you can use any USB-UART adapter (sometimes called USB to TTL). I used an adapter based on PL2303, but FT232 is more common (the one with the 3.3/5v switch was based on FT232)
    If you need more guides, check these out:
    www.thezdi.com/blog/2019/9/2/...
    nvisium.com/blog/2019/08/07/e...
    jcjc-dev.com/2016/04/08/rever...
    blog.rapid7.com/2019/02/20/io...
    I had to cut some corners to prepare a short and easy to understand video. For example I skipped the part on detecting the UART pins on the boards using an oscilloscope or logic analyzer.
    If you have questions or comments, you can reach me via Twitter: / mehdi0x61
  • Věda a technologie

Komentáře • 116

  • @DemocracyManifest-vc5jn
    @DemocracyManifest-vc5jn Před 6 hodinami

    Damn. We only get one video from you? I’m sad now, such a great job

  • @bradkaral1188
    @bradkaral1188 Před rokem +5

    Very well done. Clearly explained, step-by-step.

  • @Lin-yo3og
    @Lin-yo3og Před 2 lety +2

    So grateful, it's a good tutoring video with so much detailed explanation.

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

    it was so good , grateful for this tutorial

  • @nikolatesla9917
    @nikolatesla9917 Před 4 lety +11

    just as a suggestion: first introduce the devices in video and mention them by typing their name beside them in the first scene of video,i enjoyed it ThanX

  • @stevecross9159
    @stevecross9159 Před 3 lety

    From the UK. Hi
    Mehdi good introduction I need to go over the video again but it's a good start!!

  • @squirre17
    @squirre17 Před 2 lety

    Thank you very much😘. Looking forward to more practice hank-on work video.

  • @SaeedBeigiRizi
    @SaeedBeigiRizi Před 4 lety

    that was a complete tutorial. thanks in advanced

  • @Dumbc0mment
    @Dumbc0mment Před 3 lety +2

    Thx you Mehdi, I learned a lot

  • @oulachoulach4883
    @oulachoulach4883 Před rokem

    BROTHER, YOU ARE THE BEST!!! You oooh really helped me!! THANK YOU VERY

  • @soroush92
    @soroush92 Před rokem +2

    Thx Mahdi jaan. Would u please upload more videos like this? Amazing bro.

  • @vediam
    @vediam Před 7 měsíci

    Merhaba, izlediğim en faydalı video bu oldu diyebilirim. Detaylı ve dolu dolu içerikle hazırladığınız bu video için Allah sizden razı olsun. Çok çok çok sağolun, elinize sağlık.

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

    Need more details video about this topic. You are great ❤. Love from Bangladesh.

  • @qzorn4440
    @qzorn4440 Před 3 lety

    Gee, this is very interesting and great way for troubleshooting a lot devices... thanks...:)

  • @bigbooduh
    @bigbooduh Před rokem

    Legend Mehdi! Thanks for this

  • @n.w.aicecube5713
    @n.w.aicecube5713 Před 2 lety +1

    Very well explained

  • @shivamhw
    @shivamhw Před 2 lety

    bahut badhiya dost.. great video,

  • @riadhch5643
    @riadhch5643 Před 3 lety

    Thank you Mr Mehdi so helpful

  • @emreru5687
    @emreru5687 Před 4 lety

    Thanks you (خیلی ممنون آقا مهدی)

  • @parag9999mun
    @parag9999mun Před rokem +1

    It was alot helpfull.
    Thank you man

  • @abdelazizsaad7676
    @abdelazizsaad7676 Před 3 lety

    This is great, thanks a lot.

  • @bobmcbob4399
    @bobmcbob4399 Před rokem +1

    13:29 "3: System Boot system code via Flash" - this is option 3 in the uboot boot menu. It is possible to send a different option via serial keyboard input - like boot to root shell. But this may not be always possible. But in this case, you get to a shell from the get-go.

  • @JorgeLuis-hy8im
    @JorgeLuis-hy8im Před rokem

    PL2303 has the right voltage? I meaning 3.3 by default.
    I get confused about the right voltage, do you have another video about the voltage?
    If you test the PL2303 pins, what voltage do you get?

  • @rohitdeswal1224
    @rohitdeswal1224 Před 2 lety +1

    Great video . Can you give other vulnerable devices list to practice

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

    Great information in this video. Louder audio would be great, as I struggled to hear everything when the volume was set to maximum value.

  • @RafaelSousa-pj1ok
    @RafaelSousa-pj1ok Před 4 lety +1

    Great video! Thanks a lot!

    • @drewsam6387
      @drewsam6387 Před 2 lety

      dunno if anyone cares but if you guys are bored like me during the covid times then you can watch all of the latest movies and series on instaflixxer. Been streaming with my girlfriend recently =)

    • @stevensamuel1968
      @stevensamuel1968 Před 2 lety

      @Drew Sam Definitely, have been watching on Instaflixxer for since november myself :D

  • @AbhishekMishra-bq9ox
    @AbhishekMishra-bq9ox Před 3 lety +2

    Plz make more thank u for making this type video

    • @MehdiHacks
      @MehdiHacks  Před 3 lety +1

      I will try my best. 👍 Please subscribe to get notified of my upcoming videos

    • @AbhishekMishra-bq9ox
      @AbhishekMishra-bq9ox Před 2 lety

      I already subscribed you

  • @qusaykambal6903
    @qusaykambal6903 Před 2 lety

    Hi
    How can i reverse engineering dump any eeprom for example s2943 i try ghidra but iam not get any thing

  • @phantom700X
    @phantom700X Před 3 měsíci

    Thank you for information. I have LPC1778 I i tried to read with Flash magic . And i get massage, security violation in device. What i can do ?! I Wann get the firmware.

  • @dzfinch5008
    @dzfinch5008 Před 8 měsíci +1

    Thank you

  • @johndavid8303
    @johndavid8303 Před rokem

    Hello, to to extract firmware from MCU with builtin flash memory such as Atmel ATSAMD21J?

  • @abdullahnadeem1823
    @abdullahnadeem1823 Před rokem +1

    wow, this is the exact router I have. I'm actually surprised it works so well for such a cheap price

    • @myname-mz3lo
      @myname-mz3lo Před 10 měsíci +2

      its cheap because it has zero security lol

    • @abdullahnadeem1823
      @abdullahnadeem1823 Před 10 měsíci +1

      @@myname-mz3lo and zero functionalities 😅

  • @Eptapus
    @Eptapus Před 3 měsíci

    It would be nice to have a video where you edit the firmware and you flash it back to the device!

  • @nachiketathakur697
    @nachiketathakur697 Před 2 lety

    Great tutorial, thanks for sharing... just a question... I do not have the UART pins on the PCB. What options do I have?

    • @MehdiHacks
      @MehdiHacks  Před 2 lety

      Finding them is not very difficult. Do you have any pin headers on the board at all?

    • @pipony8939
      @pipony8939 Před 2 lety

      i also not have. how do i know what connect to what? and the usb i bought from adafruit doesnt says which is what

  • @miftahulfaris4400
    @miftahulfaris4400 Před 2 lety

    can CH341 also be used for UART?

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

    hello, is it possible to flash firmware in UART mode?

  • @alwill1016
    @alwill1016 Před rokem

    Hey guys by any chance does anyone know how I can pipe all the output from the terminal into a txt file on Linux. I've tried tee, >, >>, and script and still have yet to get the terminal output into a txt file.

  • @parvazno
    @parvazno Před rokem

    آفرین مهندس

  • @tamiriiiii
    @tamiriiiii Před rokem +1

    using UART access, if the device have telnet, but disabled, can we enable it !

  • @abdoubenadada7310
    @abdoubenadada7310 Před 2 lety

    can we extract the firmware of tplink td-w8961n v3 ?

  • @Ali-gj4du
    @Ali-gj4du Před 4 lety

    I liked it :)

  • @sebastianseng5278
    @sebastianseng5278 Před rokem

    what if i wanna save a project but i use free trial? can soone help

  • @nilmango675
    @nilmango675 Před 4 lety +1

    thanks a lot.
    how we can extract portable wireless modems firmware? (4G or TD/LTE)
    for example modems which is locked. i mean they restricted to work only with specific SIM Cards.

    • @MehdiHacks
      @MehdiHacks  Před 4 lety +2

      Well it depends on the modem. I don't know about your modem, but I have seen some that save all the required info on a config file. If you access it via UART, you can edit the file and bypass the limitations.

  • @neettalk
    @neettalk Před rokem

    Hi, I used 115200 Baud rate for UART, which is connected to the IP camera board, but as soon as I give the power, the putty window displays garbage values, need your inputs/suggestion

    • @JordanPlayz158
      @JordanPlayz158 Před rokem +1

      Sounds like you may have the baud rate wrong, there are not many standard baud rates so it should not take too long to bruteforce the right one.

    • @ClickClack_Bam
      @ClickClack_Bam Před 6 měsíci +1

      ​@@JordanPlayz158I second this for anybody reading this for future reference.
      I'm new at this but have seen that the wrong baudrate will give you garbage.

  • @amkoshesh6205
    @amkoshesh6205 Před 2 lety

    Flash file of other modems
    From which site should I get it?
    Free . Safe file .

  • @toncho1986
    @toncho1986 Před 3 lety

    Nice video, pal!!
    I have this question rolling in my mind: why is it so important to work on the firmware?Can we "attack" another thing?

    • @MehdiHacks
      @MehdiHacks  Před 3 lety +4

      Because the firmware contains the actual code, and it might be possible to find remote vulnerabilities and therefore attack other similar devices remotely. Another thing that you can try locally, is hardware fault injection (including voltage glitching, electromagnetic fault injection, etc)

    • @toncho1986
      @toncho1986 Před 3 lety

      @@MehdiHacks Thank you for replying!. Dude, how can i contact you?. I need to ask you some more questions about UART and firmware! :)

    • @MehdiHacks
      @MehdiHacks  Před 3 lety

      @@toncho1986 You're welcome. You can reach me via Twitter: twitter.com/mehdi0x61

    • @toncho1986
      @toncho1986 Před 3 lety

      @@MehdiHacks Dude, have you got any email?. I do not use Twitter :/

    • @MehdiHacks
      @MehdiHacks  Před 3 lety

      @@toncho1986 DF2HF[at sign]pm.me

  • @chachouamohamed8557
    @chachouamohamed8557 Před 11 měsíci

    hallo bro can help me for my TPLINK re 450 v3 ..it briked ... thanks bro video

  • @TouChA0
    @TouChA0 Před 2 lety

    can i cahnge the ip address of this retour using this method?

  • @user-oc1qh7pk1w
    @user-oc1qh7pk1w Před 2 lety

    impressive from Republic of Korea.

  • @Unknown2023_1
    @Unknown2023_1 Před 3 lety

    سلام ضمن تشکر از آموزش و اطلاعاتی که منتشر کردید . من بخوام با ماژول uart از یک مودم 4g دامپ تهیه کنم و سپس این دامپ و برگردونم رو یک مودم دیگه از همین مدل آیا امکانش هست ؟ یا نیاز به پروگرامر مثل اونی که شما تو فیلم استفاده کردید دارم ؟ با تشکر

    • @MehdiHacks
      @MehdiHacks  Před 3 lety +1

      سلام. بسته به مدل فلش ممکنه بشه با UART روش بازنویسی کرد ولی سرراست ترین روش استفاده از پروگرمر هست.

  • @bucketaos8066
    @bucketaos8066 Před 11 měsíci

    I am undable to enter into the shell, it keeps saying cmd is “echo “” > /etc/TZ”

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

    How do you identify which pin hole is for gnd, rx, tx, when there's nothing write on the pcb?

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

      Usually ground is the easiest to identify (simply using a multimeter's continuity mode, with other known grounds). RX and TX can be identified using multiple methods: one is to simply try (there's no harm in using them in the wrong order), second is to use a logic analyzer to "see" what's happening on the wire. I think some UART tools also can auto-discover it. Usually one has lots of data/activity going on, while the other is simply quiet, which means even a voltmeter can be used to identify RX (using fluctuations in the voltage)

  • @jayachandra677
    @jayachandra677 Před 3 lety +1

    Great video, Mr electroboom

  • @perinoveriza1658
    @perinoveriza1658 Před 3 lety

    More content about this

  • @Pinwiru
    @Pinwiru Před rokem

    pues el firmware de tp-link se puede bajar sin compilar

  • @linux-tut
    @linux-tut Před rokem +1

    Dump or Extract U-Boot from the running board.
    OR
    Dump memory to a file from the U-Boot console using the Memory Display command.
    This will be helpful in debugging in the situation like you have a board with U-Boot running and don't have the same version of U-Boot binary and want to test on another board.
    czcams.com/video/yDFMcBNGW3U/video.html

  • @fjfkfkdkdkdk
    @fjfkfkdkdkdk Před 3 měsíci

    Why not read the firmware via UART?

  • @carlosdevelop9296
    @carlosdevelop9296 Před 2 lety

    Is it possible to repair mi stick tv software with this method?

    • @MehdiHacks
      @MehdiHacks  Před 2 lety

      Hmmm. What do you mean? You can (re)write the firmware using SPI, if that's what you meant.

  • @gwyn7727
    @gwyn7727 Před 3 lety

    Is there a universal usb thing that supports jtag,spi,uart,rs232,i2c?

    • @MehdiHacks
      @MehdiHacks  Před 3 lety +1

      Yes. Bus pirate, Hydrabus, Shikra, Tigard, ...

  • @aminamiri8604
    @aminamiri8604 Před 3 lety

    plz upload more videos

  • @mjyanimations1062
    @mjyanimations1062 Před 3 lety

    Pretty sure eeprom isn't even a ROM. Its and can be erased and flashed many times. Data can be modified by the device itself, so its also used in microcontrollers to store data after power off.

  • @rohitdeswal1224
    @rohitdeswal1224 Před 2 lety

    Plz make more videos

  • @manasafarmandspringresort2577

    Hi sir do you have dump file ac23 english ver?

  • @tocube1
    @tocube1 Před 4 lety

    Cute ^-^

  • @hackwithprogramming7849

    Is python installed on that WiFi router terminal??? Plz anyone reply 🥺🥺🥺🥺🥺🥺🥺🥺🥺😭😭😭😭😭😭😭plz ?

    • @MehdiHacks
      @MehdiHacks  Před rokem

      To my knowledge, no.

    • @hackwithprogramming7849
      @hackwithprogramming7849 Před rokem

      @@MehdiHacks ok than tell me one thing which default programming language is there in that linux shell there. like in windows we have .VBS as default....... Except bash script

  • @seupedro9924
    @seupedro9924 Před 3 lety

    why not use V pin in UART?

    • @JordanPlayz158
      @JordanPlayz158 Před rokem

      I could be wrong but the VCC pin from UART is only needed if the device doesn't have its own means of providing power.

  • @manassehabraham5589
    @manassehabraham5589 Před 2 lety +1

    Nice video.....u sound like electroboom

  • @youtubbiz
    @youtubbiz Před rokem

    اینتر کیبوردت سالمه هنوز؟

  • @tocube1
    @tocube1 Před 3 lety

    آقا مهدی توییتر نداری فالو کنیم؟ توی about چنل چیزی نبود

    • @MehdiHacks
      @MehdiHacks  Před 3 lety

      سلام. انتهای متن ویدیو لینک توییترم رو گذاشتم (mehdi0x61)

    • @tocube1
      @tocube1 Před 3 lety

      @@MehdiHacks اع چه جالب. فالوتون داشتم از قبل. متشکرم

  • @bororobo3805
    @bororobo3805 Před rokem

    We found Electroboom's younger brother 🤣

  • @kattoOrSmthxD
    @kattoOrSmthxD Před rokem

    bro sounds like electrobooooooooooom

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

    IS THIS ELECTROBOOM ??? whats bro doing here

    • @MehdiHacks
      @MehdiHacks  Před měsícem +1

      Haha. My name is Mehdi and I sound like him, but I'm not ElectroBOOM

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

      @@MehdiHacks but youre still sus!! and also keep uploading vids

  • @eadge1999
    @eadge1999 Před rokem +1

    You talk for long time out side the core of the address

  • @arashlabaf2172
    @arashlabaf2172 Před 4 lety

    خب ویدئو فارسی هم بذار⁦☹️⁩

  • @rjbrake
    @rjbrake Před rokem

    derka derka

  • @iss_lily
    @iss_lily Před 11 měsíci

    SIMlock code of Huawei B5318-42