Basic Buffer Overflow - VulnServer TRUN

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 พ.ย. 2020
  • 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/get-kite/?... (disclaimer, affiliate link) Come play the GuidePoint Security Capture the Flag! go.guidepointsecurity.com/202...
    Hang with our community on Discord! johnhammond.org/discord
    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/johnhammond010
    GitHub: github.com/JohnHammond
    Site: www.johnhammond.org
    Twitter: / _johnhammond

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

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

    Fantastic video. Appreciating the "slow pace"

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

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

  • @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. ⭐⭐⭐⭐⭐

  • @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!

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

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

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

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

  • @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

  • @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!

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

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

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

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

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

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

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

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

  • @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!

  • @markgentry8675
    @markgentry8675 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

  • @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 🌟🌟🌟🌟🌟

  • @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.

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

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

  • @krist81
    @krist81 2 ปีที่แล้ว

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

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

    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.

  • @saurabhshinde1855
    @saurabhshinde1855 2 ปีที่แล้ว

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

  • @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.

  • @danielallan3417
    @danielallan3417 2 ปีที่แล้ว

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

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

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

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

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

    Tremendous help and fantastic write up, worked perfectly!

  • @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.

  • @aaaaaaaaaaaaaaaaaaaaaaaa997
    @aaaaaaaaaaaaaaaaaaaaaaaa997 2 ปีที่แล้ว

    Great video. Thanks for the slow pace.

  • @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.

  • @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!

  • @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.

  • @jorgevilla6523
    @jorgevilla6523 3 ปีที่แล้ว

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

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

    That was amazing and super informative. 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 ★

  • @anuragyelala6952
    @anuragyelala6952 3 ปีที่แล้ว

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

  • @KaranveerSingh97
    @KaranveerSingh97 2 ปีที่แล้ว

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

  • @pinglollo6283
    @pinglollo6283 3 ปีที่แล้ว

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

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

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

  • @AC-dw8cs
    @AC-dw8cs 3 ปีที่แล้ว

    i wish i found your channel sooner. GJ!

  • @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

  • @swyveu
    @swyveu 2 ปีที่แล้ว

    blown away... and great teaching skills !

  • @zelalemabate3804
    @zelalemabate3804 2 ปีที่แล้ว

    Awesome walkthrough, thank you!

  • @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.

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

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

  • @stuarthook6226
    @stuarthook6226 3 ปีที่แล้ว

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

  • @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

  • @Construction-agencyCoUk
    @Construction-agencyCoUk 3 ปีที่แล้ว

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

  • @MattKAva
    @MattKAva 3 ปีที่แล้ว

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

  • @johnsnow1062
    @johnsnow1062 3 ปีที่แล้ว

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

  • @yashwardhanchavan6153
    @yashwardhanchavan6153 3 ปีที่แล้ว

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

  • @somekindofbluestuff
    @somekindofbluestuff 2 ปีที่แล้ว

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

  • @ivanlopez8377
    @ivanlopez8377 3 ปีที่แล้ว

    Man, thanks for putting this together.

  • @ketononeill8898
    @ketononeill8898 3 ปีที่แล้ว

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

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

    Thank you for this video , i learnt a lot 🙂

  • @ping9940
    @ping9940 2 ปีที่แล้ว

    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

  • @mariorodriguez474
    @mariorodriguez474 3 ปีที่แล้ว

    what a great trip! great job!

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

    *Perfect* lesson :)
    Three thumbs up

  • @HK-sw3vi
    @HK-sw3vi 3 ปีที่แล้ว

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

  • @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.

  • @jerryjohn2655
    @jerryjohn2655 3 ปีที่แล้ว

    Thank you so much John

  • @razzawazza
    @razzawazza 3 ปีที่แล้ว

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

  • @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 😂

  • @LDowning0190
    @LDowning0190 2 ปีที่แล้ว

    Amazing video! Thank you.

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

    The beard looks absolutely epic

  • @antdgar
    @antdgar 2 ปีที่แล้ว

    Great explanation

  • @mart.3318
    @mart.3318 2 ปีที่แล้ว

    Great video! Thank you very much!

  • @4ag2
    @4ag2 3 ปีที่แล้ว

    Nice one John 💯

  • @varadvithalkj1716
    @varadvithalkj1716 3 ปีที่แล้ว

    this was beautiful ,learnt a lot!

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

      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

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

    You've outdone yourself with this one John. Buffer overflow is just voodoo magic for me at the moment and your vid has made it seem more achievable for me :))

  • @m3tac0m
    @m3tac0m 3 ปีที่แล้ว

    I love exploit development. Very well explained.👍

  • @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

  • @inkotanyi.9185
    @inkotanyi.9185 ปีที่แล้ว

    I salute you, Sir!🙌

  • @lalaland322
    @lalaland322 2 ปีที่แล้ว

    great video!

  • @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

  • @nikolas8741
    @nikolas8741 3 ปีที่แล้ว

    I got a meterpreter!😃 thanks soooo much!

  • @josuemarks5675
    @josuemarks5675 2 ปีที่แล้ว

    Amazing video. Thank you

  • @jimo8486
    @jimo8486 3 ปีที่แล้ว

    very well explained ty

  • @liliwantsvideos
    @liliwantsvideos 3 ปีที่แล้ว

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

  • @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.

  • @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?

  • @vaskomarinov7042
    @vaskomarinov7042 3 ปีที่แล้ว

    !GOLDEN CONTENT!

  • @Zaakipaladin
    @Zaakipaladin 3 ปีที่แล้ว

    Such a cool video!!

  • @pedror9314
    @pedror9314 3 ปีที่แล้ว

    Cool vid!!!

  • @ayaanlatifsaikia1353
    @ayaanlatifsaikia1353 3 ปีที่แล้ว

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

  • @nuridincersaygili
    @nuridincersaygili 2 ปีที่แล้ว

    This is pure gold..

  • @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

  • @parthghughriwala6799
    @parthghughriwala6799 2 ปีที่แล้ว

    God level tutor!

  • @karimwassef9892
    @karimwassef9892 3 ปีที่แล้ว

    Love your vids btw!

  • @davidrichardsonYT
    @davidrichardsonYT 2 ปีที่แล้ว

    Absolutely fkin amazing.. clever guy. You're now my main TH-cam sub

  • @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

  • @Hey-qo2zl
    @Hey-qo2zl ปีที่แล้ว

    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

  • @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.

  • @leweed3049
    @leweed3049 2 ปีที่แล้ว

    thats so cool thanks

  • @sarahconnorh4609
    @sarahconnorh4609 3 ปีที่แล้ว

    Oh daammmmn, i was looking for Reverse engineering lessons, THANKS JOhn ! (P.S : Feel free to recommend ressources ;P )

  • @CZghost
    @CZghost 3 ปีที่แล้ว

    Good :) This is some great stuff :)

  • @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

  • @000t9
    @000t9 3 ปีที่แล้ว

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