x64 ret2win - LINUX Buffer Overflow (PicoCTF 2022 #41 'x-sixty-what')

Поділитися
Вставка
  • Опубліковано 26 кві 2022
  • Help the channel grow with a Like, Comment, & Subscribe!
    ❤️ Support ➡ j-h.io/patreon ↔ j-h.io/paypal ↔ j-h.io/buymeacoffee
    Check out the affiliates below for more free or discounted learning!
    🖥️ Zero-Point Security ➡ Certified Red Team Operator j-h.io/crto
    💻Zero-Point Security ➡ C2 Development with C# j-h.io/c2dev
    👨🏻‍💻7aSecurity ➡ Hacking Courses & Pentesting j-h.io/7asecurity
    📗Humble Bundle ➡ j-h.io/humblebundle
    🐶Snyk ➡ j-h.io/snyk
    🌎Follow me! ➡ j-h.io/discord ↔ j-h.io/twitter ↔ j-h.io/linkedin ↔ j-h.io/instagram ↔ j-h.io/tiktok
    📧Contact me! (I may be very slow to respond or completely unable to)
    🤝Sponsorship Inquiries ➡ j-h.io/sponsorship
    🚩 CTF Hosting Requests ➡ j-h.io/ctf
    🎤 Speaking Requests ➡ j-h.io/speaking
    💥 Malware Submission ➡ j-h.io/malware
    ❓ Everything Else ➡ j-h.io/etc

КОМЕНТАРІ • 45

  • @MrToast72
    @MrToast72 2 роки тому +15

    "Don't forget guys, don't blindly trust any old code on the internet. That being said, I'm going to blindly trust this code on the internet."
    I had a real good laugh at this, thank you for your great humor John!

  • @TheH2OWeb
    @TheH2OWeb 2 роки тому +5

    You're really good at explaining how this works ! Thank you John for sharing your knowledge !

  • @HAGSLAB
    @HAGSLAB 2 роки тому +4

    I have watched all your earlier binary exploitation videos and this video definitely adds a bit more context and knowledge that I was missing when it comes to x64 and the IP differences. The canonical address stuff makes sense now. Thank you :) I also love that you effed up with the print statement, I do similar stupid stuff all the time 🤦🏻‍♂️😆

  • @viv_2489
    @viv_2489 2 роки тому +1

    This is brilliant and very clear explanation...thanks for sharing

  • @AntonioSouza
    @AntonioSouza 2 роки тому

    I love yours vídeos.
    Made me understand 64 bit still more.

  • @DaniSpeh
    @DaniSpeh 2 роки тому +3

    Very nice. Made me understand 64 bit a lot better

  • @nuridincersaygili
    @nuridincersaygili 2 роки тому

    This is pure gold... thx so much!

  • @maesse
    @maesse Рік тому +1

    Thanks for these videos! My GDB crashed on printf, and googling the error revealed that the issue was that the flag string was not 16 byte aligned. Skipping the opcode "0x40123a push rbp" happens to keep the stack pointer aligned and that's why it worked 🤓

  • @thedailysenior
    @thedailysenior Рік тому

    Thank you John!!

  • @lordspacecake5565
    @lordspacecake5565 2 роки тому

    Very great information!!!

  • @parthghughriwala6799
    @parthghughriwala6799 2 роки тому

    Awesome!!!

  • @grover-
    @grover- 2 роки тому +1

    I'd have liked to see you use r2 for this ctf.

  • @jraymundotunortiz9138
    @jraymundotunortiz9138 2 роки тому

    I saw that the buffer overflow 3 has less than 500 solves, I hope we can get a video about it

  • @joeborders
    @joeborders Рік тому

    Jeff is the real MVP

  • @Ken-cj1in
    @Ken-cj1in 2 роки тому +1

    Hey man!!

  • @herrpez
    @herrpez 2 роки тому +3

    "A gimmick is a novel device or idea designed primarily to attract attention or increase appeal, often with little intrinsic value."

    • @mellowgeekstudio
      @mellowgeekstudio Рік тому

      Hardly anything to do with the meaning seemed to be intended in this video.

    • @herrpez
      @herrpez Рік тому +1

      @@mellowgeekstudio Exactly.

  • @user-hd3pz2ow1b
    @user-hd3pz2ow1b 4 місяці тому

    cool

  • @rimantasri4578
    @rimantasri4578 Рік тому

    Hello,
    I did exactly the same as it was done in this video, but my attack failed and I don't know why. The only difference between my attack and Hammond's was the flag function's address. In this video it was 0x0000000000401236. Mine was 0x0000000000001191. When I enter an overflow string into my program, it gets a segmentation fault, but the flag function is not called. When I check the changed RIP, it is something different than I have actually inputted, it is something like 0x555555bf-something, but I didn't put these numbers anywhere.
    Am I missing something?

  • @beebakrizzle
    @beebakrizzle 2 роки тому +3

    Very cool! I was struggling with this one and the video was very clearly explained. Quick question: what do you use to run Kali in a VM? My VirtualBox instance is very slow and I have a super beefy computer (32GB RAM, i7 CPU, RTX3080 graphics). I enabled 3D acceleration and put half of the resources available for the box (16GB memory, 8 cpus, max video memory) but it's super slow. Virtualization is enabled in bios.
    PS: I prefer to use `echo -e "AAAA...\x3b\x12\x40"` for piping input into the binary, I think the python makes it confusing.

    • @__someone__3141
      @__someone__3141 2 роки тому

      maybe ur using hdd instead of SSD? it's a very huge difference
      make sure to put the VM files on SSD

    • @lfcbpro
      @lfcbpro 2 роки тому

      I have no idea if this is something that might be significant, I am new to all this,
      but what I did notice was that my VirtualBox instance ran a lot slower than my VMware instance, I don't know if it is worth a try changing to the VMware?

  • @taylor8294
    @taylor8294 2 роки тому +1

    32:05 ColdFusion's post says "Examining RSP... so RIP is at offset 120" and John does the same. Why does matching the pattern at RSP give us the offset for RIP? Is it because RSP comes immediately after RIP in memory, and because its a non-canonical address RIP "gets skipped"? If so, is RSP always immediately after RIP in memory? Thanks

    • @rabiaawasmi1554
      @rabiaawasmi1554 2 роки тому +2

      When you hit the leave instruction the rsp will point on the return address the same that will be poped into the rip

    • @rabiaawasmi1554
      @rabiaawasmi1554 2 роки тому +4

      Also ret seems to not pop that adress if its not canonical

    • @taylor8294
      @taylor8294 2 роки тому

      @@rabiaawasmi1554 I see, thank you!

    • @mellowgeekstudio
      @mellowgeekstudio Рік тому +1

      Video did a terrible job at making that clear.

  • @AmanPatel-rv2it
    @AmanPatel-rv2it 2 роки тому

    This one is the longest one

  • @shivasijwali6779
    @shivasijwali6779 2 роки тому

    Can someone please explain me what is

    • @drewzilla1263
      @drewzilla1263 2 роки тому

      makes it fill the bytes to be the size of QWORD (8 bytes)

  • @georgehammond867
    @georgehammond867 2 роки тому

    How long are you in this business ....6 years or more?

  • @bhagyalakshmi1053
    @bhagyalakshmi1053 Рік тому

    Gdb ?
    Pro? Structured data in structured data

  • @AwesomeLazyNinja
    @AwesomeLazyNinja Рік тому +1

    We need a "gimmick" counter 😂

    • @ani-zxk
      @ani-zxk 8 місяців тому

      and a "press the i believe button" counter 😂

  • @bhagyalakshmi1053
    @bhagyalakshmi1053 Рік тому

    R15?

  • @dom1310df
    @dom1310df 2 роки тому

    Given GEF is written in Python, why isn't it just pip installable?

    • @drewzilla1263
      @drewzilla1263 2 роки тому

      pip is for adding code packages to your python development environment

    • @xerrion
      @xerrion Рік тому

      ​@@drewzilla1263 no, if I for example use pip install black I can use black globally and not just in my development environment

  • @bhagyalakshmi1053
    @bhagyalakshmi1053 Рік тому

    What this metta spa

  • @mauricekyalo9101
    @mauricekyalo9101 2 роки тому

    Yt algo things 👍

  • @bhagyalakshmi1053
    @bhagyalakshmi1053 Рік тому

    Rax,rcx, explain

  • @Sqwince23
    @Sqwince23 2 роки тому

    It's GIF not GIF...