
English: 
The DEFCON CTF qualifier had a new category called speedrun and so in this video
I want to talk about this category
Provide a video walkthrough of the first challenge and also some data I think that could be interesting
So in the speedrun category a new challenge was released every two hours and the first few solving it got more points
Afterwards, it was only worth 5 points as well as points for being the fastest overall
The challenges were generally pretty simple and at least for our team they were not a priority
But I think this format has potential
We have a problem with those big CTS that the challenges are too hard for beginners
You might wonder why they don't just include a few basic challenges
but the issue here is that the beginner challenges just
Cost time to solve and so they take away valuable time from the hard challenges

Turkish: 
DEFCON CTF niteleyicisi speedrun adında yeni bir kategoriye sahipti ve bu videoda
Bu kategori hakkında konuşmak istiyorum
İlk zorluğa ilişkin bir video ve aynı zamanda ilginç olabileceğini düşündüğüm bazı verilerden bahsedin
Böylece speedrun kategorisinde her iki saatte bir yeni bir meydan okuma çıktı ve ilk birkaç çözme daha fazla puan aldı
Daha sonra, toplamda en hızlı olmak için puanların yanı sıra sadece 5 puandı.
Zorluklar genellikle oldukça basitti ve en azından ekibimiz için öncelik değildi.
Ancak bu biçimin potansiyeli olduğunu düşünüyorum
Bu büyük CTS ile sorunların yeni başlayanlar için çok zor olduğu konusunda bir sorunumuz var
Neden sadece birkaç temel zorlukları içermediklerini merak edebilirsiniz.
Fakat buradaki mesele aceminin sadece meydan okuması
Çözülmesi gereken maliyet zamanı ve böylelikle zorlu zamanlardan değerli zaman ayırırlar

English: 
That's why generally the top teams find basic challenges a bit annoying
But wrapping it into a speedrun makes that interesting again creating good tooling around
speedrunning and optimising efficiency can be interesting for the top teams and
We get basic challenges that beginners can solve too
So they can also participate with some success in the big CTS
The speedrun mechanics that the DEFCON qualifier used were probably not perfect
Time zones are an issue, but also may be how the points were rewarded. But that doesn't mean the category was completely bad
I want to see CTF experiment more with this format and try out different
mechanics and maybe we find an implementation that is really fun for the top teams and
Allows beginners to participate too also as a video creator. I feel like there could be cool to record
Anyway, speedrun 0:01

Turkish: 
Genelde üst düzey takımların temel zorlukları biraz can sıkıcı bulmasının nedeni budur.
Fakat onu bir speedrun içine sarmak, etrafta iyi takımlar yaratmayı tekrar ilginç kılıyor.
Speedrunning ve optimizasyon verimliliği en iyi takımlar için ilginç olabilir ve
Yeni başlayanların da çözebileceği temel zorluklar alıyoruz
Böylece büyük KTS’de bir miktar başarıya katılabilirler.
DEFCON niteleyicisinin kullandığı speedrun mekaniği muhtemelen mükemmel değildi
Zaman dilimleri bir konudur, ancak puanların nasıl ödüllendirildiği de olabilir. Ancak bu, kategorinin tamamen kötü olduğu anlamına gelmez
CTF denemesini bu formatla daha fazla görmek ve farklı denemeler yapmak istiyorum
mekaniği ve belki de en iyi takımlar için gerçekten eğlenceli bir uygulama bulduk ve
Yeni başlayanların aynı zamanda video oluşturucu olarak da katılmalarına izin verir. Kayıt yapmak için harika bir yer olabileceğini düşünüyorum
Her neyse, speedrun 0:01

