Тёмный

Why you should Close Your Files | bin 0x02 

PwnFunction
Подписаться 201 тыс.
Просмотров 319 тыс.
50% 1

#BinaryExploitation #FileDescriptor #Attack
In this video, we're gonna look at how one can abuse file descriptors in some cases to get access to "sensitive" documents.
🔗 Code + Build Instructions: old.hackercamp.co/
🔗 Original Blog: www.sektioneins.de/en/blog/15...
💬 Discord: / discord
🐤 Twitter: / pwnfunction
🎵 Track: Warriyo - Mortals (feat. Laura Brehm)
NCS link: • Warriyo - Mortals (fea...

Опубликовано:

 

22 апр 2021

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 525   
@PwnFunction
@PwnFunction 3 года назад
Bois I've got covid, I'll be back soon.
@vasa_kot
@vasa_kot 3 года назад
cool
@KrXYT
@KrXYT 3 года назад
RIP
@KrXYT
@KrXYT 3 года назад
the fact you commented 13 minutes ago is insane, ive gotten this in my recommended like every refresh for like the past week and just now decided to watch it
@feyg0
@feyg0 3 года назад
F
@fdsf9886
@fdsf9886 3 года назад
rip
@chezcake256
@chezcake256 3 года назад
0:27 “guys I gotta close my keyboard hold on”
@jhonreydaffon8156
@jhonreydaffon8156 3 года назад
Unplug it after using XD
@theepicbruhman2254
@theepicbruhman2254 3 года назад
@@jhonreydaffon8156 just cut the wire
@Barrosy
@Barrosy 3 года назад
Hold on... Lets close my network socket as well. 0:28
@Lovuschka
@Lovuschka 3 года назад
"Why you should close your files." "Network sockets are a file" Okay, closed them. How do I connect to the internet again now?
@julians.2597
@julians.2597 3 года назад
linux be like: "everything is a file" --> sudo shutdown now -h
@Handlessuck1
@Handlessuck1 2 года назад
@@julians.2597 Wait if everythings a file am I a file?
@Rudxain
@Rudxain 2 года назад
This is like OOP, everything is an object
@Handlessuck1
@Handlessuck1 2 года назад
@@Rudxain Imagine programming with FOP
@Rudxain
@Rudxain 2 года назад
@@Handlessuck1 That would be an interesting concept. Like accessing file metadata using computed property access. Setting permissions using object descriptors (file descriptors). Classes would be programs specifically designed to create a certain kind of file, so VIM is a class whose constructor returns a new plaintext file object. The only problem is that *EVERY* file is allowed to have own function properties, which means they can come bundled with method scripts that aren't inherited from the prototype, possibly allowing arbitrary code execution lol
@giacomoflisi
@giacomoflisi 3 года назад
This whole channel is so good, I'm glad i stumbled upon this gem of the internet today!
@the_agent_z
@the_agent_z 3 года назад
same!
@dsi-films1264
@dsi-films1264 3 года назад
Same
@knightbeast4672
@knightbeast4672 2 года назад
well, I did today!1
@aleksandermirowsky7988
@aleksandermirowsky7988 Год назад
This video is literally the most informative piece of media about this topic in the entire platform. Instantly subscribed to the channel. Great stuff.
@rjhornsby
@rjhornsby 3 года назад
with sincere admiration, between the art style and the narrator’s voice I fully expected him to end with “now, fire ze missiles!”
@BlueTac1992
@BlueTac1992 3 года назад
But I am le tired
@kevinalexander4959
@kevinalexander4959 3 года назад
so old school before even RU-vid was out and flash cartoons were all the rave!
@BlueTac1992
@BlueTac1992 3 года назад
@@kevinalexander4959 hell yeah, just like burnt face man
@cat-.-
@cat-.- 3 года назад
Bruh, YT recommended this video to me today, I saw the channel name, I saw the video title, and I immediately subscribed
@tachonko5487
@tachonko5487 3 года назад
Ok I just found your channel thanks to your XSS vid, and it’s amazing ! You really helps to understand some complicated contexts, especially for someone who is new to this environment. Keep up the good work 👌
@wiri2391
@wiri2391 Год назад
Your visualisations are on point! Everything feels smooth. Thank you!
@3bdo3id
@3bdo3id Год назад
That is not the case when you try doing it yourself! I am trying just right now and file 3 is not left behind, I think that is a patch of the ubuntu that made this for now but I may return to edit this comm if I figure out what is the wrong
@ahmedlimam2241
@ahmedlimam2241 3 года назад
I want youtube to start recommending this type of videos more! sadly I can't help but watch cat videos every now and then...
@codeIMperfect
@codeIMperfect 3 года назад
Go to the 3 dot menu against those videos and select 'Not Interested'. I know it'll be hard but you gotta do it😥
@googleuser8512
@googleuser8512 3 года назад
This is awesome. I'm so happy I got this recommended. Keep up the great work!
@mr_ehmed
@mr_ehmed 3 года назад
Much awaited ❤ i hope this playlist grows n grows 😍
@sawcondeez
@sawcondeez 3 года назад
Great explanation and examples. Thanks for making this video! I like your terminal theme btw, very nice colours
@pasteancalin7826
@pasteancalin7826 3 года назад
This just popped up in my feed. Watched 4 minutes and I love it. Subscribed 🔥🔥
@ligamo2615
@ligamo2615 Год назад
This channel is actually amazing. I love it!
@user-vr4mv4pg5u
@user-vr4mv4pg5u 3 года назад
man u are the best rare to find someone that explaines the subjects that good
@bartoszstaszewski6325
@bartoszstaszewski6325 3 года назад
This channel is amazing. I just love the graphics and how you explain those things. Wish you'd do more videos about linux filesystem, and low level stuff.
@patrickdee7365
@patrickdee7365 3 года назад
Very smooth and well explained love it!
@artyomkurguzkin5271
@artyomkurguzkin5271 3 года назад
Seeing technical videos of such high quality is mind-blowing. My regards=)
@XThexFenderX
@XThexFenderX 3 года назад
This is a hella cool video
@MattMcT
@MattMcT 2 года назад
So good as always, pwn! Hope you get better and get plenty of rest 🍻
@0xbyt3z
@0xbyt3z 3 года назад
one of the best channels with quality content.
@DarkMonsterGFX
@DarkMonsterGFX 3 года назад
Amazing vid sir! Please, keep them coming! :D
@iamworstgamer
@iamworstgamer Год назад
bro uploaded this content for absolutely free. you are a legend
@SEX_ON_DRUGS
@SEX_ON_DRUGS 3 года назад
loving this series so far :)))))00
@beterax
@beterax 3 года назад
Amazing visual style!
@SuryaTejaKarra
@SuryaTejaKarra 3 года назад
Great find as always mate.
@ChildishBerbino
@ChildishBerbino 3 года назад
I appreciate you and your work so much. As someone with a learning disability, my learning curves are fucked to shit. Sometimes I'll go a month feeling like no progress had been made, then all in one jump every subject and related ones click. Watching your videos, speed this learning process up for me immensely, and I'm so grateful. I hope your Covid-19 is gone by now. We need you ❤️
@anirudhakumar2271
@anirudhakumar2271 Год назад
Bruh. This is amazin, you killin it
@brold6111
@brold6111 3 года назад
You deserve way more subbs lol. You convinced me from the first video. Great job.
@karthibalaji3817
@karthibalaji3817 3 года назад
Awesome work mr.pwn !
@kericlapboards7737
@kericlapboards7737 3 года назад
Thank you for linking to the original blog!
@nikolaisafronov3452
@nikolaisafronov3452 3 года назад
Wish you strength! Your videos are super, pls pls keep it up
@andylib
@andylib 3 года назад
Crazy stuff as always 🔥
@kennichdendenn
@kennichdendenn 2 года назад
Thanks, Rust, for closing files on drop (standard: when the variable goes out of scope), as do many others. Sometimes I think RAII is kinda the wrong term, as closing/deallocating/whatever on dropping your value seem equally if not more important in practice.
@sephirothbahamut245
@sephirothbahamut245 Год назад
RAII has always been the wrong term, but it caught on. And I guess C(lose)O(n)D(estruction) would remind too much Call of Duty
@thewelder3538
@thewelder3538 Год назад
Yup, let's all have the compiler do stuff for us because it's too complex to do it ourselves!! It's what makes the difference between a good coder who is aware of such things and people who need a runtime to remember all the things they forget because resource management is too complex for them. You might as well just advocate for gameSpaceInvaders.create(); gameSpaceInvaders.run() and have the compiler generate the entire thing for you. Coding and coding well is a skill, but NOT today, it's, let the runtime handle that, import some else's library, job done.
@jort93z
@jort93z Год назад
@@thewelder3538 It's a matter of efficiency. Why have people write the same code hundreds or thousands of times? Consumers (because that is who needs to pay for software at the end, even internal software) don't want to pay for developers writing boilerplate code over and over. You want working code the smallest possible amount of effort. Of course, it needs to be fast and safe as well, but nobody has time and money for developers to mess around and try to perfect every little thing. It's generally not that people couldn't do it, but simply that they don't want to.
@thewelder3538
@thewelder3538 Год назад
@@jort93z I'm not sure if you're actually arguing what you think you are. It's simple, if a class opens a file handle, it should close it. It has nothing to do with efficiency. Your arguing that the runtime should close the file handles that YOU forgot to close. This is like the ultimate lazy coders paradigm, where you rely on the runtime and compiler to fix all your bad code for you. Sure, there are always deadlines and stuff, but releasing a badly bugged product affects reputation WAY more than a release delay. The problem with many coders nowadays, is they have literally NO idea what is going on under the hood of the languages they are writing in. I think they should all do a stint writing x86 or ARM assembly because then you HAVE to take care and do things properly. None of this... whoopsie, I accidently left a file handle open, not to worry, the runtime will sort that for me, mentality. You do things right, or you resource leak and your program dies. Then, once you've got that level of understanding, apply it to a higher level and then you'll realise just how much nonsense it is letting a runtime close a file handle, just because it can. This applies to more than just file handles though, it applies to any resource. The same as a GOOD coder has no concept of a string, it's just a list of bytes. Dynamic containers, like vector/map/set etc, most have no idea what's actually going on. But work in assembly for a bit and then you realise how much pain and suffering these dynamic containers save you from.
@jort93z
@jort93z Год назад
​@@thewelder3538 "This is like the ultimate lazy coders paradigm, where you rely on the runtime and compiler to fix all your bad code for you" Well, or you look at it another way, you rely on the compiler/runtime, so you need to write less code for the same thing. Just because your code is less verbose, doesn't make it worse. If you know you can rely on the compiler/runtime, there is no need to write it out explicitly. Your problem is you seem to think that people just forget to close it. It isn't that people forget, but simply that people don't want to. Being stupid, and being lazy, are very different things. Generally, smart and lazy people are the best programmers.
@tanned_cosines_
@tanned_cosines_ 3 года назад
i just started watching this series today wasn't expecting 3rd ep so soon btw
@callumery119
@callumery119 3 года назад
Nice PFP bro
@tanned_cosines_
@tanned_cosines_ 3 года назад
@@callumery119 commendable to you too, lol someone who notices :)
@nameless_9504
@nameless_9504 3 года назад
U did it worng it's btw >& this 😂😂
@enrique4012
@enrique4012 3 года назад
That's why we use 'with open...' so it get closed when the code is finished.
@MakkaPakka7999
@MakkaPakka7999 2 года назад
python
@synacktra
@synacktra 2 года назад
that's why they made 'with' keyword so we don't fck up, another amazing thing is defer in golang.
@gorak9000
@gorak9000 2 года назад
That's all fine and good in python, but there's no such thing in C, and all the "real" code that does actual work is written mostly in C
@techheck3358
@techheck3358 Год назад
@@gorak9000 you’re watching this on RU-vid, on a website written in html, with effects written in JavaScript, with a backend of C++. Take your elitism elsewhere
@gorak9000
@gorak9000 Год назад
@@techheck3358 Uh, I'm not sure where you got this sense of "elitism" from, but thank you for re-enforcing my point that not all software is written in Python, so saying "use 'with' in Python" is not a solution to this issue. I'm just trying to quell the "python fanbois" that no, there actually do exist other languages out there that don't have "auto" file closing. So many "coders" these days think they can string 5 lines of python together, so now they're "software developers". I interviewed 5 or 6 such people in the last couple of weeks. I don't know wtf they are teaching in CS these days, but it's either not getting through to people, or CS education has really taken a nosedive in the last 5 or 6 years. You ask these "software developers" basic data structures questions, or complexity (big oh) questions, and they look at you with a blank stare like you're talking a foreign language.
@monsieuralexandergulbu3678
@monsieuralexandergulbu3678 3 года назад
Nice drawings, i like your explanation, keep going!
@PwnFunction
@PwnFunction 3 года назад
Thank you, I will
@SteveTheNerd
@SteveTheNerd 3 года назад
Really good videos! It definitively makes me a better developer. I also like your video style with the hand drawn aestetics. What do you use to record your drawing? Just curious 😇
@thomas.n.jordan5093
@thomas.n.jordan5093 3 года назад
so underrated, keep it up!
@niewazneniewazne1890
@niewazneniewazne1890 3 года назад
It makes sense to me except the exploit part at 7:04, we are piping to stdin of newgrp an echo command into a setuid binary/binary with permissions to write "/etc/sudoers"? I don't get the shell script. Also the OSX case is part of the semingly same "mistake", except it doesn't use exec(); except exec() is never used, and the linker should run with permissions of the target binary. 1:11 this is a very honest beginners mistake of "exec() runs a new program, so kernel has to clean up everything that made up the old process"(and this behavior can have usefull usecases).
@doretox
@doretox 3 года назад
thanks liveoverflow for introducing me to this channel
@HaxorBird
@HaxorBird 3 года назад
1:15 I was also thinking of this guy. Nice video btw
@Vlad-1986
@Vlad-1986 3 года назад
This guy seems cool. Top class teaching.
@oliveira_mh
@oliveira_mh 3 года назад
Awesome vídeo, thank you!
@suman-majhi
@suman-majhi 3 года назад
So after this long time....this channel get recomend in everyone's homepage....I wish, I got this channel before
@klaasweerstand1577
@klaasweerstand1577 3 года назад
Thanks for the warning, I will keep it in mind.
@ArbaouiBillel
@ArbaouiBillel 3 года назад
Amazing explanation keep going hero
@conqu3red545
@conqu3red545 3 года назад
I really like your video style
@lahiruchathuranga343
@lahiruchathuranga343 3 года назад
We need more..this is so addictive
@g3tl0st30
@g3tl0st30 3 года назад
@filedescriptor a huge fan of him, since long time.
@Hobbitstomper
@Hobbitstomper 3 года назад
Got worried that your last pinned message was 2 weeks ago saying you got COVID. Had to sort the comments by date to see if you made other replies since then. Saw one from last week and then one from today. Glad you're still with us. I hope you're feeling better.
@PwnFunction
@PwnFunction 3 года назад
I'm good now, writing script for the next video :)
@heyarvee
@heyarvee 3 года назад
Excellent explanation! 🔥 also, your terminal theme is sick! what theme is it?
@samarthverulkar4529
@samarthverulkar4529 Год назад
This is channel is addictive
@userou-ig1ze
@userou-ig1ze 3 года назад
on recommended today, immediately subbed. Is there a way to scan for open handles with elevated privileges, that are 'not supposed to be there'?
@RocketLR
@RocketLR 3 года назад
This was SO GOOOOD!
@makaupp
@makaupp 2 года назад
You are smart. Subscribed :)
@milkibearmilkibear
@milkibearmilkibear 2 года назад
Oh, that was good, I didn't knew that... THX!
@user-mh4sc1mt4h
@user-mh4sc1mt4h 2 года назад
I hope you will continue this series
@odddellarobbia4
@odddellarobbia4 3 года назад
glad i found this on my recommendation
@RAZREXE
@RAZREXE 3 года назад
This channel is sooo dope
@callumery119
@callumery119 3 года назад
LOVE THESE VIDS
@hupa1a
@hupa1a Год назад
Very good one!
@SolarizedPhoenix
@SolarizedPhoenix Год назад
This has legit made me start closing files, even though I dont work with anything that needs security.
@TorutheRedFox
@TorutheRedFox 2 года назад
Java actually has some edge cases that keeping a file open helps in, like, for example, temporarily adding a certificate to the certificate store without having permissions to actually write to it, because your CA is relatively recent and has compatibility issues with Java (talking about Let's Encrypt here lol) this works because Java keeps a copy of the file in memory until you close it that it writes any changes to, before dumping them into the file when you close it. but if that never happens, the file will stay resident in memory, and Java being Java will reuse that copy in memory rather than reloading it into memory when something else in the same vm tries to access that same file, that file being the Java certificate store in this case
@kebien6020
@kebien6020 2 года назад
I thought buffered IO was a thing in most programming languages?
@jeanlasallevevo6315
@jeanlasallevevo6315 3 года назад
Heyo, could you share your terminal colorscheme? I've been looking for a contrasty/vibrant colorscheme for quite some time and yours looks absolutely amazing.
@andrewlainson7954
@andrewlainson7954 2 года назад
Love this content
@hentie5371
@hentie5371 2 года назад
nice vid, subbed.
@liviuq
@liviuq 3 года назад
Yeppers, your videos are so cool!
@soulninjadev
@soulninjadev 3 года назад
next liveoverflow 🔥🔥
@whathefuckisthis
@whathefuckisthis 3 года назад
So using the method you showed would the normal user only be able to perform actions on that file? Or does it expose bigger vulnerabilities, like manipulating other root files? This was a really cool video! Loved when it all tied together with a real world example
@hardcorshik31
@hardcorshik31 2 года назад
You could edit the sudoers file and then you have admin access to the system
@megri3441
@megri3441 3 года назад
Too informative. Thx
@wilburthemango
@wilburthemango 3 года назад
great video!
@lap773
@lap773 3 года назад
Interesting content!
@nagitokomaeda3237
@nagitokomaeda3237 3 года назад
OOOOOOOOH THAT SOOOOOONG I REMEMBER IT subscribed
@kaprikornz
@kaprikornz 3 года назад
This is so cool 😍
@salmanmohammed8894
@salmanmohammed8894 3 года назад
Thanks for the great video, the terminal font looks awesome. What is it?
@kylegivler8372
@kylegivler8372 3 года назад
Thanks for sharing :D
@maorhamami8106
@maorhamami8106 2 года назад
What about the time the process use the file? I mean it do close it but it takes time - users can still read the content during that time or am i missing something? Epic channel btw
@ciberman
@ciberman 3 года назад
What kind of LiveOverflow is this channel. Jk, amazing content!! ❤️
@ranger.1
@ranger.1 3 года назад
bro ur goated!
@DarshanShah10
@DarshanShah10 Год назад
What are the fonts you use? Quite aesthetic!
@BCTAHbKA
@BCTAHbKA 2 года назад
هذا أفضل فيديو على الإطلاق
@pu239
@pu239 2 года назад
That intro was really slick. Where and how did you make this?
@david_shiko
@david_shiko 3 года назад
Cool video, but wait a minute, is it means that I able to get access to every file which opened for long read/write operations or opened inside an infinite loop?
@paimonbutter
@paimonbutter 2 года назад
What terminal do you use. It looks so nice
@ieg_offical4679
@ieg_offical4679 Год назад
Thanks for tutorial
@rubex.
@rubex. 3 года назад
Great video, maybe boost the volume a bit in your next video.
@TheRealFrankWizza
@TheRealFrankWizza 3 года назад
Devices are a file in the /dev/ directory, so on and so forth.
@mohamedsoliman3511
@mohamedsoliman3511 3 года назад
great work bro, may I ask you how did you colorized you terminal this way? I love it 😍 thanks in advance ☺️
@wheeI
@wheeI 2 года назад
zsh theme
@XDjUanZInHO
@XDjUanZInHO 3 года назад
Windows solves all of your issues by remembering you that if you don't close the file handler you won't be able to use the file >:D
@ErrorNoInternet
@ErrorNoInternet 3 года назад
lmao
@idkidk9204
@idkidk9204 3 года назад
lmao
@PyPylia
@PyPylia 3 года назад
You can still read from a file handler on Windows even if it's open as write or read in another program. You just can't write to it if it's open as write in another program.
@Aidiakapi
@Aidiakapi 3 года назад
@@PyPylia Whether you can depends on how the file has been opened. You can open a file for read and still block everyone else from accessing it.
@darxoonwasser
@darxoonwasser 3 года назад
@@Aidiakapi Which is what PowerPoint does. So annoying
@youri0soul
@youri0soul 3 года назад
i finished this video subscribed to the channel went to check more from your channel then realised that i have watched all your videos already now i feel what crack addicts feel :(
@chefnerd
@chefnerd 3 года назад
aaaaand subscribed :)
@jankowalski-py1ey
@jankowalski-py1ey Год назад
I need some clarification about the Apple bug - isn't the ability for a regular user to overwrite a root owned file with logs a huge issue already, even if you didn't have control of the contents?
@gustavosaviano
@gustavosaviano Год назад
excellent video, thanks! btw, how do I setup my linux cli the same style as yours? (:
@fmobus
@fmobus 2 года назад
that's a beautiful font
@StolenPixel
@StolenPixel 3 года назад
amazing channel thank you so much for educating me and helping me learn more
@autofied
@autofied Год назад
Boss tNice tutorials mate, thanks
@sakesyordi4234
@sakesyordi4234 2 года назад
Amazing
@winstonlopez6117
@winstonlopez6117 3 года назад
Havent finished vid but at 1:22 the screen looks cool with the asian code running in background like the Matrix. NICE !
@JohnnyAlex2u
@JohnnyAlex2u Год назад
can you show how did you setup your env ? theme and other software. cheers
Далее
How some functions can be Dangerous | bin 0x01
15:20
Просмотров 140 тыс.
HTTP Parameter Pollution Explained
11:08
Просмотров 249 тыс.
Факты, Спасающие Жизнь 13 🔥
00:41
Каха инструкция по шашлыку
01:00
Dangerous Code Hidden in Plain Sight for 12 years
18:00
What's inside a .EXE File?
8:27
Просмотров 408 тыс.
What are Executables? | bin 0x00
8:35
Просмотров 183 тыс.
one wrong npm package
19:27
Просмотров 182 тыс.
Linux File System/Structure Explained!
15:59
Просмотров 4 млн
Randomness is Random - Numberphile
13:31
Просмотров 862 тыс.
Server-Side Template Injections Explained
9:54
Просмотров 87 тыс.
The Linux File System in 4  Minutes | A MUST Learn
3:51
Факты, Спасающие Жизнь 13 🔥
00:41