Windows Has a Critical Command Injection Bug

Sdílet
Vložit
  • čas přidán 12. 04. 2024
  • In this video I demonstrate the 'BatBadBut' Bug that allows command injection on Windows machines in different programming languages. Don't let people send user input to random batch scripts.
    My merch is available at
    based.win/
    Subscribe to me on Odysee.com
    odysee.com/@AlphaNerd:8
    ₿💰💵💲Help Support the Channel by Donating Crypto💲💵💰₿
    Monero
    45F2bNHVcRzXVBsvZ5giyvKGAgm6LFhMsjUUVPTEtdgJJ5SNyxzSNUmFSBR5qCCWLpjiUjYMkmZoX9b3cChNjvxR7kvh436
    Bitcoin
    3MMKHXPQrGHEsmdHaAGD59FWhKFGeUsAxV
    Ethereum
    0xeA4DA3F9BAb091Eb86921CA6E41712438f4E5079
    Litecoin
    MBfrxLJMuw26hbVi2MjCVDFkkExz8rYvUF
  • Věda a technologie

Komentáře • 776

  • @Stevie-J
    @Stevie-J Před měsícem +1564

    Name a more iconic duo than Windows and backdoors for federal agencies (you can't)

    • @HarambeeOffical
      @HarambeeOffical Před měsícem +152

      North Korea and red star os

    • @eldrago19
      @eldrago19 Před měsícem +55

      XZ utils and backdoors?

    • @michaelflynn6952
      @michaelflynn6952 Před měsícem +21

      how is this a backdoor? how would it work remotely? what programs allow a remote user to add an arbitrary string of arguments to a windows batch file or linux shell file?

    • @Splarkszter
      @Splarkszter Před měsícem +61

      ​@@eldrago19 That was fixed as soon as it was discovered.

    • @qqqalo
      @qqqalo Před měsícem +51

      The youtuber Low Level Learning has a video on this, where he demonstrates how it can also happen on linux.
      It's hardly even a bug. In order for it to be executed, the attacker has to have the ability to input strings from the stdin. If they can do that, then they've already probably already got the ability to run commands anyway.

  • @metalmollusquetv
    @metalmollusquetv Před měsícem +619

    >Windows Has a Critical Command Injection Bug
    Yeah, it's called windows

    • @k-c
      @k-c Před měsícem +33

      Windows = Open Front Doors

    • @mapron1
      @mapron1 Před měsícem +1

      @@k-c Just a clickbait. Vulnerability is in Rust, not Windows.

    • @kidnamedfinger.productions
      @kidnamedfinger.productions Před měsícem +15

      @@mapron1 Windows design is weird and this is why this vulnerability exists in the first place.

    • @zedev444
      @zedev444 Před měsícem +12

      @@mapron1 vulnerability IS IN windows, not rust. That's why Java said won't fix, Glownie.

    • @kuroenekodemon
      @kuroenekodemon Před měsícem +4

      Windows has a problem where it leaves the front door and the back door wide open for all to see with no plans to fix it 😂

  • @yeshi3522
    @yeshi3522 Před měsícem +357

    fun part about this is how we've known variables enclosed in % are vulnerable to injection for decades at this point (along with %num or %*)
    people never learn i suppose

    • @the_Datana
      @the_Datana Před měsícem +30

      It's so obvious that it's forgotten

    • @the_expidition427
      @the_expidition427 Před měsícem +34

      @@the_Datana Tradition is a solution to a problem after the problem is forgotten now be sure not to forget the problem either

    • @icaruslives4748
      @icaruslives4748 Před měsícem +1

      Yeshi!

    • @ShivterShivtik25
      @ShivterShivtik25 Před měsícem +2

      @@icaruslives4748 small world ey

    • @yeshi3522
      @yeshi3522 Před měsícem +7

      @@ShivterShivtik25 i've summoned half the batch community with a comment

  • @dzuchun
    @dzuchun Před měsícem +350

    I love how log4j is now most commonly used as a reference to CVE, not library itself 😅

    • @asdfghyter
      @asdfghyter Před měsícem +59

      imagine how the authors feel about it 😅

    • @no_name4796
      @no_name4796 Před měsícem +38

      Which is ironic, since log4j, is a logging libraries, used to debug programs, got hit with one of the biggest vulnerabilities lol

    • @Mempler
      @Mempler Před měsícem +20

      ​@no_name4796 by a minecraft 2b2t hack client developer, lmao

    • @no_name4796
      @no_name4796 Před měsícem +3

      @@Mempler damn. didn't know about that lol

    • @Naa-ee7nq
      @Naa-ee7nq Před měsícem +3

      it pretty much set the standard for most log libraries since, you probably use their idioms and threat levels pretty much verbatim if you do logging in any half-way standard fashion

  • @HA7DN
    @HA7DN Před měsícem +94

    Next week: 10/10 critical bug: the coffee maker is broken!

    • @RainbowPigeon15
      @RainbowPigeon15 Před měsícem +3

      what's broken? It always returns 418!

    • @vytah
      @vytah Před měsícem +6

      @@RainbowPigeon15 that's broken, only teapots should return 418

    • @4n4Queen
      @4n4Queen Před měsícem +2

      Palo alto introduce itself.

  • @user-hn3hb6hl9d
    @user-hn3hb6hl9d Před měsícem +387

    "Java: Won't fix"

    • @fox2code
      @fox2code Před měsícem +46

      Yeah! I think the java stance is the correct stance.
      The Java runtime is open source and easy to fork tho.

    • @geeshta
      @geeshta Před měsícem +42

      Even if they did, the vulnerable machines are probably running Java 8 and never going to update

    • @twenty-fifth420
      @twenty-fifth420 Před měsícem +26

      @@geeshtaAh yes, organizational stagnation.
      “If it aint broke, don’t fix it!”
      “Uhm, well actually, it is kind of broken-“
      “ **If it aint broke don’t fix it** ”

    • @vytah
      @vytah Před měsícem +51

      Java: our enterprise customers rely on this bug for their code to work

    • @AnAnonymousAuditor
      @AnAnonymousAuditor Před měsícem +9

      @@vytah XKCD 1172, as always

  • @skrundz
    @skrundz Před měsícem +249

    If this bug was called 'clown makeup', then the headline would be "Clown wears clown makeup"

  • @stefanjones8042
    @stefanjones8042 Před měsícem +262

    You will eat zee bugz

    • @dclc8497
      @dclc8497 Před měsícem +88

      You vil be backdoored. And you vil be happy

    • @whannabi
      @whannabi Před měsícem +28

      So it was the Germans all along. I knew they were too calm

    • @indetermite
      @indetermite Před měsícem +21

      No. I vill never eat zee bugs, or live in zee pod.

    • @ahmedp8009
      @ahmedp8009 Před měsícem +11

      That WEF dude looks like the final Boss of the New World Order ...
      Until you beat him (after few retries and at a higher lvl) and then you face the TRUE final boss ...The Ultimate Lizard!

    • @blackneos940
      @blackneos940 Před měsícem

      @ahmedp8009 Majora, Phase 2?

  • @danieltr94
    @danieltr94 Před měsícem +77

    Shout out to Frostb1te for releasing a PoC early on. I bet there would've been a HUGE panic if no PoC was released and the 10/10 rating went through people imaginations.

  • @FlavorsomeMusic
    @FlavorsomeMusic Před měsícem +21

    "There's this new 10/10 vulnerability on windows man!"
    "Oh yeah ? Can you reproduce it ?"
    "Yeah! You need to sacrifice a goat at midnight while it's a full moon, then wait to get struck by lightning. Once you're at the hospital and you see the doctor, you need to slip this magic medallion into his pocket, and then you need to have a baby with the nurse. Then you'll get remote code execution on your computer. This is abhorrent man."
    I still think it should be patched, but 10/10 vulnerability ? lol, it just desensitizes people who are less informed about IT security. ;o

    • @rusi6219
      @rusi6219 Před měsícem +6

      The steps you've listed is probably just a usual Saturday night for a Rust dev

    • @FlavorsomeMusic
      @FlavorsomeMusic Před měsícem

      @@rusi6219 rofl I don't touch rust at all, thanks for the enlightening statement. :D

  • @DVSProductions
    @DVSProductions Před měsícem +73

    Imagine not sanitizing inputs and then beeing confused to get remote code execution. It's like people have forgotten about sql injections

    • @jerycaryy4342
      @jerycaryy4342 Před měsícem +8

      Lmao yea, the only part I'm surprised about is that you actually need the escape character 😂

    • @gauxalot
      @gauxalot Před měsícem +6

      so true. i still dont understand how giving the user access to directly modify a command that will be executed is a windows vulnerability

    • @vytah
      @vytah Před měsícem +6

      It's more like the programmer was using a prepared statement and got an SQL injection anyway. The API was supposed to do all the necessary escaping

    • @jongxina3595
      @jongxina3595 Před měsícem +5

      sql injection is like the very first thing people teach you about hacking... so its insane to think app devs dont sanitize their inputs, specially when letting a user execute a bat file on their server.... which on itself is such a bad thing to do.

    • @edgeworksgames
      @edgeworksgames Před měsícem +2

      Please watch 5 minutes into the video

  • @theevilcottonball
    @theevilcottonball Před měsícem +57

    By the way even Windows APIs find it too difficult to encode separate args into a command-line string. You can get the arguments out of the command line string by calling CommandLineToArgv but the windows APIs provide no encoder (i. e. there is no ArgvToCommandLine). Rust got the implementation of this encoder wrong. (ya see folks, microsoft wisely did not even try)

    • @vytah
      @vytah Před měsícem +5

      Here's the thing: cmd.exe has a completely different decoder, and in theory any program can have a different decoder. For example, programs compiled under Cygwin have a decoder that autoexpands glob patterns. All those vulnerable runtimes implement the encoder for the standard argument encoding correctly, it's just it's not the only encoding they need to care about.

    • @theevilcottonball
      @theevilcottonball Před měsícem

      > Here's the thing: cmd.exe has a completely different decoder
      Well you mean that cmd does not use CommandLineToArgvW. well, CommandlineToArgv would split `hello" & mspaint.exe` into `hello` and `& mspaint.exe`, so probably yes.
      > it's just it's not the only encoding they need to care about.
      Well windows has weird rules about argument quoting. I read an article "A Better Way To Understand Quoting and Escaping of Windows Command Line Arguments" once but it now only available on the archive that explains it.
      > All those vulnerable runtimes
      Well most of the programs that are using these decoders are not shells, so they will not run arbitrary commands. If you already have access to the commandline flags, then you can often pretty much everything the program can do, there is no need to trick the argument parser.

    • @dm-vh3xj
      @dm-vh3xj Před měsícem

      ​​@@theevilcottonball There are no rules about arguments quoting in Windows because any program can parse the command line in any way it sees fit.

    • @theevilcottonball
      @theevilcottonball Před měsícem

      @@dm-vh3xj Well I was talking about the standard rules. Of course you can parse the way you want.

    • @dm-vh3xj
      @dm-vh3xj Před měsícem

      @@theevilcottonball if by standard rules you mean cmd.exe rules then I agree.

  • @hcmtnbiker
    @hcmtnbiker Před měsícem +332

    Sanitization of user input is always the developers job, not the language. Calling this a 10/10 critiral vulnerability is like saying that every language you can think of for web development with SQL bindings has problems because SQL injection can be performed if you don't properly sanitize the inputs. It's not the fault of the language.

    • @jerycaryy4342
      @jerycaryy4342 Před měsícem +42

      Yea this should be like a 2/10. If I were writing code that took user input and performed bash on it I'd probably expect that if I didn't sanitize it the user could do RCE. The only thing I'm surprised about is you need the escape character 😂

    • @thenwhoami
      @thenwhoami Před měsícem +7

      The difference being developers are almost never expected to do the basic parsing that tells their program which arguments it has received.. which is what this bug concerns.

    • @MatthewHaydenRE
      @MatthewHaydenRE Před měsícem +13

      If I understand the issue properly, the vulnerability allows someone to escape any sanitisation.

    • @guiorgy
      @guiorgy Před měsícem +8

      Ideally, sanitization should not be necessary, and parameters/arguments should be passed separately so the reciever can handle them appropriately. SQL does that through the use of parameters in the query. The problem here was that the user input was passed in as an argument, which was expected to be safe.

    • @transcendtient
      @transcendtient Před měsícem +6

      @@guiorgy I think you're confused because "SQL" doesn't sanitize anything. I'm pretty sure you're talking about prepared statements and the implementation of prepared statements is at the application level.

  • @YouHaveTrouble
    @YouHaveTrouble Před měsícem +128

    It doesn't really matter if theres any privilege escalation because average winddos user will run everything as administrator anyway

    • @rusi6219
      @rusi6219 Před měsícem +12

      The TempleOS way Windows users are clearly superior to you

    • @Xanax55
      @Xanax55 Před měsícem +2

      Or they will just bypass it with cmstp or fodhelper (It's kinda patched but still works with dll injecting) exploit.

    • @hovnocuc4551
      @hovnocuc4551 Před měsícem +1

      haha, i use linux, i'm so much better than everyone else. anyone who uses windows must be a retard, amrite guys? /s

    • @hl-tt
      @hl-tt Před měsícem

      That doesn't matter because apps can just bypass the UAC

    • @mdm032
      @mdm032 Před měsícem

      What if you have completely uninstalled all windows apps like the store, edge, all the app extensions, and one drive of course and then all telemetry i can. I sometimes completely block the updates and ports too

  • @hummel6364
    @hummel6364 Před měsícem +17

    7:15 if there is a program that does this, then it runs on Windows Vista, is written in Java 6, and specifically relies on this bug to work.

    • @RenderingUser
      @RenderingUser Před měsícem +3

      classic xkcd 1172

    • @hummel6364
      @hummel6364 Před měsícem

      @@RenderingUser Correct. I should have thought of that.

  • @moonskined
    @moonskined Před měsícem +77

    This is overblown, this shouldn't be 10/10

    • @Sleestiq
      @Sleestiq Před měsícem +1

      Agreed

    • @s1l3nttt
      @s1l3nttt Před měsícem +4

      True, still a pretty big oversight.

    • @vytah
      @vytah Před měsícem +6

      If the program is vulnerable, then an unprivileged user can, over the network, run arbitrary code on the target machine, without anyone else's input, and it's very easy to do so. 10 seems reasonable.
      Scoring does not take into account how often the vulnerability occurs.

    • @walksanator
      @walksanator Před měsícem +2

      10 is for things access escalation and remote code.*both* not one or the other

  • @erikp6614
    @erikp6614 Před měsícem +41

    Well, the liblzma/xz bug did certainly not backdoor the "ssh process for most of the linux servers out there on the internet". The bug was found shortly after it was introduced and is not compiled into every version of sshd. Unless most servers on the internet use a bleeding edge version of the library, few servers was actually was affected.

    • @flowerpt
      @flowerpt Před měsícem +8

      I do NOT want to watch anybody cooking parrots.

    • @jtbebop497
      @jtbebop497 Před měsícem

      ​@@flowerpt 😂😂😂

    • @waterbloom1213
      @waterbloom1213 Před měsícem +1

      My understanding is that it could have had a massive impact had it not been detected so soon. It took a month to detect the malicious code, if stable distro updates had been released then it is very reasonable to believe hundreds millions of computers would have been affected.

    • @erikp6614
      @erikp6614 Před měsícem +2

      @@waterbloom1213 Yes! That is my understanding as well. However it did not backdoor most linux servers on the internet. The number of internet facing servers actually affected was probably limited. Furthermore, to actually use the backdoor the attacker needed a private key. It is possible that the person who introduced the backdoor wanted to sell the private key or somehow make money of it in some other way, but unless you had the private key you could not use the backdoor.
      Nevertheless, in the video the claim is that the "ssh process for most of the linux servers out there on the internet" had the backdoor. This is simply not true.

    • @threestans9096
      @threestans9096 Před měsícem +1

      he parrots headlines and fills in the blanks with his biased “facts”.
      its actually getting kinda annoying. also, why does the thumbnail imply RUST is the problem…but he says windows..

  • @c_o_m_e_t_
    @c_o_m_e_t_ Před měsícem +11

    Future programs should be memory safe (and contain our backdoor).

  • @txreqbtw
    @txreqbtw Před měsícem +9

    Why tf would you call a batch file from any other language?

  • @demolazer
    @demolazer Před měsícem +23

    "Won't fix" is code for "skill issue"

    • @RenderingUser
      @RenderingUser Před měsícem +1

      or the fact that literally nobody has used java over version 8

  • @JabbaTiure
    @JabbaTiure Před měsícem +113

    Nice Wojaks. Not sure if anyone else has complimented the channel’s use of wojaks in its thumbnails.

  • @Wampa842
    @Wampa842 Před měsícem +27

    Bobby Tables strikes again.

    • @Wolkebuch99
      @Wolkebuch99 Před měsícem +3

      That's Bobby 'Drop Table Users 😎

  • @dementedd
    @dementedd Před měsícem +72

    LMFAO i love how u replaced rust with windows and i agree

    • @aintnochange
      @aintnochange Před měsícem

      same

    • @DefaultMale_
      @DefaultMale_ Před měsícem +4

      I mean its the window commands that are rediculously bloated

    • @mapron1
      @mapron1 Před měsícem +2

      Clickbait, unfortunately. I fell for it.

  • @Xanax55
    @Xanax55 Před měsícem +32

    It's not a bug tbh, the code does what it supposed to do, you can write the same code in cpp or cs and expect the same result.

    • @asdfghyter
      @asdfghyter Před měsícem +15

      i think the code is supposed to do proper escaping according to the documentation, so it is indeed a bug

    •  Před měsícem +1

      ​@@asdfghyterI think CMD is just to old and abused. The issue is just that cmd is Windows /bin/sh programs frequently start subprocesses in shells it's not so new or bad just not for remote applications.

    • @rusi6219
      @rusi6219 Před měsícem +1

      Then why constantly point out things that are lesser problems to this in C to shill Rust?

    • @ilikeshiba
      @ilikeshiba Před měsícem +8

      @@rusi6219impact and decades of observed experience.
      I do think this is a bug because the function claims it sanitizes inputs. It is more on windows for being shitty but the function shouldn’t say one thing and do another.

    • @asdfghyter
      @asdfghyter Před měsícem +3

      @ i mean sure, that’s the main cause of the issue, but because the rust code decided to take on that responsibility by saying that it escapes it in the documentation, it does indeed have that responsibility. if it said “don’t use this on windows, [do other thing] instead” or something, then it wouldn’t be a bug. or if it said “you’re responsible for escaping and ensuring no command injection” it would also be fine

  • @tverdyznaqs
    @tverdyznaqs Před měsícem +30

    He really said "cmd.exe is bloated"... Like is it though? I have no idea, I'm not the type of nerd to judge that but it seems like a bit of a hot take...? That line would feel right at home on an "avarage linux user" soyjak meme, is all I'm saying

    • @the_synack
      @the_synack Před měsícem +3

      It's a poor take. This is not the OS's fault.

    • @nuggert
      @nuggert Před měsícem +2

      It’s pretty accurate.

    • @ohmsohmsohms
      @ohmsohmsohms Před měsícem +2

      U really think it’s not lmao? Benchmark ur commands.

    • @the_synack
      @the_synack Před měsícem

      @@ohmsohmsohms comparing against what?

    • @Kaizoku_apex
      @Kaizoku_apex Před měsícem +3

      Everyone who's anyone on Windows uses Powershell/Terminal anyways. Linux just had a major security vulnerability. It's just Linux bros reaching.

  • @that_tabby
    @that_tabby Před měsícem +13

    You are very wrong about how common or wrong this pattern (user input to shell) is.
    This is super common, mainly when a software needs to call utils like ffmpeg or whatever, and that is quite often based on a file path the user inputs.
    Sure, the app should always verify the parameters instead of a blind injection, but still very common and not an issue or stupid idea like you are saying.

    • @mk72v2oq
      @mk72v2oq Před měsícem +3

      This does not work with arbitrary executables. You need to call cmd.exe specifically, directly or via bat file.

    • @ra2enjoyer708
      @ra2enjoyer708 Před měsícem

      @@mk72v2oq And if you are writing `.bat` file it's very unlikely you won't invoke `cmd.exe` within it, since you are already in the territory of writing an ad-hoc script for you needs.

    • @mk72v2oq
      @mk72v2oq Před měsícem +1

      ​@@ra2enjoyer708 cmd is always invoked there. I.e. calling 'test.bat' implicitly expands into 'cmd.exe /c test.bat'. That's why the attack is possible in the first place.

  • @AndrossUT
    @AndrossUT Před 3 dny

    I love how this came out right after the big push to rust for memory safety

  • @ruchevsk3165
    @ruchevsk3165 Před měsícem +63

    This is the best timing. Right during the lunch break of your average wagie:)

  • @IndyAdvant
    @IndyAdvant Před měsícem +2

    Thanks for making this clear 🙏

  • @EditioCastigata
    @EditioCastigata Před měsícem +5

    How is this a bug in the caller? They pass along the entire string as first argument, like: execve("my.bat", ["text\" & calc.exe", …])
    Looks like batch, PowerShell, or whatever that is, first assembles the line and only then parses it for execution, now finding two commands.

  • @the_synack
    @the_synack Před měsícem +4

    I disagree, it is not a Windows issue. I don't know why this is being flagged as a Windows issue, as it could easily have been a problem with other operating systems if following a similar pattern. It's the developer, not the OS's responsibility, to sanitize user inputs.
    No clue why they rated this 10/10. It's a bad bug but it isn't 10/10 bad.

  • @jongxina3595
    @jongxina3595 Před měsícem +6

    mental outlaw is a rust dev now 👀

  • @TextualDeviant
    @TextualDeviant Před měsícem

    On another note, I love 2:36 with the second person manually handing over a normal, presumably *disconnected* keyboard for them to type on.

  • @johnsmith8981
    @johnsmith8981 Před měsícem +2

    This bug would be fun to set up in the THM room about command injection. It had an example of a website that pings a domain to see if its up and showed how you can use escape characters to run other bash commands.
    When I was doing that room my first thought was "but who would just pass arguments straight through to command line from a website?

  • @inLoopie
    @inLoopie Před měsícem +5

    Why do you call it a bug? It's obviously a feature duuh

  • @steffahn
    @steffahn Před měsícem +4

    I would have loved to also see a demo how after an update to Rust 1.77.2 the command execution no longer works.

  • @txorimorea3869
    @txorimorea3869 Před měsícem +11

    If mistakes when using languages like C++ are considered a flaw in the language then this is also a flaw in Rust and a Windows vulnerability. Corporations want to use code monkeys to pay them peanuts, they don't want to pay for professionals. That is the real problem.

    • @ShayneHartford
      @ShayneHartford Před měsícem +6

      This flaw is with C++, the flaw is in the C++ Windows API because Windows doesn't provide a parameterized way to pass the info, so rust has to parameterize then unparameterize it, but it wasn't doing that which is the problem. every other platform accepts parameterized natively.

    • @PoposteriousExe-ph5em
      @PoposteriousExe-ph5em Před měsícem

      All these idiots with college degrees to code don't even know how to find the critical bugs 😂 they are still on kindergarten level understandable .

  • @middleway1885
    @middleway1885 Před měsícem +6

    Lol, reminds me when people were able to open the cd drive of those playing counter strike in the olden days...

  • @13thravenpurple94
    @13thravenpurple94 Před měsícem

    Great video Thank you

  • @mr.hooman4438
    @mr.hooman4438 Před měsícem +38

    now we call all laugh at the people who said "thats why i dont use linux"during xz

    • @indetermite
      @indetermite Před měsícem +2

      Ong man

    • @no_name4796
      @no_name4796 Před měsícem +22

      Xz is a backdoor which got stopped in time.
      In windows who knows how many backdoors are put there INTENTIONALLY
      That's the difference: on linux it gets caught at some point, in windows, windows itself is a backdoor into your ass

    • @kristoffer8609
      @kristoffer8609 Před měsícem +7

      @@no_name4796 There's already a ton in linux as well, you just don't know about them. The XZ utils backdoor was just one that happened to be caught.

    • @CompuB1t
      @CompuB1t Před měsícem

      ​@@kristoffer8609I believe that if you can prove it. The main disadvantage with xz vulnerability was a systemd dependency with sshd.
      There's is no a way hack Linux because it is not standardized. But using most basic and used packages could be ways to hack the system but who knows if there are major vulnerabilities.
      For example, let's imagine you said. There are 17 backdoors on Linux systems, with ofuscated and hidden malware. If you can't prove it just a phrase.

    • @MazeFrame
      @MazeFrame Před měsícem

      @@kristoffer8609 If you want secure, you will have to live with the joys of using a microkernel.

  • @z_z
    @z_z Před měsícem +36

    ok well, what if I like bugs?

    • @evanhuizenga8626
      @evanhuizenga8626 Před měsícem +28

      Bugposter alert

    • @merkebrae
      @merkebrae Před měsícem +2

      Random bug event!!!

    • @z_z
      @z_z Před měsícem +29

      YOU WILL EAT THE SOFTWARE BUGS AND YOU WILL BE HAPPY

    • @j100j
      @j100j Před měsícem

      @@z_z Careful there. You're gonna ratio yourself.

    • @z_z
      @z_z Před měsícem +8

      ​@@j100j the only ratio you should be concerned about is the ratio of homes you don't own to the homes blackrock owns

  • @Fred-mv8fx
    @Fred-mv8fx Před měsícem

    A really common place you'll find people passing user input to batch files is gonna be wrapper scripts that set up the user environment prior to invoking whatever command was provided.
    I can think of a few common programs where the user always interacts with it through a batch file to make sure there are never any dumb errors due to environment configuration.
    If you expose one of those to a web service like a continuous integration build service, maybe you'll have something to think about.

  • @jaimeortega4940
    @jaimeortega4940 Před měsícem +18

    I think I remember similar bugs in PowerShell back in the day...

  • @Zaro2008
    @Zaro2008 Před měsícem +3

    I don't see how this is a Windws problem. CMD does exactly what it's supposed to do.

    • @rusi6219
      @rusi6219 Před měsícem

      Yes it's a Rust issue

  • @ae4e746
    @ae4e746 Před měsícem

    Estos dias se estan poniendo buenos los cve, ojala sigan buscando par cosas como estas

  • @niksatan
    @niksatan Před měsícem +68

    If you want to be safe from Windows Command Injection Bug, just don't use Windows.

    • @_xX_me_Xx_
      @_xX_me_Xx_ Před měsícem +3

      This ☝️

    • @luovuttaa
      @luovuttaa Před měsícem +13

      If you want to spend four hours each day getting correct drivers and finding versions that actually work with your hardware then don’t use Windows.

    • @MrEdrftgyuji
      @MrEdrftgyuji Před měsícem +5

      If you want to be safe from XZ Compression Exploits, don't use Windows?

    • @NeroCat9999vr
      @NeroCat9999vr Před měsícem +3

      Never using Linux and everything else is outdated or doesn’t run on modern PCs. I’m never running anything except Windows because everything else is garbage. Even Windows 8 and up is garbage that should never be used. Stick to Windows 7 and never go online. Permanently safe

    • @anon-fz2bo
      @anon-fz2bo Před měsícem +6

      ​@@luovuttaastop with this type of comments.

  • @utc_3
    @utc_3 Před měsícem

    This month is crazy for vulnerabilities. Good to know that they are being revealed before non-federal agents use them.

  • @Iswimandrun
    @Iswimandrun Před měsícem +2

    Log4J was a mistake caused by feature creep without feature config defaults that were rational for an open source project that wasn't properly funded and supported by the community the ssh backdoor was intentional attack using next level social engineering with complicated obfuscation on an open source project as well

  • @vfeuer9236
    @vfeuer9236 Před měsícem +3

    hi kenny... could you please do an update video on the best recent practices of VPNs, like openVPN, mullvad, and wireguard (now that i'ts becoming older) and vultr hosting (this one, I don't think your referral code still working), doesn't need to be about installation, just on overview. Thanks

  • @davidmeier1004
    @davidmeier1004 Před měsícem +1

    and in linux the xz hack didnt really make it out of the testing environments other than arch which wasn't effected.

  • @sdovhfunlahsvisegbakshfjbs4621

    One problem is that the libraries of these programming languages hide these shell shenanigans behind something that looks simple and reasonable enough so that any useful docs, if these exist, will not be read carefully, if at all. First and foremost, they offer some sort of arg list/array that reinforces the expectation that arg handling/escaping will be done by the library - as it should be.
    This whole cluster f"*ck is unnecessary anyway. Windows, like other MP OSes, does have a Win32 API for direct process creation without cmd.exe (shudder).
    Anyway, anyone who gets bit by direct exploitation due to lacking input sanitation earns part of the blame.

  • @Bejker321
    @Bejker321 Před měsícem +1

    Ah, yes the rust NSA backdoor’s been finally found I can sleep well knowing my windows 2000 server instance is safe

    • @skylo706
      @skylo706 Před měsícem

      Nsa is probably like: goddamn, my backdoor code doesn't run on that ancient piece of tech anymore, what sorcery is this?!

  • @robertramsey8871
    @robertramsey8871 Před měsícem +5

    You know thinking of different coding languages and knowing that one day they will basically end up at the same place, it always takes me back to those futuristic cartoon and TV shows from the 80s and 90s where someone executed something on a computer and there is some very slow moving timer or meter crawling across the screen despite the fact that we know that far in the future commands should be executed nearly instantaneously.
    Makes me wonder if this future code or computer infrastructure has resistors across computer connections that allows or requires arbitrary amounts of time to pass before a command is executed in order to prevent a bunch of instantaneous actions from occurring that humans wouldn't be able to prevent or detect similar to what you would see in a bunch of updates processing in Linux via the terminal flashing by.
    Data resistors. Required security feature in the future

    • @stevengill1736
      @stevengill1736 Před měsícem +2

      Then there should be data coils and capacitors too...data transformers too....err, maybe that's LLMs?

    • @ra2enjoyer708
      @ra2enjoyer708 Před měsícem

      More like a futuristic machine will have to allocate 4/5th of its RAM for all DRM-ladden frameworks in order to pass the command through all of them.

  • @qmac9966
    @qmac9966 Před měsícem +9

    So basically most normal people were not affected by this bug but now we know for sure it’s window’s fault😅

    •  Před měsícem +4

      No it's more the language libraries fault, it's their job to properly escape arguments, but can say that Windows makes it complicated to do that.

  • @steezysnipez6921
    @steezysnipez6921 Před měsícem +3

    You’re gonna post a full video on this but not FISA 702????

  • @plutorocks1
    @plutorocks1 Před měsícem +1

    World: XZ backdoor vulnerability
    MO: Let’s talk about Windows Vulnerability

  • @YeisenAchitel
    @YeisenAchitel Před měsícem +151

    is that why the government endorsed rust?

  • @0MVR_0
    @0MVR_0 Před měsícem

    this actually is not an issue
    windows administration catches bat commands executed without hierarchy
    in the normative case, a file would need to ask for access which kicks in a user prompt.
    Outlaw's verification is using an application that already has full permissions.

  •  Před měsícem

    you help me fall asleep thank you

  • @RATsnak3
    @RATsnak3 Před měsícem

    Ah, so nothing of note happened at Microsoft. Good to know, thank you for informing me!

  • @SuperStarPL
    @SuperStarPL Před měsícem +4

    It's not a bug ffs

  • @symbioticparasite6268
    @symbioticparasite6268 Před měsícem +1

    Excellent when access is already gained ....

  • @willi1978
    @willi1978 Před měsícem +1

    That rust library is meant to do that. It will run commands you give it. Wouldnt call that a vulnerability. Watch the video by lowlevellearning on the subject

  • @akin242002
    @akin242002 Před 2 dny

    Users: Fix the bug!!
    Java: No!

  • @seansingh4421
    @seansingh4421 Před měsícem

    I mean, unless you have total memory encryption any OS is susceptible to a well carried out cold boot attack.

  • @mygoodsir539
    @mygoodsir539 Před měsícem +1

    I thought the video was gonna end when he typed shutdown lol

  • @apIthletIcc
    @apIthletIcc Před měsícem +1

    Kinda wild that its really just a flaw in cmd exe but people instead blame only Rust. Crab haters, man.

  • @locust76
    @locust76 Před měsícem

    2024 is the year of the 10/10 CVE, apparently

  • @Napert
    @Napert Před měsícem

    Why is Java 8 still being worked on with latest update being released in January of this year?

  • @Jetstream__
    @Jetstream__ Před měsícem

    Was that XP you were running? Based.

  • @fakename2123
    @fakename2123 Před měsícem +1

    wonder why the whitehouse was pushing for rust over C LOL

  • @Kotfluegel
    @Kotfluegel Před měsícem

    I might have written something years ago, that is vulnerable to that. Don't know if I still have the source. It's a small spring boot web app calling wkhtmltopdf like that which passes a URL from user input as command line argument. And if someone like me has done it, I don't think you can "count the number of vulnerable apps on your fingers and toes" anymore.

    • @grubo8884
      @grubo8884 Před měsícem

      did you send that url to a bat file

  • @AskAKill99
    @AskAKill99 Před měsícem

    Lmao the way that works id definently say some type of 3 letter word agency.Its just so funny how you did the paint.exe,

  • @exzld
    @exzld Před měsícem +2

    man.. i log4j feels like forever ago

  • @NotAlegre
    @NotAlegre Před měsícem +1

    Scary how much of the software we take as granted can have such critical flaws since only God know when

  • @RucadiDev
    @RucadiDev Před měsícem +4

    I kinda don't consider this a bug to be honest.

  • @tulsatrash
    @tulsatrash Před měsícem +1

    To get your day started.

  • @fatayy
    @fatayy Před měsícem

    Anyone know what keyboard he uses or what type of keys sound like that

  • @ElSarcastro
    @ElSarcastro Před měsícem

    I might be missing something but how is this a vulnerability if to use it you have to design an application in a specific way that allows users to send arbitrary commands, which are stored in a bat file by the application and then are run by said application with no checks at all? Do all DBMS have a critical vulnerability because you can do SQL injections with poorly written backend code?

  • @kenny-kvibe
    @kenny-kvibe Před měsícem +1

    old bug... use ^ char to escape the " char, just like using the \ char in bash (backtick ` char in powershell)

  • @mrdiamond64
    @mrdiamond64 Před měsícem +1

    Does this exploit still work if the line with "echo" is removed?

    • @piguyalamode164
      @piguyalamode164 Před měsícem

      Yes!
      The injected command is run separately from the batch file. It doesn't matter what the batch file does at all!

    • @mrdiamond64
      @mrdiamond64 Před měsícem +1

      @@piguyalamode164 Oh that's interesting. Few years ago I observed that echo'ing a variable with an ampersand along with a command would lead to that command being run. I guess I completely misunderstood why the exploits worked.

  • @Kilogya
    @Kilogya Před měsícem

    Does anyone know any useful USB tools for computer analysis and any general information gathering that works with ventoy. I'm setting up an drive for repair and diagnostics with a few ISO files for installing linux and Win10, but I've yet to find any useful tools that are compatible with UEFI. I'm running a laptop that only has 32gbs of storage space, and 300nb - 2gb of space available at any given time "thanks to windows and HP bloat." I'm also considering switching to Linux (Ubuntu) to replace windows because of this issue but I need these tools incase anything may go wrong. I don't have space for backups other than simple data from browser prefs, keys, and codes that can be written in a text document.
    PS - My drive currently has around 6gb free so I have some space left for downloads. And I'm seriously tired of low space warnings and performance issues due to low space, please debate with me.
    Oh, one more thing, I'm stuck on an update from 2020 or lat 2019 thanks to this. I'm limited to my USB that is used to save senstive data and I cannot risk formating it, I only have one available at the moment, low class citizen here asking for help.

  • @thatonebroski
    @thatonebroski Před měsícem +67

    reject modernity. embrace history.
    reject Rust, embrace C and assembly

    • @rusi6219
      @rusi6219 Před měsícem +7

      C and assembly is anything but history

    • @fionnanobaoighill
      @fionnanobaoighill Před měsícem

      @rusi6219 🧢

    • @Contractor48
      @Contractor48 Před měsícem

      I like my language like my sex. Slow and easy like Python.

    • @no_name4796
      @no_name4796 Před měsícem +2

      Yeah. Only the linux kernel is probably more code then most programmer will ever write in their lifes and it's mostly C

    • @qqqalo
      @qqqalo Před měsícem +9

      The bug is literally just having unsanitised inputs. The exact same thing would happen in C if you had the same implementation.

  • @goofballbiscuits3647
    @goofballbiscuits3647 Před měsícem

    Haven't made a bat file in fourteen years lol I did the math on the last time I needed to.
    It was to configure PDAs used by my old organization's supply chain.
    🎉 Fkn PDAs family 🎉

  • @LiveType
    @LiveType Před měsícem +4

    I somehow actually encountered this piping commands to a c based string processing program through python.
    A little strange people consider this a 10/10 vulnerability. This is at most like a 3/10 vulnerability with a 10/10 skill issue involved.

    • @rusi6219
      @rusi6219 Před měsícem +1

      When it's C it's a problem with the language when it's Rust it's a skill issue

    • @Sleestiq
      @Sleestiq Před měsícem

      @LiveType agreed

  • @zyxwvutsrqponmlkh
    @zyxwvutsrqponmlkh Před měsícem +1

    10:55 Meer alcohol doesn't thrill me at all. 🙅❄👃

  • @owlmostdead9492
    @owlmostdead9492 Před měsícem +1

    There needs to be a 10.1 rating for “oh shit nuke everything this thing touched” which would be XZ.

  • @stemcellphone
    @stemcellphone Před měsícem

    10:57 now, he wont freebase cocaine if he's driving, and it's a sunday.

  • @pantsuonfire2709
    @pantsuonfire2709 Před měsícem +8

    Loved that Java won't fix it. Such chads

  • @Chill57293
    @Chill57293 Před měsícem

    Can you link the articles in the video description?

  • @xodzphone
    @xodzphone Před měsícem

    Rust and windows? Is it when wsl is enabled?

  • @mr.wednesday9173
    @mr.wednesday9173 Před měsícem

    What happened to libre podcast?

  • @takase5037
    @takase5037 Před měsícem +1

    I'll put this out there: cmd.exe argument escaping is NOT the same as a program using UCRT (most programs).
    Windows does not have argc+argv; and UCRT emulates them following a rule. cmd.exe inherited an arcane escape rules that is ever so slightly different. The (IMO) ONLY way to escape properly for cmd.exe is to use the /S flag (iirc). It removes the first quote and the last quote of the command line string.
    TL;DR: blame Windows for bad design, and blame them for not addressing the bad design, and then triple blame them for not publishing THE LITERAL FIX THEY HAD WRITTEN as a part of Windows API.

  • @sys935
    @sys935 Před měsícem

    Everything vulnerable we need web based container os such as chrome os

  • @Iswimandrun
    @Iswimandrun Před měsícem

    So I have seen this in Lua projects all the time.

  • @alphabetsoup4269
    @alphabetsoup4269 Před měsícem

    Link to the threat level page please

  • @user-ef1rs5to5y
    @user-ef1rs5to5y Před měsícem

    Kenny can you make a video on kicksecure?

  • @MrHatoi
    @MrHatoi Před měsícem

    This isn't actually *that* strange of a thing to do, there are a lot of utilities whose only API (or only well-documented/usable/stable API) is effectively just their command line interface (off the top of my head, ffmpeg is a widely used example of this, and I'm sure with less widely used software there are far more examples), so really the only way to integrate those programs into a larger program is to call it as a command. It's also not *that* uncommon for command line utilities' entry point to be a wrapper script that does some setup before calling the actual program, so it's very likely that there are a lot of real-world scenarios where something like this is the most practical way to implement a feature.

  • @lukafireman
    @lukafireman Před měsícem

    This is such an off case user situation that I can't even start to understand where someone would actually use it.
    Think of this, a RUST Server (Weird, right) taking user input and passing to .bat??? X"DDD
    I can't even understand why someone would want to do that.
    Also, when you've noted that this is "Not something you can handle with user input handling" I highly doubt that it's that difficult to sanitize the input.
    Besides, who in their right mind would even invoke .bat from rust, it just doesn't make sense to me. Using a low level language to invoke and script a super old CLI Language.
    I agree how you noted "You can probably count these on one hand".

  • @Ledplous
    @Ledplous Před měsícem

    What a month, xz backdoor and now this