Turkish: 
Bu zorluğun çözülmesi beni en kısa sürede değil, 17 dakika 30 saniye sürdü.
Ayrıca bunun için hazırlıklı değildim ve yol boyunca bazı hatalar yaptım ama yine de güzel
Basitçe benim ikili kullanım serisini takip edersen. Senin için de kolay olmalı
Kanalımdan hızlıca kurulum konuşalım
Eski videolarımda kullandığım Mac'te taşınabilir zorluklar yaşadığımı bulabilirsiniz.
Linux sanal makinelerini yönetmenin bir yolu olarak serseri
Ancak, o zamandan beri liman işçisi kullanmaya başladım ve bunu henüz göstermedim. Oldukça basit
Docker'ı yükleyip basitçe istediğiniz Ubuntu görüntüsünü çekin ve bir kabı çalıştırın.
Zaten bazı aletlerin kurulu olduğu görüntünün kendisine ait bir otu var ama özel bir şey yok
Ben
Aşağıdaki açıklamada paylaşma ancak hiçbir şekilde eksiksiz veya gerçekten düşünülmemiş, başkalarının da CTF liman işçisi resimlerini bulabilirsiniz.
github
Her neyse, docker derlemeli bir görüntü oluşturabilir ve ardından docker dosyasına boru ekleyebilir ve bu işlem biraz zaman alabilir.

English: 
Solving this challenge took me 17 minutes and 30 seconds by far not the fastest
I also didn't really prepare for it and I made some mistakes along the way but still pretty
Straightforward if you followed my binary exploitation series. It should also be easy for you
Let's quickly talk setup on my channel
You can find older videos of me doing portable challenges on my Mac where I used
vagrant as a way to manage Linux virtual machines
However, I have since moved to using docker and I haven't shown this yet. It's pretty simple
You install docker and then just basically pull the Ubuntu image you want and run a container
I have my own herb unto image that has already certain tools installed, but it's nothing special
I'm
Sharing it in the description below but it's by no means complete or really thought out you can also find other people CTF docker images
on github
Anyway using that you can build an image with docker build and then piping in the docker file and that will take quite a while

Turkish: 
Daha sonra görüntü, liman işçisi resimlerinizde görünecek ve bu görüntüyü liman işçisi ile dolu bir kap olarak çalıştırabilirsiniz.
- - RM, kabı çıkarken otomatik olarak çıkarmak için
- V, dizüstü bilgisayarım ve liman işçisi arasında paylaşılan bir birim oluşturmak için geçerli dizini paylaşıyorum
Mac'imde PWD - klasör kabın içinde PWD'yi keser
Sonra da izin vermek için yeteneği ayarlamak zorunda
Petrus sistemi çağırır ve ayrıca kum kutusunu devre dışı bırakır, böylece kabın içinde gdb kullanmakta sorunumuz olmaz
Ve sonra - Kullanmak istediğimiz liman işçisi görüntüsünü seçerim
Ayrıca, belirli bağlantı noktalarını liman konteynerinin içinden göstermek istiyorsanız
Ayarlamanız gerekir - P bu çalışan konteynır daha sonra PS docker’da belirir.

English: 
Afterwards the image will show up in your docker images and then you can simply run this image as a container with docker run
- - RM to automatically remove the container when it exits
- V to create a shared volume between my laptop and the docker container and I'm sharing the current directory with
PWD on my Mac - the folder slash PWD inside of the container
Then I also have to set the capability to allow
Petrus system call and also disable sandboxing so that we have no problem using gdb inside of the container
And then - I we select the docker image that we want to use
also, if you want to expose certain ports from within the docker container
You have to set it with - P this running container then shows up in docker PS

Turkish: 
şimdi bu çalışan kabın içindeki işlemi yürütmek için herhangi bir miktarda docker x'q terminali kullanıyorum ve
temel olarak
Ben sadece bash yürütüyorum
Bu yüzden bir kabuk alıyorum ve şimdi herhangi bir aracı yükleyebileceğim CTF'ler için kullanabileceğim bir Ubuntu ortamım var
Ana bilgisayar sistemimi bozmadan istiyorum. Neyse, hız koşusu yarışmasından önce yaptığım tek kurulum bu. Öyleyse önce başlayalım.
Netcat ile sağlanan tost ve portala bağlanabilmemiz için bu ikilinin ne yaptığını hızlı bir şekilde görmek istiyorum.
Çok basit bir arayüzümüz var
Çünkü giriş tekrar yansır. Bir dize güvenlik açığı için hızlı bir şekilde test ediyorum, ancak durum böyle değil. ben
o zaman çok hızlı bir şekilde Ghidorah'taki ikili dosyayı açarak ikili kodun ne yaptığını tersine çevirebiliriz.
Şaşkın Bu koddan bir anlam çıkaramıyorum
Ve bunun bir speedrun mücadelesi olması gerektiği için, tersine mühendislik yapmamamız gerektiğini varsayabiliriz.
Sonra ikili dosyayı gdb ile açabilir ve tekrar giriş ile tekrar oynayabiliriz.

