Binary Exploitation Deep Dive: Return to LIBC (with Matt)

If you would like to support the channel and I, check out Kite! Kite is a coding assistant that helps you code faster, on any IDE offer smart completions and documentation. www.kite.com/get-kite/?... (disclaimer, affiliate link)
For more content, subscribe on Twitch! / johnhammond010
If you would like to support me, please like, comment & subscribe, and check me out on Patreon: / johnhammond010
PayPal: paypal.me/johnhammond010
E-mail: johnhammond010@gmail.com
Discord: johnhammond.org/discord
Twitter: / _johnhammond
GitHub: github.com/JohnHammond

Пікірлер: 192

  • @praetorprime
    @praetorprime3 жыл бұрын

    My C/ASM is rusty, but Matt is doing a great job at refreshing my memory as you go along. John, too, is an intuitive pair-programmer. I've always wanted to know how to turn a "buffer overflow" vulnerability into an exploit, mostly out of frustration at hearing so much about them in college but never actually being shown how one works. Such a great video!

  • @apjohnite1302
    @apjohnite13023 жыл бұрын

    Great watch for anyone who is new to ret2lib. On getting the address of /bin/sh string (1:07:46) Loading the libc.so.6 into Ghidra will work, but it was imported with a base address of 0x100000, which John didn’t subtract from the address of the string, (a mistake he attributes to a typo later). An easier approach would be to use strings -tx libc.so.6 | grep /bin/sh

  • @CMorlandBassist

    @CMorlandBassist

    3 жыл бұрын

    Thanks for explaining this. I also noticed it wasn't a typo, but wasn't sure how ghidra could say it's address started at 0x2B when it was really 0x1B. Do you know why it had a base address of 0x100000?

  • @apjohnite1302

    @apjohnite1302

    3 жыл бұрын

    @@CMorlandBassist No idea, but it usually defaults to that for an executable with PIE set. There is an option to override the base address when you import.

  • @jmiguelhernandez1640

    @jmiguelhernandez1640

    Жыл бұрын

    thanks, i was wondering if string had an option for that. i found the memory map window in ghidra not only makes clear what base is used but it lets modify it as well.

  • @Raxnub
    @Raxnub2 жыл бұрын

    Loved this John, definitely consider doing more of these please. I kept up with what was going on probably up until about 1hr 25 mins. I can feel a rewatch coming on!

  • @AbandonRule
    @AbandonRule Жыл бұрын

    I was watching this on the TV so I really appreciate that you strive to make sure everything was large enough. Thank you! Amazing video. Want to see more with Matt!!

  • @joeymelo2882
    @joeymelo28822 жыл бұрын

    What an incredible video. I've been meaning to watch for this for days and finally set up a time for that. Everything in detail, amazing. Thanks for the content.

  • @potatoonastick2239
    @potatoonastick22393 жыл бұрын

    Yes please do more of this! Amazing learning content, even more so than usual IMO. Great stuff!

  • @GameOnBeast
    @GameOnBeast2 жыл бұрын

    It's been ages since I last subscribed to someone. But if you make a video this awesome, it can't be help. Thanks for making this you guys! Would love to see more

  • @snakebarber
    @snakebarber2 жыл бұрын

    Thanks for this! I still can't do what was shown on my own, but I'm about 4 steps closer than before I watched it. Learned a ton.

  • @PaulzePirate
    @PaulzePirate3 жыл бұрын

    Amazing content, really hope there is more like this. Would also love to see some of the more advanced stuff. As Matt said, it's very difficult to find unless you are paying for it.

  • @aarondinesh3657
    @aarondinesh36573 жыл бұрын

    I would love to see you and Matt do more colabs in the future!

  • @Hyuntube996

    @Hyuntube996

    3 жыл бұрын

    Yeah man 🙃

  • @charlesmctavish5188

    @charlesmctavish5188

    2 жыл бұрын

    Yeah very knowledgeable and has clear explanations. Great teacher

  • @robertwouda
    @robertwouda3 жыл бұрын

    Ngl that was 2 hours and 12 minutes well spend. Very interesting and cool

  • @DickSvensson
    @DickSvensson3 жыл бұрын

    Awesome aspect of the videos, like the format and the dialog!

  • @maxpowell3528
    @maxpowell35282 жыл бұрын

    This was absolutely great, thanks John and Matt !

  • @jmiguelhernandez1640
    @jmiguelhernandez1640 Жыл бұрын

    in case anyone is wondering, the offset error for "/bin/sh" string wasn't a typo. When it was taken from ghidra, ghidra loaded the lib with a base address of 0x100000 so it was off by that much. 0x2B40FA-0x100000 = 0x1B40FA

  • @george___43
    @george___433 жыл бұрын

    These guys are awesome, surprisingly I understand every step!!! Great video.

  • @jmprcunha
    @jmprcunha3 жыл бұрын

    I always learn or recall something. I'm "hooked" on Your videos! Thank You for sharing!

  • @Bearded_1
    @Bearded_13 жыл бұрын

    Amazing video! I learned a ton. Please, please, please make more of these!!!

  • @claymoody
    @claymoody3 жыл бұрын

    Great video, Matt and John. Thanks for putting that together. Go Tigers!

  • @n00b-hax0r9
    @n00b-hax0r93 жыл бұрын

    There was a lot in this one. Will have to come back to this multiple times. Thanks a lot for this!

  • @markgentry8675
    @markgentry86753 жыл бұрын

    This was gold. Its always so useful seeing mistakes and debugging. I still don't understand everything that was discussed, esp stack alignment, but i know more than i did when i started watching. thanks guys! Oh one thing. Who is Matt? would be good to get a link to any content he has :)

  • @Meow-meow421
    @Meow-meow421 Жыл бұрын

    You're the gold mine fr thank you so much for the content we all appreciate your hard work❤❤🎉😊

  • @trucotrecaxbox2904
    @trucotrecaxbox29043 жыл бұрын

    Really good video to start. I really wanna more of this videos, better with Matt, he explains really good.I am gonna re-see a lot of times, get notes and search throught internet all of this.

  • @mikewajda9912
    @mikewajda99123 жыл бұрын

    This was amazing and so informative! Please do more binary exploitation videos with Matt

  • @jkobain
    @jkobain3 жыл бұрын

    Setting up the tools may often become the most interesting part of the event. Whatever, I'm ten minutes in, and I'm so excited!

  • @user-jm8kd2kr9l
    @user-jm8kd2kr9l3 жыл бұрын

    You helped me through my night shift at McD, never enjoyed them more! (:❤️

  • @TheBrutaline
    @TheBrutaline3 жыл бұрын

    I found my video for the weekend. Thanks John.

  • @ienze
    @ienze2 жыл бұрын

    I am actually grateful that you didn't capture audio at the beginning because the setup of tools isn't so important and we could still enjoy it in a sped up version.

  • @zeroows
    @zeroows2 жыл бұрын

    Thank you guys. That was great.

  • @vibhavtiwari7260
    @vibhavtiwari72603 жыл бұрын

    yes sir more video like this and you just do a fab work again! thanks is all i just got for you sir. Thank You !!!.

  • @chriskaprys
    @chriskaprysАй бұрын

    Lads: this. was. AWESOME! Matt's a natural-born, superb teacher; John you asked great questions and dropped in very useful clarity points and made me feel like I was Matt's student sitting right there as this lesson developed. 2 hours absolutely flew by and I have so much more nuts&bolts knowledge thanks to you two. 👏

  • @Venom-ne4ox
    @Venom-ne4ox Жыл бұрын

    Great video. So much foundational stuff, please bring this guy back!

  • @saketsrv9068
    @saketsrv90682 жыл бұрын

    Thanks to both of you legends

  • @shadymorra9939
    @shadymorra99393 жыл бұрын

    Yes! more of this please John!

  • @ernestoo8313
    @ernestoo8313 Жыл бұрын

    So good! Thanks very much!

  • @davidcopenhaver5583
    @davidcopenhaver55833 жыл бұрын

    Really great! A+ I would definitely watch more like this

  • @omarjarkas2175
    @omarjarkas21753 жыл бұрын

    Very educational, amazing video!!

  • @nicooolai
    @nicooolai3 жыл бұрын

    This was an incredible video. VERY educational. More of these, please :) Now I want to be Matt when I grow up..

  • @marcovalentinoalvarado3290

    @marcovalentinoalvarado3290

    3 жыл бұрын

    Also I recommend you another hacker with a youtube channel called "Kindred Security" he teaches as well how to bypass security measures for binary exploitation

  • @maxmusterspace6037
    @maxmusterspace6037 Жыл бұрын

    That was the best tutorial on rop and ret2libc I have ever seen. By far!

  • @Handskemager
    @Handskemager2 жыл бұрын

    Such a morale boost to see better people than me screws up and have to hunt down bugs, great video ! :)

  • @gsfare1
    @gsfare13 жыл бұрын

    That was awesome! I learned a lot, thank you. Very helpful how you went through the full debugging process and also prompted some really great questions. Nice work.

  • @alvinkhamron7430
    @alvinkhamron74303 жыл бұрын

    Greate video John very big fan hope to see more videos like this soon.

  • @rbxdev4626
    @rbxdev46263 жыл бұрын

    Hey John rbx here, glad you are taking the journey with binary exploitation quick tip for finding that "/bin/sh" address using strings itself strings -a -t x path2libc | grep "/bin/sh"

  • @WhatTheWeb
    @WhatTheWeb3 жыл бұрын

    Awesome video as always. Just wanted to note that the /bin/sh address bug came from the fact that you copied the address offset from ghidra which, by default, will not load in binaries with a default base address of 0x00000000. You didn't typo! :p

  • @christopherboisvert6902
    @christopherboisvert69022 жыл бұрын

    Matt is one of the most brilliant person I have ever heard in computer science field yet x)

  • @SRGamingYT
    @SRGamingYT2 жыл бұрын

    you have to keep going with this, AMAZING video learned so much and i solved this ctf by my own yesterday tho lol.. STILL learned a lot !!

  • @nekkrokvlt
    @nekkrokvlt9 ай бұрын

    Awesome video guys !

  • @orgozlan323
    @orgozlan3233 жыл бұрын

    Thank you matt and john!!!

  • @znation4434
    @znation44343 жыл бұрын

    Very interesting, please do more!

  • @kuperrr6776
    @kuperrr67762 жыл бұрын

    I honestly didn't understand a shit but I loved the amount of structural content I learned, and how the channel works in general, thanks for the information! Im learning a lot :D

  • @inhhaile7495
    @inhhaile74952 жыл бұрын

    This saved my day, and could be a few more days reading into more confusions

  • @HAGSLAB
    @HAGSLAB3 жыл бұрын

    This is a gem John!

  • @utkarshrai9727
    @utkarshrai9727 Жыл бұрын

    How did I miss this goldmine of a video before? Got here from the new vid of Binary Exploits :3

  • @AshokKumar-bu2gk
    @AshokKumar-bu2gk3 жыл бұрын

    Awesome work guys !!

  • @jcs0984
    @jcs0984 Жыл бұрын

    Holy crap that was a ride for a noob like me. Thanks so much!

  • @lennyaltamura2009
    @lennyaltamura2009 Жыл бұрын

    Thank you for sharing.

  • @mossdem
    @mossdem3 жыл бұрын

    This guys really good at breaking stuff down! It was still a little advanced for me but still really enjoyed it

  • @maheepim
    @maheepim3 жыл бұрын

    Had been waiting for this

  • @AFchump78
    @AFchump783 жыл бұрын

    Any good reading material on the why I need to use pop_rdi and specifics? Replicating the success of this but Im kind of wondering about the why. Only have done shell code ones on windows(ecppt).

  • @Thiago1337
    @Thiago13373 жыл бұрын

    Yes, more of these!

  • @walidantaki3026
    @walidantaki30262 жыл бұрын

    wow amazing content learned a lot

  • @entheo_christ2223
    @entheo_christ22232 жыл бұрын

    John Hammond is one of the most likeable people on the internet. Great work man.

  • @aaaron19
    @aaaron193 жыл бұрын

    Awesome video!! Please do more RE

  • @samyepthatsme
    @samyepthatsme3 жыл бұрын

    This is such a cool video! Could you just make a video tutorial on every section of the ShellCoder’s Handbook? 😂

  • @00eunderscore70
    @00eunderscore70 Жыл бұрын

    Hi John, im just getting into Binary Exploitation and I would like to ask about the terminologies and how they work. For now what does the off-set do? I have seen it beeing used multiple times in different avenues of the video. Awesome educational video! Cheers

  • @points7824
    @points78243 жыл бұрын

    ret2libc ctfs is where i struggle so thank you so much for this. I will be using this for practise so i would be so happy if you could catogorize the video so i could jump places that would be AWESOME

  • @PatrickHener
    @PatrickHener3 жыл бұрын

    This was hell of a good video. Do that again with a more complex binary exploitation!

  • @dontdishfish5861
    @dontdishfish58612 жыл бұрын

    Great video! You and Matt make a great pair of teachers. I wanted to join your discord server but I don't think the link is working. The rest of your website works though :)

  • @REktSigMa
    @REktSigMa2 ай бұрын

    1:48:37 its the "relative path vs absolute path. this is that move back path. Sort a like when your properly referencing folders in your program, like a header file.

  • @pwndumb2903
    @pwndumb29033 жыл бұрын

    Amazing explanation !!!

  • @Bromon655
    @Bromon655Ай бұрын

    That first 10 minutes had my head spinning 😵‍💫 I got completely lost

  • @seanvinsick5271
    @seanvinsick52713 жыл бұрын

    I loved this. Btw readelf -W won't truncate the symbol names.

  • @ahmedmani1051
    @ahmedmani10513 жыл бұрын

    please when you do one of this videos make both persons voice equal i had to keep my hand on the volumes key entire time and add subtitles other than that thank you so much

  • @ReubenSammut
    @ReubenSammut3 жыл бұрын

    Well done John and Matt. Although I've been doing these for a while, I still managed to learn new things. For next time, try to add one gadgets ;)

  • @cXedis
    @cXedis Жыл бұрын

    13 months later, still amazing. It's funny that when this released none of it made sense to me but it's been a crazy year. Matt and John thanks for taking the time to explain in such awesome detail.

  • @biblemansings

    @biblemansings

    Жыл бұрын

    Did you learn at school?

  • @biblemansings

    @biblemansings

    Жыл бұрын

    I’m just starting my Cyber Security courses

  • @cXedis

    @cXedis

    Жыл бұрын

    @@biblemansings not exactly? 20 years in IT, also BHIS has "Pay What You Can" classes you take for free. I have no formal edjumication in the field beyond those classes. I make my way by googlfu and a head that's sturdy enough to eventually break thru most walls...eventually.

  • @andresjoelrodgers

    @andresjoelrodgers

    Жыл бұрын

    @@biblemansings ❤

  • @andresjoelrodgers

    @andresjoelrodgers

    Жыл бұрын

    🎉

  • @MrGuardianX
    @MrGuardianX3 жыл бұрын

    Very cool video thank you! Although if you don’t mind, could you please edit the audio a little. You were really load while the speaker is almost indistinguishable. So when he talks I increase my volume, but then your comment comes in and my ears start bleeding. Otherwise very cool content!!

  • @chsovi7164
    @chsovi71642 жыл бұрын

    A very nice video, but you guys made some comments that I didn't really understand. Why do null bites spook you, for example?

  • @genezisdj
    @genezisdj3 жыл бұрын

    i really liking you stoff btw so i can learn more

  • @kartibok001
    @kartibok0013 жыл бұрын

    Really enjoyed the video and picked up some good notes, however if that was "basic", I think I need to search for the "ba" lessons :)

  • @greob
    @greob2 жыл бұрын

    That was very insightful and interesting. Too bad the sound levels were very uneven. Still, thanks for sharing!

  • @Johnstuart2023
    @Johnstuart20232 жыл бұрын

    thanks bro

  • @overflow_and_programming5215
    @overflow_and_programming52153 жыл бұрын

    Thank you bro

  • @AngryMarkFPV
    @AngryMarkFPV Жыл бұрын

    What is your OS of choice John?

  • @toastom
    @toastom2 жыл бұрын

    Super interested in binary exploitation and the lower-level hacking that's more closely related to hardware elements of hacking. I'm happy this exists.

  • @TracerPortable
    @TracerPortable3 жыл бұрын

    That was great but I feel like Matt was too quiet compared to you, and when I heard you loud and clear sometimes I had problems with Matt. But overall love the vid. I feel like I'm going to return to it frequently

  • @aizen310
    @aizen3102 жыл бұрын

    thanks fot your hard work! this videos are gold! just hope to technology used for the good of humanity...

  • @zeuserrikkian4475
    @zeuserrikkian44752 жыл бұрын

    Wow. Mindblown

  • @user-my5cu7oy5i
    @user-my5cu7oy5i2 жыл бұрын

    Friday night in lockdown…. COVID is getting me into hacking. Your videos are amazing!

  • @coffeedata7107
    @coffeedata71073 жыл бұрын

    This is gold mate

  • @kiiikoooPT
    @kiiikoooPT Жыл бұрын

    does Matt also have a channel? I would love to check his channel to if he does youtube videos ;) this is gold for someone who just has basic knowladge and is trying to learn more :)

  • @tvathome562
    @tvathome5622 жыл бұрын

    Wow this was fun, reminds me of stepping through softIce in 1990's to crack hobbled programs, sitting down with reems of printer print out and a pen, working through by hand. Oh things were so much simpler back then.. And ida pro was freeware.. The only Advantage now is you don't have to go to library or wait an eternity to download a program

  • @cuishencheng
    @cuishencheng5 ай бұрын

    Really really cool

  • @user-td4pf6rr2t
    @user-td4pf6rr2t2 ай бұрын

    6:39 This is like chroot jail? 10:08 wasn't configuring the chroot jail to work with dynamic linker reverse engineering and exploiting the vulnerability. Or like if any other script would have been the demo but since scope was vulnerable script is said differently? Cause that config make was rather epic. 12:12 Again very good information. That is pretty much the whole show - isn't it? Can libc be used to create a static chat history for interacting with generative ai? like how its stateless could pointer be created and just redirected to libc iteratively?

  • @Majkieboy
    @Majkieboy3 жыл бұрын

    Super hype!

  • @gstud210
    @gstud2103 жыл бұрын

    Do more videos with him!!

  • @friedkitchenrce
    @friedkitchenrce2 жыл бұрын

    Where are the time stamps?

  • @oneloveafrica8860
    @oneloveafrica88603 ай бұрын

    he knows everything about that he's smart on revers engineering I like it wooow

  • @AFchump78
    @AFchump783 жыл бұрын

    Morning all.

  • @johnsonkxks5835
    @johnsonkxks5835 Жыл бұрын

    congrats on 420k

  • @jaopredoramires
    @jaopredoramires3 жыл бұрын

    why do we need to use /bin/sh that's inside libc? and why _is there_ that string inside it?

  • @robertsteffler5155

    @robertsteffler5155

    2 жыл бұрын

    Basically the whole goal here is to get the binary *itself* to give us shell (that's what /bin/sh) is, and the binary, being an ELF file written in C comes prepackaged with a collection of built-in functions called libc (basically the library of all *c* in-built functions, hence *libc*). Inside of libc is at least one /bin/sh call, because that's what the *system* library uses to actually perform system operations. All we're doing is stealing that functionality and calling it without any other arguments to tell the vuln executable, essentially "Hey, once you're done doing what you're doing right now, I want you to use the system function from libc, and have it just dump us into a shell". The reason we do this at all is because once we have a shell.. we're in. We're jumping around on their system.

  • @jaopredoramires

    @jaopredoramires

    2 жыл бұрын

    wow, thank you so much for the explanation

  • @praetorprime
    @praetorprime3 жыл бұрын

    1:55:30 ~ish, what terminal emulator is Matt using? My pleb brain needs to know.

  • @kitsugi3020

    @kitsugi3020

    3 жыл бұрын

    looks like default gnome term with zsh