Basic Buffer Overflow - VulnServer TRUN

Поделиться
HTML-код
  • Опубликовано: 10 окт 2024
  • To help support me, check out Kite! Kite is a coding assistant that helps you faster, on any IDE offer smart completions and documentation. www.kite.com/g... (disclaimer, affiliate link) Come play the GuidePoint Security Capture the Flag! go.guidepoints...
    Hang with our community on Discord! johnhammond.or...
    If you would like to support me, please like, comment & subscribe, and check me out on Patreon: / johnhammond010
    E-mail: johnhammond010@gmail.com
    PayPal: paypal.me/johnh...
    GitHub: github.com/Joh...
    Site: www.johnhammond...
    Twitter: / _johnhammond

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

  • @signum42
    @signum42 3 года назад +58

    Fantastic video. Appreciating the "slow pace"

  • @mattstorr
    @mattstorr 3 года назад +76

    This is by far the simplest and logical walkthrough of buffer overruns and how to exploit them that I've seen. I really appreciate the pace (I dont care that it was long) as you covered each part. I understood everything except the struct and little endian elements. I guess I have some reading to do :-)

    • @martinndzelen88
      @martinndzelen88 3 года назад

      same here i got lost around there

    • @jonaskoelker
      @jonaskoelker 3 года назад +15

      Little vs. big endian, two minute edition: when you write numbers, like 123 (= 1*100 + 2*10 + 3*1), you write the 3 in the ones place last, and the 1 in the biggest place (here 100s) first. That's big endian. If you write the ones place first and the biggest place last, e.g. write 321 to mean 3*1 + 2*10 + 1*100, that's little endian.
      The particular number we're looking at in the code, 0x62501203, is currently in big endian. What the particular step is about is converting it to a 4-digit base-256 number written in little endian (in python's `bytes` type).
      If you just want to do the conversion by hand, from int to int, you can just put in 0x03125062. Notice how each pair of hex digits has been swapped by its opposite: first and last swap, and the middle two swap. Each pair of hex digits corresponds to a single digit in base 16*16 = 256.
      Python v3.2 and newer has a `.to_bytes` method on int objects, so you could also do `(0x62501203).to_bytes(4, byteorder='little')` and get the desired result.

    • @derekrickmon5316
      @derekrickmon5316 2 года назад +2

      You don't understand something until you can explain it simply.

  • @fhajji
    @fhajji 3 года назад +8

    Love the slow pace and crystal-clear explanations. Easy to understand and follow.

  • @collapzcursed
    @collapzcursed 3 года назад +6

    Came in here with very minimal (to non-existent) understanding of bytecode and memory-buffers ... just let me say that you did an absolutely amazing job at explaining the whole of it and how each aspect works and interacts with each other.
    All of that in just about an hour. "Slow pace", yeah right.
    You're a great teacher and a real blessing for those willing to learn.
    I've watched a few CTF videos and miscellaneous stuff of yours but after this one you got yourself that +1 "plzsub" :D!
    Keep up the great work, John!
    It is greatly appreciated.

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

    This is by far the best video i ever saw regarding buffer overflows and how to exploit them. This is a must see for every security researcher.

  • @adminservice9459
    @adminservice9459 3 года назад +5

    You're an awesome instructor, I commend you for humbling yourself and breaking everything down in simple terms vs your knowledge level lol. Thx man

  • @liquathrushbane2003
    @liquathrushbane2003 3 года назад +2

    Beginner here - not sure why you built the nop_sled, but the rest of it made perfect sense. Thank you.

    • @avananana
      @avananana 3 года назад

      I'm no genius but as far as I know, nop sleds are used to guide the program to execute code when you don't know exactly where the code lies but you know the rough area. In this case you knew exactly where to go so the nop slide was indeed kind of useless, but I do believe he brought it up only so we could know it's a thing.
      The reason your malicious code could lie somewhere else in the system is if it didn't fit inside the initial payload, where the code itself is another payload and ended up going somewhere else in the system. A way to reach the code is by putting a long nop slide infront of it and initiating a jmp instruction somewhere inside the nop slide. This way you don't have to know where the code lies, only roughly where it is.

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

    Thank you so much for this tutorial. You have explained it very clearly and easy to follow. Buffer overflow is the topic that made me think twice to continue pursuing cybersecurity. But there you are. Life saver. Dream Saver! Thank you so much for this tutorial.

  • @kameronwilliams723
    @kameronwilliams723 3 года назад +6

    The way you broke that down to where a complete beginner like myself could grasp it is a real talent.

  • @HaouasLeDocteur
    @HaouasLeDocteur 3 года назад

    I can’t believe I just sat through a 1h video and it was the greatest thing I’ve seen all day. Loved, loved it!

    • @pdemosllegaralos520subs2
      @pdemosllegaralos520subs2 3 года назад

      Really enjoyed it, I tried this once prior to watching this and realized where I stuffed up. (little endian addr), the mona script helps ALOT.. thanks.

  • @krist81
    @krist81 2 года назад

    Thank you. The way you explained and demonstrated everything made so many different pieces finally come together for me. Ty

  • @aaronw6195
    @aaronw6195 3 года назад +1

    This may have been one of the best videos I've ever seen on how to exploit a buffer overflow. The technique of writing the code from scratch to do this in python was super helpful! Thanks John!

  • @theITGuy-no3nt
    @theITGuy-no3nt 3 года назад +2

    I have watched a ton of your videos over the past few week, but this is my favorite. Watching you work through that was super instructive and downright entertaining. ⭐⭐⭐⭐⭐

  • @moonshiry
    @moonshiry 3 года назад

    You are amazing my dude, I love how you really went step by step and didn't gloze over anything. Especially the programming and immunity debugger parts. (which is practically everything). This teaching style trumps university professors

    • @bmbiz
      @bmbiz 3 года назад

      Please refrain from using the word "trump(s)". It triggers my PTSD. ;)

    • @ldSt3345
      @ldSt3345 2 года назад

      @@bmbiz please refrain from writing such terrible comments. It triggers my triggerinator.

    • @skreet7251
      @skreet7251 2 года назад +1

      @@ldSt3345 please refrain from being a bub it triggers my bob

  • @AvinashKumar-fe8xb
    @AvinashKumar-fe8xb Год назад

    love you john hammond, I learned so much feel like i should dive more into buffer overflow after practically doing it myself along with you. Thank you!

  • @HuntingKingYT
    @HuntingKingYT 3 года назад +14

    Tip: you can use the instruction int3 (0xCC) to make a debug breakpoint, then you can see much faster when the exploit occurs.

  • @atharvakadlag1937
    @atharvakadlag1937 3 года назад +1

    Now that i have spent weeks understanding buffer overflow, everyone has started making awesome videos on that topic

  • @danielallan3417
    @danielallan3417 3 года назад

    Unreal mate, I rarely comment but you have imparted your knowledge with exceptional skill!! I absorbed it all so easily!!! Awesome.

  • @kapalov
    @kapalov 3 года назад +1

    Finally, the only video where it really clearly explains about BoF. Thanks

  • @saurabhshinde1855
    @saurabhshinde1855 2 года назад

    Most simple and comprehensive walkthrough of buffer overflow.. Really liked and understood it.. keep it up john

  • @emT__T
    @emT__T 3 года назад +2

    Thank you John for the great video. Super Informative! The "beginner" approach is much appreciated.

  • @TheHangman1995
    @TheHangman1995 3 года назад +1

    This and TCMs buffer overflow are my go to when I need to do BOFs

  • @KaranveerSingh97
    @KaranveerSingh97 2 года назад

    Well, understanding computer architecture is super important for understanding and making these exploits. Great video!

  • @nicklevson9608
    @nicklevson9608 3 года назад +1

    This was the most in depth explanation I have seen so far. Thank you!

  • @oscpjourney541
    @oscpjourney541 3 года назад +5

    I can't say BIG THANK enough I have watched many videos about this BOF but this one one I get some hints Be blessed John

  • @normanalc3115
    @normanalc3115 3 года назад +15

    You're legend mate! I learned a lot from this video. You've explained it very well 5 star for you 🌟🌟🌟🌟🌟

  • @Cyberducky
    @Cyberducky 3 года назад

    I recently fell in love with your videos. I'm still a student but I hope that one day I'll have such a deep understanding as you have.

  • @Foxy10-b6n
    @Foxy10-b6n Год назад

    Tremendous help and fantastic write up, worked perfectly!

  • @KieCodes
    @KieCodes 3 года назад +1

    That was an amazing video. It really helped that you created everything by hand without using too many tools to shorten the process. Thanks a lot!

  • @ronorocky
    @ronorocky 2 года назад

    from couple of weeks i was searching for some good practical for buffer overflow, and seriously man u made it so easy with the python script, the end was awesome when you get the meterpreter, love u man ❤️ keep doing this gr8 work.

  • @dopy8418
    @dopy8418 3 года назад +16

    Pretty cool diversity of clips. Can’t wait for some more koth.

  • @ping9940
    @ping9940 3 года назад

    i dont know any thing about this and i was hooked for the whole video this was an amazing explanation i felt like im understanding every thing thou i'll forget all of it by the next hour :D

  • @aaaaaaaaaaaaaaaaaaaaaaaa997
    @aaaaaaaaaaaaaaaaaaaaaaaa997 2 года назад

    Great video. Thanks for the slow pace.

  • @swyveu
    @swyveu 2 года назад

    blown away... and great teaching skills !

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

    Tip, you can use python to generate a list of 2984 different 4*characters by using random and a dictionary to retrieve it. Great Video John, keep it up

  • @MatteoGariglio
    @MatteoGariglio 3 года назад +1

    What you manage to do is insane... it seems almost magic. Thanks for sharing. Hope to see other exploits like this (using buffer overflow). Cheers!

  • @jacksmith3183
    @jacksmith3183 3 года назад

    Really enjoyed it, I tried this once prior to watching this and realized where I stuffed up. (little endian addr), the mona script helps ALOT.. thanks.

  • @stuarthook6226
    @stuarthook6226 3 года назад

    Thanks so much for this video. I was able to do BOF very easily after your video.

  • @padaloni
    @padaloni 3 года назад

    This is a really good explanation of how to do the BOF on certain exams. I already knew how to do this, but I learned a few things on the way. love your work bro

  • @farouqseriki5942
    @farouqseriki5942 2 года назад

    Hello, i had spent hours searching for a fix that would work for python3, then i found this video. Thanks so muchhhhhh

  • @chrishammer5925
    @chrishammer5925 3 года назад

    Perfecto... I learned Buffer Overflows once 5 months ago and taking my OSCP soon. About to jump into these again to do over and over for the test. Perfect timing mate!

  • @Novastuffnow
    @Novastuffnow 3 года назад

    I still don't fully understand buffer overflows but I'm way closer now, thank you!

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

    This was a fun watch, since i had little knowledge of Fuzzing or buffer overflow i didnt know they were related, but oberflow does kinda work how i thought. Now i have something else to mess with and try to practice 😂

  • @AFchump78
    @AFchump78 3 года назад +1

    Thanks alot John! I was able to do it and this should help with the upcoming eCPPT retake. It was down to the wire and i couldnt connect with the one i built. See the mistakes now.

  • @glennbogaerts7914
    @glennbogaerts7914 3 года назад +1

    This was a very clear and well explained video. Great job John

  • @AC-dw8cs
    @AC-dw8cs 3 года назад

    i wish i found your channel sooner. GJ!

  • @jorgevilla6523
    @jorgevilla6523 3 года назад

    Wow great Video!! Love the slow pace and explanation.

  • @inkotanyi.9185
    @inkotanyi.9185 Год назад

    I salute you, Sir!🙌

  • @bbowling619
    @bbowling619 3 года назад

    Its a super fast pace for me but i keep grabbing onto the handle bars everytime he posts and am fully enjoying this circus ride :)
    I genuinely cant get enough.
    Please be my boss John !?
    I would literally enjoy having you boss me around (not in a wierd way) but i want to sponge you.
    No i did not say spoon you hahah :)
    Your teaching skills are super amazing but your brain is the jam!
    Totally digging your skills dude.

  • @zelalemabate3804
    @zelalemabate3804 2 года назад

    Awesome walkthrough, thank you!

  • @Construction-agencyCoUk
    @Construction-agencyCoUk 3 года назад

    Woah! watched the whole video and learned alot ! Thanks John

  • @aymenahdibi1251
    @aymenahdibi1251 3 года назад +1

    Awesome john i really love your content . never got bored watching your videos till the last second
    Keep up the good work ★

  • @jerryjohn2655
    @jerryjohn2655 3 года назад

    Thank you so much John

  • @nuridincersaygili
    @nuridincersaygili 3 года назад

    This is pure gold..

  • @parthghughriwala6799
    @parthghughriwala6799 3 года назад

    God level tutor!

  • @anuragyelala6952
    @anuragyelala6952 3 года назад

    Fantastic! thank you John, so many bits and pieces are clarified with your video.

  • @vaskomarinov7042
    @vaskomarinov7042 3 года назад

    !GOLDEN CONTENT!

  • @frosecold
    @frosecold 3 года назад +6

    1:00:33 I literally said WOOOW, so cool!

  • @somekindofbluestuff
    @somekindofbluestuff 3 года назад

    such a great video! thank you john!!!!

  • @Jan_Seidel
    @Jan_Seidel 3 года назад +1

    *Perfect* lesson :)
    Three thumbs up

  • @pinglollo6283
    @pinglollo6283 3 года назад

    Awesome video John, great explanation and demonstration. thanks for uploading.

  • @mariorodriguez474
    @mariorodriguez474 3 года назад

    what a great trip! great job!

  • @ivanlopez8377
    @ivanlopez8377 3 года назад

    Man, thanks for putting this together.

  • @antdgar
    @antdgar 3 года назад

    Great explanation

  • @saurabhkumar1976
    @saurabhkumar1976 3 года назад +1

    Thank you for this video , i learnt a lot 🙂

  • @FreezeLuiz
    @FreezeLuiz 3 года назад +6

    Great vid, John. Can you make a video on a more challenging scenario; where you have IP overwrite however the buffer size is very small to fit the shellcode?

  • @abdallahchbaro836
    @abdallahchbaro836 3 года назад

    Thank you so much. Spike section was a bit complicated. And you don't need to generate all the characters, you can find them on github

  • @HK-sw3vi
    @HK-sw3vi 3 года назад

    this is a banger! I'm new and it made perfect sense

  • @johnsnow1062
    @johnsnow1062 3 года назад

    Thank you so much. Was so lovely and helpful. Please continue.

  • @martinndzelen88
    @martinndzelen88 3 года назад

    i appreciate did learn a lot . You're fast in scripting for a beginner to catch up

  • @merajrabbani
    @merajrabbani 3 года назад

    Brand New stuff for me well explained. Got overall concept of BOF.

    • @pdemosllegaralos520subs2
      @pdemosllegaralos520subs2 3 года назад

      Thanks a lot!
      This is an amazing insight - i allways wondered how an overflow leads to execution :-p

  • @nikolas8741
    @nikolas8741 3 года назад

    I got a meterpreter!😃 thanks soooo much!

  • @Topherelius
    @Topherelius 3 года назад +1

    That was amazing and super informative. Thanks John!

  • @frollard
    @frollard 3 года назад

    I'm reminded of MC Frontalot - Zero Day, nerdcore song about hacking and exploits - always kinda made sense but this video gave a real example. (also recommend frontalot to all the nerds in this chat).
    "Found this bug on my own, no need for a fuzzer.
    'It’s already too late' spreading as we planned.
    No need for the NO OPs, I know just where to land.
    Clearing out the registers, with pointers to my functions,
    loaded to your memory and writing new instructions.
    Braindump i/o, siphoned out the eye holes;
    enticed so i’m digging through the disassembled byte code.
    Push pop change order stack frame FILO
    filesystem inodes, all fall to my flow.
    Running over, there again i go:
    self-propagation engine, polymorphic sideshow.
    Every network, we’re found to get around...
    the exploit payload encoded in this sound.

  • @Hey-qo2zl
    @Hey-qo2zl 2 года назад

    Great to have awesome persons like you to help people to learn and much appreciate that you share your valuable knowledge. I am studying OSCP and planning to attend the exam and get the certificate and for sure I will follow your great videos to learn and learn but what make me confused like what is the best to practice for exam HTB or the offensive lab or any other resources and what is the best to study materials first then start practice over and over or study and practice in same time ?!
    We are very lucky to have a person like you to learn from.May god bless you and much appreciate

  • @adamkadaban
    @adamkadaban 3 года назад +4

    The beard looks absolutely epic

  • @LDowning0190
    @LDowning0190 2 года назад

    Amazing video! Thank you.

  • @m3tac0m
    @m3tac0m 3 года назад

    I love exploit development. Very well explained.👍

  • @robertron5303
    @robertron5303 3 года назад

    Really appreciate your vids man! 👍 even tough I stopped coding a couple of years ago you engage me to catch back up and attend my first upcoming ctf events. Cheers

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

    I’m not great with pentesting but anything I’ve encountered in the cybersec field this far I’ve been able understand with enough studying. Buffer overflow is the exception, I can wrap my head around the theory, I can even follow along your with steps and “understand” but I could never do this exploit on my own. This is at least my 4th time coming back to BOFs to hopefully understand and I just can’t get it.

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

      And I want to clarify that this is an excellent video I’ve watched multiple times all the way through. Blame is not on the instructor but on the student, it’s just a bit over my head.

  • @000t9
    @000t9 3 года назад

    I am totally noob in binary exploitation and thank you again !!!

  • @ketononeill8898
    @ketononeill8898 3 года назад

    Awesome video. You made this pretty easy to understand! Thank you

  • @namankumar5464
    @namankumar5464 3 года назад +1

    Thank so much for this...i have learn a lot ,sir i am waiting for your complete cyber security courses from buggier to master level

  • @lIlIllll1
    @lIlIllll1 3 года назад +1

    Perfect vid for what I needed! Im going through the eCPPT course rn :))

  • @TheProgrenato
    @TheProgrenato 3 года назад +1

    You're the best!

  • @savoyblue777
    @savoyblue777 3 года назад

    John you are so good amazing and addicting to watch Thank you

    • @pdemosllegaralos520subs2
      @pdemosllegaralos520subs2 3 года назад

      Thank you John for the great video. Super Informative! The "beginner" approach is much appreciated.

  • @4ag2
    @4ag2 3 года назад

    Nice one John 💯

  • @yashwardhanchavan6153
    @yashwardhanchavan6153 3 года назад

    Really great content, learned so much cool stuff and enjoyed it. Thank you and keep videos like these coming....

  • @Coledebord2
    @Coledebord2 2 года назад

    Should probably add that the nop sled is only needed when you don’t know the exact address of the buffer you’re jumping to and you’re just guessing the area it’s going to land in and putting your nop sled there as a safe landing pad followed by your payload.

  • @sardorruziyev6919
    @sardorruziyev6919 2 года назад

    great video, and i follow step by step. it worked to the last minute... but it is still waiting meter/preter

  • @ChristopherLawson-t4y
    @ChristopherLawson-t4y 2 года назад

    Amazing video. Thank you

  • @jimo8486
    @jimo8486 3 года назад

    very well explained ty

  • @leweed3049
    @leweed3049 2 года назад

    thats so cool thanks

  • @lalaland322
    @lalaland322 2 года назад

    great video!

  • @razzawazza
    @razzawazza 3 года назад

    That's so cool man. I love your channel thanks for the videos.

  • @varadvithalkj1716
    @varadvithalkj1716 3 года назад

    this was beautiful ,learnt a lot!

  • @heyAyaan7
    @heyAyaan7 3 года назад

    Great video. Would be awesome if we get videos for the other vulnerable commands of Vulnserver too.

  • @dracenmarx
    @dracenmarx 2 года назад +1

    I would love learning how the shellcode is written instead of just using Metasploit

  • @pedror9314
    @pedror9314 3 года назад

    Cool vid!!!

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

    I could spend lots of money for college, or be debt free and learn at home, I love hacking and binary exploitation is my new motivation after recently getting dry on web exploitation I feel like I just started hacking again