English: 
now I'm using any amount of other terminals with docker x'q to execute the process inside this running container and
basically
I'm just executing bash
So I get a shell and now I have an Ubuntu environment that I can use for CTFs where I can install any tools
I want without trashing my host system. Anyway, that's the only setup I did before the speed run challenge. So let's get started first
I want to have a quick look at what this binary does so we can connect with netcat to the provided toast and port
We have a very simple interface
Because input is reflected out again. I quickly test for form a string vulnerability, but it's not the case. I
then very quickly open the binary in Ghidorah to reverse engineer what the binary does but it turns out it's completely
Obfuscated I cannot make any sense out of this code
And because this is supposed to be a speedrun challenge we can assume we are not supposed to reverse engineer it
Next we can open the binary with gdb and just play again with the input

English: 
Basically, I'm just entering a long list of A's to the program and we indeed get a sec fault
We have found the vulnerability a basic stack buffer overflow
Now that we know we have above overflow
We need to find out the offset where we control the return pointer on the stack
There are certainly better and more efficient methods to do that
For example, subtracting the memory addresses or these cycling patterns, but in the moment
I was hoping and faster if I just tried by hand
So I added a couple of recognizable characters inside of the ACE and then looked at the stick output when we crash
With a bit of trial and error and repeating this a few times we can narrow it down to those bytes
Those eggs will be the return pointer on the stick, which means we control the instruction pointer at this point
I also thought it would be good to investigate further because while we have found the vulnerability
We don't really know what to do. Where do we jump to so the check sack output shows that this deck is not executable

Turkish: 
Temel olarak, programa sadece uzun bir A listesi giriyorum ve gerçekten de bir saniye hata alıyoruz
Güvenlik açığını, temel bir yığın arabellek taşması bulduk
Artık biliyoruz ki taşmaların üstünde
Yığındaki dönüş göstergesini kontrol ettiğimiz yeri bulmamız gerekiyor.
Bunu yapmak için kesinlikle daha iyi ve daha verimli yöntemler var
Örneğin, bellek adreslerini veya bu bisiklet düzenlerini çıkarmak, ancak şu anda
Sadece denemeyi umuyordum ve daha hızlı olmuştum
Böylece ACE'nin içine birkaç tanınabilir karakter ekledim ve çarptığımızda çubuk çıktısına baktım.
Biraz deneme yanılma ve bunu birkaç kez tekrarlama ile onu bu baytlara kadar daraltabiliriz
Bu yumurtalar çubuktaki dönüş işaretçisi olacaktır, bu da komut işaretleyicisini bu noktada kontrol ettiğimiz anlamına gelir.
Ayrıca daha fazla araştırmanın iyi olacağını düşündüm.
Ne yapacağımızı bilemiyoruz. Kontrol çuvalı çıktısının bu güvertenin çalıştırılabilir olmadığını gösterdiği yere atlayalım

Turkish: 
Bu yüzden kabuk kodunu kullanamayız, fakat aynı zamanda P yani pozisyon bağımsız kodu olmadığını da görebiliriz.
Bu ikili için bir SLR yok demektir. Ben de kırmızı hakkında düşündüm
lale C
ama küresel subay masasını ararken
Elips fonksiyonları yoktu ve aslında ikili sistemin statik olarak bağlı olduğu ve dinamik kütüphaneleri olmadığı ortaya çıktı.
Bu şeyleri başlangıçta kontrol etmeliyim. Bunu bu kadar geç yapmak aptalca
Her neyse, sanırım bir halat zincirine ihtiyacımız var, ama elle bir halat zinciri yapmak oldukça zaman alabilir
Ancak otomatik halat zincirleri yaratabilen birkaç alet olduğunu biliyorum.
Ve bu yüzden damlalık takarken bazı başarısızlıktan sonra ilk kez damlalık kontrol ediyorum
Sonunda onu çalıştırabildim
Hızımızı ikili sayı ile birlikte kullanalım.
yönetimin gadget'ları aradığı dosya ve spin SH'yi çalıştıran bir halat zinciri bulmak istiyoruz.
Sihirli alet bizim için sadece bir halat zinciri yaratıyor
Sağlam çıktı Python kodudur, bu yüzden basitçe bir Python yorumlayıcısına kopyalayabilir ve halat zincirini bir dosyaya yazabiliriz

