DNS Remote Code Execution: Finding the Vulnerability 👾 (Part 1)

Поделиться
HTML-код
  • Опубликовано: 23 окт 2024

Комментарии • 176

  • @aetheralldev
    @aetheralldev Год назад +25

    I love how this video starts by explaining what LAN is, and 2 minutes later it's binary reverse eng

    • @xephael3485
      @xephael3485 11 месяцев назад +3

      Yeah it goes from basic concepts to insanity and no time at all

    • @spookycode
      @spookycode 8 месяцев назад +1

      0-100 really fast

    • @lexolexoh
      @lexolexoh 4 месяца назад

      A fun roller coaster indeed

    • @Tobias-t3k
      @Tobias-t3k 2 месяца назад

      Its a video about finding vulnerabilities. You can't find vulnerabilities without reverse engineering and looking at the underlying code/machine instructions. Otherwise you are just a noob who uses templates based on other peoples work.

  • @thisisreallyme3130
    @thisisreallyme3130 Год назад +5

    Great format. This is so clearly described and spoken that I listened to it a SECOND time, as a “podcast”. Thanks for going that extra “kilometer” and describing what’s on-screen.

  • @DasIllu
    @DasIllu Год назад +43

    When you showed your "Fuzzer" i totally lost it. Haven't had such a good laugh in years in this topic.
    But if i think about it some more, it is just about perfect. Easily accessible (but not perfect) entropy to cause spasms in badly written code.
    Being more or less available on any machine with and OS (no, Windows is not an OS, it's malware) means you can do preliminary tests even in absence of your "fav tools".

    • @antiquark6253
      @antiquark6253 Год назад +2

      I didn't get the joke :( was the netstar + grep somehow the fuzzer? Bc it looks it's only returning a specific line of Info from the previous, full, netstat cmd. Not seeing the usefulness unless 'conn' is supposed to be significant and understood as the grep string prior to beginning

    • @DasIllu
      @DasIllu Год назад +2

      @@antiquark6253 piping /dev/urandom into a program was the fuzzer iirc.
      Urandom generates a never ending stream of random bytes. And like a thousand monkeys with a thousand typewriters, it will eventually come up with a sequence that breaks the program under test.

    • @antiquark6253
      @antiquark6253 Год назад +2

      ​@@DasIllu oh I see now, the multi tiled terminals had me confused to what he was referring to, but I never thought to use nc that way. Very cool trick thx for illuminating that

    • @dreamyrhodes
      @dreamyrhodes 3 дня назад

      @@DasIllu Nothing about a thousand monkeys here tho. It's just flooding the buffer with bytes until segfault, that's where he got a hint that there might be a buffer overflow (segfault means you're writing crap into memory where you're not supposed to write to as allowed by the kernel so the kernel kicks you out). The actual content of the input stream doesn't matter as it's just random bytes.

  • @adama7752
    @adama7752 Год назад +56

    Excellent documentation and walk through. I love your stuff.

  • @Eqqie-p5u
    @Eqqie-p5u Год назад +5

    Can't wait to see the detailed analysis of Part2.

  • @swaggington
    @swaggington Год назад +4

    Waiting for part 2! Amazing work!

  • @blvckgames3381
    @blvckgames3381 Год назад +2

    hell I really appreciate what this guys are doing, because I don't understand 70% of what they are talking about. There is soooo much to learn and it seems scary 🤯

  • @-Ncrypt
    @-Ncrypt Год назад +10

    Incredible work. I'm blown away to see this entire research from start to finish, including the thought process. Well done. I hope to one day be able to do what you do!

  • @0x0456
    @0x0456 Год назад +2

    Glad to see you back :)

  • @Mr_Magnetar_
    @Mr_Magnetar_ Год назад +5

    w8 for second part. Thanks!

  • @brotatobrosaurus5411
    @brotatobrosaurus5411 Год назад +23

    Regardless of the exploit, it's pretty disturbing that stock router firmware is spamming DNS requests to arbitrary commercial domains, just to blink an LED light...

  • @RealCyberCrime
    @RealCyberCrime Год назад +8

    I’m thinking about making a similar video but mine are done in documentary format‼️

  • @twitchtwitch9006
    @twitchtwitch9006 Год назад +4

    keep up the great work. sometimes people feel like so many things are common sense and dont explain the things that help people understand stuff. thank you for such a detailed video

  • @soaphornseuo8630
    @soaphornseuo8630 Год назад +3

    This is what I have been waiting for a long time

  • @Marty_YouTuber
    @Marty_YouTuber Год назад +1

    i have been trying to get into this for the long time. i feel like i don't understand programming which makes hacking so difficult. i love your moto at the end. i love the training at the end you talked about. i need to spend a lot more time getting a better understanding of programming so i can understand how to do what your trying and make money ethical hacking.

    • @M4D4F4K4.
      @M4D4F4K4. Год назад +3

      The chances are slim to none unless you get a degree lol although they hire people who don’t have one, they are talented ones who just moves to action when others thinking how to get into this 😂

    • @Marty_YouTuber
      @Marty_YouTuber Год назад +1

      @@M4D4F4K4. i am hopeless. i will figure something out.

  • @lookitsahorner
    @lookitsahorner Год назад +29

    It's shocking how it's making unsolicited DNS queries for random domains for completely unrelated companies. Concerning. If I was watching the WAN and saw these random requests coming from a router, I'd be concerned it was compromised in some way, not operating normally with stock firmware...

    • @lukasandresson3990
      @lukasandresson3990 Год назад +3

      Ghidra makes it easy to reverse engineer. You would think there would be standard practices on operational flow that prevents the behaviour. Standard Libraries for dns handling.

    • @FlashbackTeam
      @FlashbackTeam  Год назад +21

      conn-indicator needs to know when it has network connectivity, and the programmers chose this way to verify it. This is normal, and in this specific case quite benign in our opinion, as the DNS domains it is trying to query are well known.
      The mistake here was to make their own DNS parser (why TP-Link? WHY???). They could have used a shell script and standard utilities for checking connectivity, and a separate binary for controlling the LED lights!
      If this makes you worried, then have a look at what your phone, Windows or MacOS computer is doing for the same connectivity checks, without any user program running or any kind of user interaction, you will be VERY surprised 🙈

    • @friedrichhayek4862
      @friedrichhayek4862 Год назад

      @@FlashbackTeam As a Linux user, no idea how it does the check, likely it will not be google.

  • @devanshujain3222
    @devanshujain3222 Год назад +2

    Found Your channel from @liveoverflow
    Great Content 🙌🙌

  • @jaopredoramires
    @jaopredoramires Год назад +8

    Hyped for the second part, hope it comes soon!

  • @dineshvlog369
    @dineshvlog369 Год назад +4

    Excellent documentation we want 2part😊

  • @silfvro1963
    @silfvro1963 Год назад +1

    Awesome stuff! waiting for the 2nd video.

  • @yourlinuxguy
    @yourlinuxguy Год назад +1

    Nice video, added this to my watch list, will comeback and share my thoughts, for the time being its time to work.

  • @snowdaysrule
    @snowdaysrule Год назад

    I don't think I've ever said "Oh my God you can do that?!" so many times while watching a video haha. Amazing stuff

  • @sanfordfloridarepairs9668
    @sanfordfloridarepairs9668 Год назад +2

    I have no clue wtf your saying half the time but, I still watch hoping something will stick. something better than nothing, right? I love hearing the actual thought process of the hack as if you're going threw it for the first time. I like this very much.

  • @siolagetsirave2311
    @siolagetsirave2311 Год назад +1

    Hi.
    I’m Japanese, and I could understand your video because of your very smart and cool presentation.
    Thank you for uploading this video!
    (I’m sorry about being not good at English.)

  • @flrn84791
    @flrn84791 Год назад +1

    Can't wait for part 2! :)

    • @FlashbackTeam
      @FlashbackTeam  Год назад +1

      It should be out very soon. We are on the last stretch in recording.

  • @XYZ56771
    @XYZ56771 Год назад

    Love your voice, is so soothing for teaching/learning. Thanks!

  • @hacorial
    @hacorial Год назад

    You are a legend people. Proud of taking your courses.

    • @FlashbackTeam
      @FlashbackTeam  Год назад +1

      We're not affiliated with TryHackMe and have not developed any courses or tutorials for them :-)
      Our courses are developed and taught by us privately, check flashback.sh/training

  • @MykolaTheVaultDweller
    @MykolaTheVaultDweller Год назад +1

    Wooowww amazing!!!! But how did you run MIPS executable on PC? Or you we're was on target via ssh?

  • @LinuxCoder-Root
    @LinuxCoder-Root Год назад +1

    I appreciate every video in this channel, This is very useful. Thank you, guys.

  • @zhengren8461
    @zhengren8461 Год назад +1

    This is the most realistic and valuable hacker video I have ever seen

  • @tabycatkitty4126
    @tabycatkitty4126 Год назад

    Crazy ammount of research, good job

  • @0xkavish
    @0xkavish Год назад +1

    This is what we are looking for, nice job . Keep it up. Happy hacking

  • @dpk3090
    @dpk3090 Год назад +30

    Best hackers from pwn2own 😊

  • @PwnySlaystation01
    @PwnySlaystation01 Год назад +1

    Awaiting part 2!

  • @matthewbascom
    @matthewbascom Год назад +3

    Nice presentation. You touched on a couple points that are just outside my full understanding. Specifically, at the segmentation fault, what makes a memory address "unmapped". Is it unmapped because it is outside the allocated stack frame? Anyway, really nice work! Thank you.

    • @FlashbackTeam
      @FlashbackTeam  Год назад +8

      Hi Matthew, glad you liked the video!
      You are correct. When a program starts, it allocates ("maps") memory ranges for the stack, the heap, libraries, the executable code, etc.
      These regions are not contiguous in memory. For example let's say a stack of 0x1000 in size, mapped in memory starting from 0x10000, which means its range is 0x10000 to 0x11000. Then we have a heap of size 0x1000, which is mapped at 0x12000 to 0x13000.
      In this example, if we try to access memory at 0x11001, it will cause a segmentation fault, as that memory is not mapped to either the heap or the stack.
      This was exactly what happened in the example in the video, albeit with different (more realistic) addresses.

  • @zeekertron
    @zeekertron 5 месяцев назад +1

    Amazing video. Subscribed

  • @Thomas0x00
    @Thomas0x00 Год назад +1

    So awesome that you guys share this knowledge, really, keep up the great work!

  • @comosaycomosah
    @comosaycomosah Год назад +1

    lmao i love these videos you two are relatable yet much smarter...ive learned quite abit watching you guys thanks💯

  • @man0warable
    @man0warable Год назад +10

    It didn't occur to me until watching this video, but AI would be amazing at reverse-engineering like this. Renaming functions and variables and creating comments based on context is already so close to how AI models interpret code.

    • @skeeberk.h.4396
      @skeeberk.h.4396 Год назад +3

      Catch up, Ppl been doing this ever sense chatgpt hit the streets

    • @maktiki
      @maktiki Год назад +1

      AI has not catched up to thinking like this.

    • @skeeberk.h.4396
      @skeeberk.h.4396 Год назад

      @@maktiki Lol , Yes it did, There plenty of Plugins that do just That Already

    • @azurescenss
      @azurescenss Год назад

      I feel like half of the hacking attempts at this point are *most likely* made by AI botnets that are programmed to execute these types of attacks using rogue / zombie ip's that operate on virtual machines that can't be traced.

    • @skeeberk.h.4396
      @skeeberk.h.4396 Год назад

      @@azurescenss 💀🧢

  • @Gabriel-kz8ns
    @Gabriel-kz8ns Год назад +3

    Amazing work... !

  • @zhykollJ
    @zhykollJ Год назад +1

    Thanks so much, we are learning! 😍

  • @memy4460
    @memy4460 Год назад +1

    After the first 30 seconds, I subed and liked the vid.

  • @vaisakh_km
    @vaisakh_km Год назад +2

    Your thumbnail is shokingly un clickbaity for sucha good video...

  • @HelloworldXY32
    @HelloworldXY32 Год назад +1

    Can't wait until the second part pops out. I really want to hit the ground running with this kind of exploitation

  • @Dropshock20XX
    @Dropshock20XX Год назад +1

    The jump scare at 1:21

  •  Год назад +1

    Waiting for part 2!

  • @Thattipp
    @Thattipp Год назад +2

    Smart fridge 😂 01:32

  • @squid13579
    @squid13579 Год назад +1

    Vamos 🔥🔥🎉

  • @sinancetinkaya
    @sinancetinkaya Год назад +3

    Vendor-supplied router firmwares that use ancient kernel and code is commonly recognized to be insecure. This is why I always use OpenWRT

  • @khanhtaquang5204
    @khanhtaquang5204 Год назад +1

    Very appreciate your sharing

  • @tonycamposmejia7024
    @tonycamposmejia7024 Год назад +1

    Thanks for sharing

  • @kurtlester7613
    @kurtlester7613 Год назад +1

    Thanks this was very helpful! I wonder why they used DNS instead of ICMP? Surely DNS was never intended for such things?

    • @khatharrmalkavian3306
      @khatharrmalkavian3306 Год назад

      More and more places blocking ICMP these days. Moreover, even if they wanted to ping a well known CNAME, it would still require a DNS query, so just doing the query is more efficient, since it's only checking for connectivity.

  • @learnprogrammingwithsam5080
    @learnprogrammingwithsam5080 Год назад

    this is cool. what O.S are you using though

  • @alvinrock7190
    @alvinrock7190 5 месяцев назад +1

    Thanks a lot!

  • @johnybonny8262
    @johnybonny8262 Год назад +1

    Best series ✨

  • @cleatus232
    @cleatus232 Год назад

    It seems almost impossible for a regular person to be able to protect themselves over someone accessing their computer or phone. After having all of my data stolen from a big tech company it has been so difficult to feel safe.

  • @Brather2
    @Brather2 Год назад

    I won the last 3 years WASP competition, but my method for doing this cannot be disclosed because of the damage it will cause, here is a sample of what i know: bluetooth follows the standard made by cisco on their routers where you make one the master the rest just follow. the same applies in Bluetooth yet here the clients that connect allow you root access to them as the technology defined.

  • @antiquark6253
    @antiquark6253 Год назад +2

    I feel like $20k is a paltry sum to pay hackers for a hardware (firmware?) Bug on a device sold to hundreds of thousands of people

  • @jboss1073
    @jboss1073 Год назад +1

    If the CPU used by a server had as its lowest-level language a managed language, say for instance a Lips CPU, where there is no memcpy and other such potentially bug-infested C code behind the Lisp code, then how would you find a vulnerability?

  • @bnk28zfp
    @bnk28zfp Год назад +1

    thank you for your hard work!!!!

  • @maxxxb4uh4us80
    @maxxxb4uh4us80 Год назад +4

    Isso sim é qualidade parabéns

  • @onlyplaysveigar7241
    @onlyplaysveigar7241 Год назад

    Can you link the video you recommended that we watch on the beginning of the video?

  • @noredine
    @noredine Год назад +1

    Seeing my exact router in this vid is funny and terrifying

  • @olivierlasne2346
    @olivierlasne2346 Год назад +1

    Thank you for this

  • @sas408
    @sas408 Год назад +4

    TP-Link be like:
    - Unit testing? Nah bro, we in China trust each other

  • @harbibo
    @harbibo Год назад

    what a nice research

  • @marcusaurelius3487
    @marcusaurelius3487 Месяц назад

    So, if we reduce everything, it is basically as many other vulnerabilities: The software does not check the size, it assumes that it will be as intended, in this case placing it into a fixed size variable. So an input validation error?

    • @FlashbackTeam
      @FlashbackTeam  Месяц назад

      At the end if the day all is the same. Find vuln get RCE :p

  • @Marty_YouTuber
    @Marty_YouTuber Год назад

    i watched the video, but i feel sad i am understanding very little. i didn't know you had a real world hacker course.

  • @fullpower8382
    @fullpower8382 Год назад

    I have a Question for Experts what I can not extract from that what is. My Provider had a Damage in a Knot where a Car crashed in.... first the internetconnection was lost, a few Minutes....after That it was ok for a few Minutes.... then it crashed again and was a longer Time out of Order. Since that I can not connect my Handy and my TV but every other Device works as usual. One Thing is that my Handy and the TV dont find the Port anymore... How is that possible?

  • @nickmalone3143
    @nickmalone3143 Год назад

    What toolsets(s) are you using ie caller??

  • @antiquark6253
    @antiquark6253 Год назад

    At 6:50 you mention that you're using gdb while having a laugh for your buddy who uses a 'lame java's one, were you referring to ghidra? Lol

  • @davidsantos1630
    @davidsantos1630 Год назад

    The best Pedro.

  • @RandomGeometryDashStuff
    @RandomGeometryDashStuff Год назад +1

    why does conn-indicator need to parse dns response?
    can't it just receive response, ignore contents, turn on LED?

    • @FlashbackTeam
      @FlashbackTeam  Год назад +2

      How would it know it received a valid response to its request if it doesn't parse it?

  • @NIKHIL-yl1ws
    @NIKHIL-yl1ws Год назад +1

    Which OS you are using?

    • @FlashbackTeam
      @FlashbackTeam  Год назад +1

      Pedro prefers Debian, and Radek likes Ubuntu more.

  • @azizamanaaa6006
    @azizamanaaa6006 Год назад

    Please release a course in hacking please i want to learn or atleast link a good course that is useful to learn deep hacking please!!

  • @g4t375
    @g4t375 Год назад +1

    LETS GOOOOOOOOOOOOOOO i love yall

  • @Ivo--
    @Ivo-- Год назад +1

    Part 2 when? :D

  • @alimustafa2682
    @alimustafa2682 Год назад +1

    Amazing !!

  • @duntarigaming7624
    @duntarigaming7624 Год назад

    Thats another lvl...

  • @draxler.a
    @draxler.a Год назад +2

    we're waiting for the part 2 for 2 week 😭😭

    • @huskytail
      @huskytail Год назад +1

      Just came here to find it but I will have to join the queue waiting for part 2 😅

    • @draxler.a
      @draxler.a Год назад +1

      ​@@huskytail 3month of waiting
      im not interested anymore
      i well unsubscribe they don't respect us ....

    • @huskytail
      @huskytail Год назад

      @@draxler.a I must confess I had even forgotten about it.

  • @RandomGeometryDashStuff
    @RandomGeometryDashStuff Год назад

    16:59 does offset to name point to start of length+string or can if point to another compression mode?

  • @Byteswap
    @Byteswap Год назад

    Anybody knows which code editor he is using there?

  • @wasekaug
    @wasekaug Год назад +3

    Watching this makes me feel mad and dumb. This is like an art that I just can't seem to get. How do you learn all of this?!

    • @FlashbackTeam
      @FlashbackTeam  Год назад +4

      In our course :D
      But honestly, if you don't know the basics of assembly, scripting and Linux command line, you will get lost.
      The best book to learn reverse engineering ("Reverse Engineering for Beginners") is completely FREE: beginners.re/
      Once you master the basics, come to our course and we will teach you how to find and exploit vulnerabilities in real embedded devices!

    • @wasekaug
      @wasekaug Год назад +1

      @@FlashbackTeam thanks for this, I will definitely check it out

  • @markc6714
    @markc6714 Год назад

    Just another example of cops thinking they're above those they're supposed to serve

  • @zakariahmimssaelfakir3325
    @zakariahmimssaelfakir3325 Год назад

    What knowledge should i have to understand this video ??!!

  • @FromRootsToRadicals_INTP
    @FromRootsToRadicals_INTP Год назад +1

    Excellent on how to also think it up. Not just run some tools.

  • @user-ju8km5hl8e
    @user-ju8km5hl8e Год назад +1

    The best

  • @georgewbushcenterforintell147
    @georgewbushcenterforintell147 Год назад

    Why RUclips am recommended video this me not know but watch interesting brain capacity limited open to expansion thank you I will sub

  • @LifeChanger_._
    @LifeChanger_._ Год назад +1

    I do not understand, so you need to hack the router physically before you can do all this right? If true, how when you don't have access to routers in other places.

  • @zeeshawnali4078
    @zeeshawnali4078 Год назад

    Where is part 2?

  • @jeffersonmarques3843
    @jeffersonmarques3843 Год назад +1

    part 2 ??

    • @FlashbackTeam
      @FlashbackTeam  Год назад +1

      soon. It takes a lot of time to record and we are super busy. Subscribe if you don't want to miss it.

  • @_wanteed8618
    @_wanteed8618 Год назад

    looks like dns reading memory overflow

  • @1337BR3AK
    @1337BR3AK Год назад +1

    🖤

  • @anonim5052
    @anonim5052 Год назад

    Where is the second part?

    • @FlashbackTeam
      @FlashbackTeam  Год назад +1

      We are still working on Part2. You can subscribe not to miss when we release it.

    • @anonim5052
      @anonim5052 Год назад

      @@FlashbackTeamok thank you :)

  • @augusto256
    @augusto256 Год назад +1

    This is 💎

  • @53buahapel
    @53buahapel Год назад +2

    🤓🤓🤓🤓

  • @pppkenken6610
    @pppkenken6610 Год назад +1

    Exploit machine language x000x

  • @bofeng6910
    @bofeng6910 Год назад

    where is part2? ❤

    • @FlashbackTeam
      @FlashbackTeam  Год назад

      We are still working on Part2. Will be released as soon as we have finished it.

  • @eyesoffloraandfauna8728
    @eyesoffloraandfauna8728 Год назад

    Is it possible to hack any website without getting caught?

  • @kevinhernandez-uw7ox
    @kevinhernandez-uw7ox Год назад

    No mamen están cabrones