GitLab 11.4.7 Remote Code Execution - Real World CTF 2018

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

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

  • @LiveOverflow
    @LiveOverflow  5 лет назад +40

    Thanks to Patreon and RUclips Members, there is also now a write-up blog about this video: liveoverflow.com/gitlab-11-4-7-remote-code-execution-real-world-ctf-2018/

    • @es9596
      @es9596 5 лет назад

      Could you also execute this attack with http 1.0 without a host header and a redis command as header?

    • @soneomeelse
      @soneomeelse 5 лет назад

      @@es9596 Request is sent by Gitlab server, an attacker cannot decide which utility/http version backend uses.

    • @i_m_in_love_with_sanatan
      @i_m_in_love_with_sanatan 5 лет назад

      nice video , can you help us to understand windows server security mechanize and exploit development

  • @karlkastor
    @karlkastor 5 лет назад +122

    I didn't understand everything in this video, but the part where the newlines came in was amazing.

    • @ir4640
      @ir4640 5 лет назад +7

      I didn't understand anything

    • @retr0.1337
      @retr0.1337 Год назад +1

      ​@Etched Inverse Yeah, i started ruby scripting and alreaey write myself working wifi jammer with only one wireless interface

  • @dabupk3807
    @dabupk3807 5 лет назад +38

    i am not at the stage of understanding these videos but i like them anyway

  • @paul_axe
    @paul_axe 5 лет назад +169

    LOL, actually ipv6 wasnt enabled during the ctf (except the last hour, it was anounced that the organizers decided to turn it on) and it's possible to solve the challenge without ipv6 ;)

    • @LiveOverflow
      @LiveOverflow  5 лет назад +32

      oh damn really? do you have a writeup about that?

    • @paul_axe
      @paul_axe 5 лет назад +15

      @@LiveOverflow well, the different only in this first step where you triggering SSRF. As far as i remember we (LC/BC) pwned flaglab through repository mirroring

    • @LiveOverflow
      @LiveOverflow  5 лет назад +12

      Oh, but you didn't use IPv6 for that? Did IPv4 work there?

    • @paul_axe
      @paul_axe 5 лет назад +13

      @@LiveOverflow yes. it uses git protocol so it's possible to use CRLF and craft redis commands

    • @LiveOverflow
      @LiveOverflow  5 лет назад +12

      @@paul_axe Ah the repository mirror still allowed IPv4 localhost?

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

    Years have passed since I did watch this video for the first time and I could not understand much, but now I understand everything, great content!

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

    Thank you for the clear and detailed explanations unlike some techies who just throw super complex terms at you without explaining. Like and subscription well deserved.

  • @Asdayasman
    @Asdayasman 5 лет назад +52

    Seems like `redis` should just have a "strict" mode, which always exits on the first invalid command.

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

      @@kronsyc339 This reply was not worth the two year wait.

  • @burnstick1380
    @burnstick1380 5 лет назад +155

    "this is so easy" yeah.. alright.

    • @theherobrine6217
      @theherobrine6217 5 лет назад +5

      Burn Stick super easy compared to the ETH smart contract flag.

    • @paprika5487
      @paprika5487 5 лет назад +1

      To be fair, he did say "simple", not "easy" haha, but yeah, this isn't exactly the most obvious attack in the world

    • @pavel9652
      @pavel9652 4 года назад +1

      It is just 2-3 hours of work, yeah, sure. ;)

  • @MrKristian252
    @MrKristian252 5 лет назад +9

    LiveOverflow, you should do a livestream next time you apply to a CTF challenge.
    I would be interested to see all the researching and "failing" before finding the flags

    • @theherobrine6217
      @theherobrine6217 5 лет назад +8

      Mr.Kristian252 the problem is it would help other people doing the ctf, this is why he does all the videos after the ctfs are over.

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

      @TheHeroBrine he can do a livestream of doing a CTF after it is over

  • @Vagelis_Prokopiou
    @Vagelis_Prokopiou 5 лет назад +1

    Awesome info 👍. I can't understand the viewers who downvoted. Good job.

  • @Badrlens
    @Badrlens 5 лет назад +1

    I didn't understand most of what you are doing but this is super cool stuff man

  • @ssp666
    @ssp666 5 лет назад +6

    Nice, love the real world CTF videos.

  • @Fvneral_moon
    @Fvneral_moon 5 лет назад

    Man i really wish I could understand anything he is talking about. Would be cool learning hacking and watching someone so high level and learning from him

  • @TrustedCreeper
    @TrustedCreeper 5 лет назад +4

    Pretty straight forward and well explained! Thanks.

  • @DrydenCurtWell
    @DrydenCurtWell 5 лет назад

    I like that you went back to solve it !

  • @williamn543
    @williamn543 5 лет назад +13

    "You might need an 0day" that the organizer found.

  • @heyserge
    @heyserge 4 года назад

    This tutorial is soooo good. Crazy that this content is free.

  • @kaesegulasch6202
    @kaesegulasch6202 5 лет назад

    btw. when you already use docker-compose you can use it for entering the container aswell by just giving it the service name of your docker-compose.yml (e.g. "docker-compose exec web bash")

  • @_DeProgrammer
    @_DeProgrammer 5 лет назад +1

    I need to buy this guy a beer.

  • @SuperSand2000
    @SuperSand2000 5 лет назад +4

    You should have mentioned:
    docker-compose up -d
    You can autocomplete the container name when running docker exec

    • @robk5969
      @robk5969 5 лет назад

      also, `docker-compose exec web bash`, where "web" is the simple name of the service in the compose file (name is line 1 of compose file seen at 1:52)

  • @0x2e2e2f
    @0x2e2e2f 5 лет назад +2

    Man, u are awesome.. hacking is sharing and u made this phrase work.. great job

  • @madhusudanacharya5777
    @madhusudanacharya5777 5 лет назад +4

    i am waiting for next video on XSS :)

  • @nothingtoseehere93
    @nothingtoseehere93 5 лет назад

    Great explanation and easy to follow

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

    Thanks for explaining !

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

    Given the times I've seen Redis used for an exploit (due to its "too" simple interface), I feel like it's becoming the next Flash. Broken from a security perspective and just band-aids slapped on until the next vulnerability. While interactive soft fails (i.e. bad commands) might be useful in some conditions, it seems like in common use, the moment it hits any error it should disconnect, not just blinding keep going. But maybe Redis has fixed that issue in the years since this video was made.

  • @heycherry100
    @heycherry100 5 лет назад

    Really cool as always.

  • @h4kster182
    @h4kster182 5 лет назад +2

    i can't understand all what u said , but i will be back ;) link bookmarked :D

  • @ichigok2594
    @ichigok2594 5 лет назад +2

    I like the way you explain things :). Is the ctf available as ISO for download to practice?

    • @pavel9652
      @pavel9652 4 года назад

      There is HTB machine (Ready) with this vulnerability.

  • @codechapter6960
    @codechapter6960 5 лет назад +1

    never clicked so fast!!!

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

    In the future, remember to always ask yourself this question:
    "Would they include a live/unpatched vulnerability in a CTF?"
    probably not.

  • @fdvoid0
    @fdvoid0 4 года назад +1

    Nice vedio , good look for you, dude...

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

    great vid. nice effort

  • @sophiatheodores7985
    @sophiatheodores7985 5 лет назад +1

    imagine if you got to the last step on the real ctf, and since the real server doesn't have nc you sent it "apt update && apt install -y netcat" so it would update gitlab as well

    • @LiveOverflow
      @LiveOverflow  5 лет назад

      Hahh. But that step was just done during exploit development. Netcat is not part of the actual exploit in the end

    • @baranoid
      @baranoid 5 лет назад +2

      wait why would that command update gitlab? you're just updating repos and installing netcat

    • @sophiatheodores7985
      @sophiatheodores7985 5 лет назад

      @@baranoid oh right i thought it was up*grade*

  • @philippetrov4881
    @philippetrov4881 5 лет назад +2

    It shouldn't bypass localhost. (with dot at the end). (regarding Chrome and proxies)

  • @TheoParis
    @TheoParis 5 лет назад +6

    I keep hearing you saying REDDIT instead of REDIS lolol

  • @SoloLifeJourneys
    @SoloLifeJourneys 5 лет назад

    you should use docker hub mirror in China to speed up your download, because the global bandwidth in China is just not enough for 1 billion internet users.

  • @joaosalvador8209
    @joaosalvador8209 5 лет назад

    Amazing stuff !

  • @CoolFire666
    @CoolFire666 5 лет назад

    Presumably you would not be able to apt install netcat on the real CTF challenge, so you would exfiltrate the flag with something like curl instead?

  • @Arcticgator64
    @Arcticgator64 5 лет назад +1

    I'm pretty new to this whole ctf thing and I was wondering how you might find a key that wasn't on the client-side somewhere, but on the server side. Let's say I want to retrieve a key, but you can only get it after inputting the right code. I would probably start by viewing page source and looking for different links, but I haven't got any ideas beyond that.

  • @meithecatte8492
    @meithecatte8492 5 лет назад +3

    But the original container didn't have netcat installed.

    • @LiveOverflow
      @LiveOverflow  5 лет назад

      It was just for debugging during exploit development. Netcat is not needed in the actual exploit. The exploit only executed “cat”

    • @tiberiud
      @tiberiud 5 лет назад +1

      I guess you could have just sent a command to install netcat before sending the actual payload for retrieving the flag

    • @maowtm
      @maowtm 5 лет назад +2

      LiveOverflow The exploit used netcat to send the output of cat to your computer… But that's isn't a problem. curl could be used instead.

    • @LiveOverflow
      @LiveOverflow  5 лет назад

      Ooops. Haha lol you are right

  • @baldyardigan
    @baldyardigan 5 лет назад

    Make a video about your setup: Computer Specs, Os'es, Tools and Setups (for vm's and stuff like iTerm)

  • @alw1ez_413
    @alw1ez_413 5 лет назад

    Web-Based Exploits... You already solved, 1 day is enough.

  • @h4kster182
    @h4kster182 5 лет назад +2

    plz !! Can somone tell me whats the requirements knowledge to understand all the stuffs in the video !

    • @alphatier4919
      @alphatier4919 5 лет назад +1

      studying computer science and knowing the right people..

    • @rune.theocracy
      @rune.theocracy 5 лет назад +1

      Watch more of his videos, you might get a rough idea.

    • @chillappreciator885
      @chillappreciator885 5 лет назад

      Try to install Linux on your PC. Try to deploy some apps like GitLab using git. Try to work with some APIs like Facebook/Telegram. Combine all this things)

  • @adenbagja4211
    @adenbagja4211 5 лет назад +2

    I don't know how much time i can get to this level.

    • @chillappreciator885
      @chillappreciator885 5 лет назад

      Just don't think about it and keep digging if you are interested on it all.

  • @wdai03
    @wdai03 5 лет назад

    How do you solve a challenge like this in a day though? It seems you need to have really deep knowledge across a wide range of the techologies being used. I've used redis but I don't really know in detail the protocol it uses and everything

    • @AfonsodelCB
      @AfonsodelCB 5 лет назад

      that's exactly what it is, the amount of previous experience you need for these things is quite large

    • @LiveOverflow
      @LiveOverflow  5 лет назад +1

      As I mentioned in the video, this SSRF to redis is quite commonly know for a few years. When you try to follow the news, follow good people on twitter, then you probably will come across a writeup eventually. And if you think about it, you also just learned about it and from now on you know it works :)
      This kind of knowledge is passed on through talks, blogs (and now videos)

  • @mralderson5627
    @mralderson5627 5 лет назад

    Dude are you the game guy as BattleNonSense?

  • @TheMave95
    @TheMave95 5 лет назад +1

    12:33 Redis Commands not Reddit

  • @Raj_darker
    @Raj_darker 5 лет назад

    I love to watch your videos and your way to solve problems. I just wanted to know Do you have Discord server or like that grp, which we can join for CTFS?
    Thanks a lot. 🚩🚩👍🚩🚩

  • @hewfrebie2597
    @hewfrebie2597 5 лет назад

    Why it is 0day when it actually 1day by the day he posted online lol

  • @zanityplays
    @zanityplays 5 лет назад

    ye boi

  • @dewayne_21piru54
    @dewayne_21piru54 5 лет назад

    Any good tips for a good laptop i should buy for ceh

  • @DHIRAL2908
    @DHIRAL2908 4 года назад +8

    Who's here after HTB's Ready?😛

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

      Hey, I am a beginner on HTB and ready is first machine i'm solving and in the process i reached here.

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

      I didn't understand at 7:00. how did he get that shell. can u pls help

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

      @@noname2588o Hi! Try looking in the online article LiveOverflow published. Use the encoded version of the payload at the end!

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

      @@DHIRAL2908 Thnx bro!!

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

      @@DHIRAL2908 Thanks for helping bro. I know it is a very noob question but he used his local IP in that payload, but I should my IP over the VPN right?

  • @shashikanthp3145
    @shashikanthp3145 5 лет назад

    Shouldn't the title be named as *2019* ??

    • @morsiskoPC
      @morsiskoPC 5 лет назад +1

      No, as stated the CTF was played December, 2018

  • @Inyafacegerman
    @Inyafacegerman 5 лет назад

    what kind of program does he use for repeating requests?

  • @vcokltfre
    @vcokltfre 5 лет назад

    xss is 'uninteresting'??

  • @poophahahahahahaha
    @poophahahahahahaha 5 лет назад +3

    "grrrr"

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

    "damn, this is so simple!" uh-huh..

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

    people solving Ready HTB mark your attendance

  • @Thmyris
    @Thmyris 4 года назад

    Just because of tips like that, I don't wanna read tips in CTFs.

  • @danivincent1042
    @danivincent1042 5 лет назад +8

    please switch from 25p to 30p. The judder is distracting. If you want to be really nice record at 60p most of your content is screen based so the smooth scrolling and snappy terminal response would be nice.

    • @nilsirl
      @nilsirl 5 лет назад +4

      What do you mean by p?
      Are you talking about FPSs?

    • @danivincent1042
      @danivincent1042 5 лет назад +2

      @@nilsirl yes

  • @SA601154
    @SA601154 5 лет назад

    Isn't this 11.4.8?

    • @LiveOverflow
      @LiveOverflow  5 лет назад +1

      It was patched for 11.4.8
      The vulnerable version is as mentioned gitlab/gitlab-ce:11.4.7-ce.0 ;)

    • @SA601154
      @SA601154 5 лет назад

      LiveOverflow I knew I screwed up 😂
      Thank You 😁

  • @damejelyas
    @damejelyas 5 лет назад

    I love you , no homo

  • @PvmCurtis
    @PvmCurtis 5 лет назад

    anddddddd gitlab is down.....

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

    wtf is going on?

  • @kokop1107
    @kokop1107 5 лет назад +2

    First

  • @Demintika
    @Demintika 5 лет назад

    I understand individual things you do but don't understand anything as a whole.

  • @eshansingh1
    @eshansingh1 5 лет назад +1

    Going to a CTF is totally worth bowing to an authoritarian government lol! Haha #SecurityIsCool

  • @ismailsamirusta
    @ismailsamirusta 5 лет назад

    hey fifth comment i guess...

  • @user-ro1cc8tz6d
    @user-ro1cc8tz6d 5 лет назад

    Get some sleep

  • @glennv.merkel3020
    @glennv.merkel3020 5 лет назад

    first comment