English: 
So we can't use shellcode, but we can also see that it has no P ie no position independent code
Which means no a SLR for the binary. I then also thought about red
tulip C
but when I looked for the global officer table
There were no ellipse e functions and actually it turns out that the binary is statically linked and has no dynamic libraries
I really should check those things at the start. It's really dumb to do this so late
Anyway, I guess we need a rope chain, but making a rope chain by hand can be pretty time-consuming
But I know that there are several tools that can create automatic rope chains
And so I'm checking out dropper for the first time after some failing around when installing dropper
I was finally able to run it
Let's use our speed run binary with
management's file to look for gadgets and we want to find a rope chain that executes spin SH and this
Magic tool just creates a rope chain for us
Robust output is Python code so we can simply copy it into a Python interpreter and write the rope chain into a file

English: 
Now I thought I solved it, but it didn't work
It took me a moment to realize that I had forgotten to prep int the padding which leads to the buff overflow in the first
Place oops fix that writing it to a file and we can try again
So here you can see two commands cat Rob will just cut our Rob chain
And once that is finished it will execute cat without arguments
This means anything reading from input is sent to the output
We do this because we sent our triggering exploit via our net cut to the server
And when hopefully the shell is executed then the second cat is now waiting for our input
Let's try it enter a command ID
And yes, it worked now quickly get the flag file
Ask any poner any real poni it don't matter if you were poem by an inch or a mile pawning spawning
awesome
submitting the flag and we get five points that
Was pretty simple, right?
well
as I mentioned at the start in

Turkish: 
Şimdi çözdüğümü sandım ama işe yaramadı
Bir dakika sürdü, ilk önce buff aşınmasına yol açan dolguyu hazırlamayı unuttuğumu fark ettim.
Oops bir dosyaya yazma düzeltmek koyun ve tekrar deneyebiliriz
Burada iki komut görebilirsiniz: Kedi sadece Rob zincirimizi kesecek.
Ve bu bir kez bittiğinde tartışmasız kediyi çalıştıracak
Bu, girdiden okunan herhangi bir şeyin çıktıya gönderildiği anlamına gelir.
Bunu yapıyoruz, çünkü tetikleyici istismarımızı sunucuya net kesim yoluyla gönderdik
Ve inşallah kabuk idam edildiğinde ikinci kedi şimdi girdilerimizi bekliyor
Bir komut kimliği girmeyi deneyelim
Ve evet, şimdi çalıştı hızlı bir şekilde bayrak dosyasını almak
Herhangi bir şahıstan gerçek poni ile sorun olup olmadığını bir inç veya bir mil piyonlama yumurtlama şiirinde olsanız farketmez
müthiş
bayrak göndererek 5 puan alıyoruz
Oldukça basitti, değil mi?
iyi
başlangıçta dediğim gibi

Turkish: 
Gerçek şu ki bu meydan okuma bana 17 dakika 30 saniye sürdü ve elbette her zaman olduğu kadar yumuşak değildi
Yazımlarımda göründüğü için sizin için gerçek zaman çizelgesini kırmaya çalışıyorum
Yani bu tüm 17 dakika bölümlere ayrılmıştır
Böylece tüm zamanın ilk çeyreğinde temel keşif harcandı
Sadece ikili dosyaya bakıyor ve ne yaptığını görüyoruz, sonra arabellek taşmasını buluyoruz
Bunu bazı analizler izler ve tampon taşması için doğru dengeyi bulur.
Ondan sonra, biraz daha keşif yaparız ve mücadelenin yarısını harcarız.
Bir noktaya göre Rob'u yapmamız gerektiğine karar verdik.
İp zincirimizde tekrardan bazı sorunlar var ve ardından istismar dosyasını yazdık. Bir kere işe yaradı. Bayrağı aldık
Tamam, bu yüzden şimdi biraz sıkışıp kaldığım yerlere biraz bilgi ekleyeyim, bu yüzden bu kırmızı toplar
Aptalca hatalar için harcadığım zamanı temsil et
Başlangıçta bazı kısa başarısız oldum

English: 
Reality this challenge took me 17 minutes and 30 seconds and it was of course not as smooth as it always
Appears in my write-ups so I try to break down the actual timeline for you
So this is the whole 17 minutes divided by sections
So first quarter of the whole time was spent with basic recon
Just looking at the binary and see what it does and then we find the buffer overflow
That is followed by some analysis and finding the correct offset for the buffer overflow
after that, we do some more recon and pass half the time for the challenge at
Some point we figure out that we should do Rob so I try to set up proper after that
We got our rope chain have some issues stare again, and then write the exploit file. Once that worked. We got the flag
Alright, so now let me add some information where I was just kind of getting stuck and failing around so these red balls
Represent the time that I spent on stupid errors of mine
I had some short fails at the start

Turkish: 
Ama gerçek zamanlı işler başladı, çünkü aptal kurulum problemleriyle karşılaştım
Sonra Rob zincirini oluşturmakta zorlandım, çünkü kötü bayt kullanıyordum. Temelde bir bayt kara listesi
Bu çalışamamış olan Rob zincirine dahil edilmemelidir
Bu yüzden önce ve sonra uzman ölüm bölümünde, eksik dolguyla başarısız olduğumu anlamak zorunda kaldım.
Yanı sıra başarısız. Ben de biraz zaman googling geçirdim. Mesela soyguncular için googledim. Ama aklımı tazelemek için Google’ı da
Kısmi railro ne anlama gelir ve ayrıca gdb ile alarm sinyalini nasıl yakalarsınız?
çünkü ikili bunu da yapar, ancak bu sorunla ilgili değildir ve
Sonra sadece ekrana bakarak ve bir sonraki adımımı düşünmeye çalıştığım zamanlar oldu.
Evet, bu kadar. Bu, o kadar verimli olmadığını görebildiğiniz gibi, tüm bunların nasıl düştüğünü gösteren zaman çizelgesi dağılımı.
Ama yine de oldukça basit, aptalca böceklerle ve sorunlarla mücadele etmenin en temel Chandos'larda bile olduğunu görebiliyorsunuz.

English: 
But the real time things were setting up broke because I ran into stupid setup problems
And then I had troubles generating the Rob chain because I was using bad bytes. Basically a blacklist of bytes
That must not be included in the Rob chain, which couldn't have worked
So I had to figure that out first and then in the expert death part, I was failing around with the missing padding
Besides fails. I also spent some time googling. For example, I googled for the robber stuff. But I also Google to refresh my mind
What partial railro means and also how to catch the alarm signal with gdb?
because the binary does that too, but it's not relevant for this challenge and
Then there were times that I just spent staring on the screen and trying to think of my next steps
Yeah, so that's it. That's kind of the timeline breakdown of how this all went down as you can see it wasn't that efficient
But still pretty straightforward you can see that fighting with stupid bugs and issues even happens with the most basic Chandos

English: 
Googling around and fighting with arrows is normal
I hope you like this basic right up with the additional time and break down one last thing. I
Don't really promise anything as rewards for my patrons or my YouTube members
but for this challenge I have actually recorded me solving this challenge during the CTF and so as an
exclusive reward for the patrons and the YouTube members
I have shared a bonus video of me solving the challenge in real time with commentary to explain what I was thinking at the time
So if you are interested in that video, please consider supporting me on patreon or become a youtube member
You

Turkish: 
Etrafta dolaşıp oklarla savaşmak normaldir.
Umarım bu temel zamanı ek süre ile seversiniz ve son bir şeyi bozarsınız. ben
Müşterilerime veya YouTube üyelerime ödül olarak hiçbir şey için söz vermeyin.
Ancak bu zorluk için CTF sırasında bu zorluğu çözmemi ve
Müşterilere ve YouTube üyelerine özel ödül
O zaman ne düşündüğümü açıklamak için yorum ile gerçek zamanlı olarak sorunu çözme konusunda bir bonus videosu paylaştım
Bu video ile ilgileniyorsanız, lütfen beni verandada desteklemeyi düşünün ya da youtube üyesi olun
Sen
