abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 19:22 | Zajímavý software

CryptPad je svobodný online kancelářský balík. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0. Oficiální instance nově nabízí 1 GB prostoru. Mozilla Foundation tento týden věnovala projektu 10 000 $.

Ladislav Hagara | Komentářů: 0
včera 18:22 | Nová verze

Byla vydána finální beta verze Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 20.04 mělo vyjít 23. dubna 2020.

Ladislav Hagara | Komentářů: 1
včera 17:22 | Nová verze

Vyšel XCP-ng 8.1 (seznam změn), alternativní sestavení Citrix Hypervisor (dříve XenServer), tedy serverová distribuce hypervizoru Xen (4.13), toolstacku XAPI a systému CentOS v privilegované doméně. XCP-ng na rozdíl od bezplatné verze Citrix Hypervisoru nemá četná omezení funkcionality, vývojáři ale nabízejí i komerční podporu. Novinkou (zatím) pouze v XCP-ng je možnost zálohovat VM včetně aktuálního stavu jejich paměti; funkce je integrována také v administračním nástroji Xen Orchestra.

Fluttershy, yay! | Komentářů: 0
2.4. 17:55 | Nová verze

Byl vydán LineageOS ve verzi 17.1. LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu. LineageOS 17.1 je založený na Androidu 10.

Ladislav Hagara | Komentářů: 9
2.4. 17:22 | Zajímavý projekt

Lukasz Erecinski na blogu Pine64 oznámil možnost předobjednání telefonu PinePhone v edici UBports Community Edition. Telefon bude mít speciální kryt s logem a nápisem UBports Edition. Základní deska bude podle nového schématu (v1.2) vylepšená podle zpětné vazby od majitelů BraveHeart edice. Bude mít FCC i CE certifikace.

joejoe | Komentářů: 3
2.4. 15:33 | IT novinky

Společnost Cloudflare před dvěma lety spustila DNS resolver 1.1.1.1. Včera spustila 1.1.1.1 pro rodiny aneb nové resolvery 1.1.1.2 (2606:4700:4700::1112) a 1.1.1.3 (2606:4700:4700::1113) blokující stránky s malwarem a obsahem pro dospělé. Dnes se omluvila, že nechtěně blokovala také LGBTQIA+ stránky.

Ladislav Hagara | Komentářů: 31
2.4. 14:55 | Nová verze

Společnost Red Hat oznámila vydání Red Hat Enterprise Linuxu 7.8, který přináší vedle nových vlastností a oprav chyb také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
2.4. 14:33 | Nová verze

V pondělí vyšel Linux 5.6. Dnes vyšla jeho 2. opravná verze 5.6.2 (git). Opravena byla mimo jiné diskutovaná chyba v ovladači iwlwifi.

Ladislav Hagara | Komentářů: 0
1.4. 19:55 | Nová verze

Po dvou letech od vydání verze 3.0 byla vydána nová major verze 4.0 nástrojů LXC, LXD a LXCFS pro kontejnerovou virtualizaci LXC (LinuX Containers). Jedná se o verzi s dlouhodobou podporou (LTS). Ta končí v červnu 2025. Přehled novinek v jednotlivých oznámeních o vydání: LXC, LXD a LXCFS.

Ladislav Hagara | Komentářů: 3
1.4. 16:11 | Humor

Řada firem své letošní již připravené aprílové žertíky kvůli SARS-CoV-2 a COVID-19 nezveřejnila. Přehled zveřejněných například na April Fools' Day On The Web. Na CoinMarketCapu byla přidána nová kryptoměna: toaleťáky. Ve hře World of Tanks jsou vylepšené tanky, v PUBG nový herní mód Fantasy Battle Royale, …

Ladislav Hagara | Komentářů: 3
Chodíte do práce?
 (26%)
 (2%)
 (6%)
 (1%)
 (46%)
 (14%)
 (5%)
Celkem 87 hlasů
 Komentářů: 4, poslední 2.4. 14:20
Rozcestník

The Catch CTF

19.10.2018 12:54 | Přečteno: 3288× | CTF | Výběrový blog | poslední úprava: 19.10.2018 14:39

Ani ne týden po Electrolux CTF jsem se zúčastnil dalšího. The Catch je capture the flag, soutěž v počítačové bezpečnosti, hackování a programování, tentokrát online (slouží též jako kvalifikační kolo) a nejen pro studenty, ale pro všechny.

Ve středu (10.10.) mi Atalax a Jakluk napsali „Tak jak byste to viděli s The Catch?“ A že teda jo, no.

V pátek těsně před startem za mnou ve škole přišel undisclosed spolužák, že by se chtěl účastnit a že nemá tým, a jestli bych do toho nešel s ním. Koukli jsme do pravidel, zda můžeme být čtyři, a odstartovali jsme tedy ve složení dva matfyzáci (IRL) a dva FELáci (spolupracující po internetu).

Dále popisuji úlohy, které jsem buď vyřešil, nebo se na nich alespoň podílel. Tentokrát distribuce práce fungovala dobře, a to jak paralelismus, tak párové programování. U ostatních úloh tedy budete muset pohledat jinde, nebo si počkat na oficiální řešení (nebo mě uprosit v diskuzi).

Sorry, začíná to strašně beginner level.

Web

Stránka plná blábolů, nastaví vám cookie isadmin=0. Poeditujeme, hotovo. Za dva body??

UPC

Dáno SSID a MAC sítě UPC, zadejte heslo. Tisíckrát rozmazaný problém.

AES, určitě

Existuje Military-grade encryption a Microsoft-grade encryption. Microsoft nějaké údaje při posílání po síti šifruje AESem s pevně daným klíčem, který se samozřejmě válí na netu. V této úloze jde o dešifrování XML s takovými údaji. I pokud o tomto bugu nevíte (nebo stejně jako já - neboť Windows nerozumím, sorry - nevíte jak se to jmenuje a tedy co hledat), kousky XML byly googlitelné, a tak jistě brzy najdete popis tohoto přelomového způsobu šifrování.

The Transmission

Dostali jsme PCAP z DHCP serveru, který má lease nastavený na 10 sekund, takže tam je docela provoz. Spolužák si naštěstí všiml, že je tam 24 discoverů a offerů (a flagy mají náhodou 24 znaků) a všechno ostatní jsou renewy. Ta 24 se nakonec ukázala jako falešná stopa, ale zajímavé je, že se v některých discoverech posílá jiná linková a aplikační MACka (pole Client MAC v BOOTP protokolu), a kupodivu zrovna aplikační MAC tvoří ASCII znaky s vlajkou (a v ostatních je nulová NIC část MACky). Samozřejmě kdo má v tom Wiresharku tyhle romány kopírovat ručně, uživatelé blobutils si můžou aplikovat následující tshark:

> tshark -T fields -e bootp.hw.mac_addr -r /tmp/dhcp.pcap.gz | grep -v "00:00:00"|uniq | blhexbin
CT18-Bb1a-YEeR-r6Sa-rJao

Křížovka

Křížovka. Prostě křížovka. Strašně jsem chtěl hledat solver a pak to programovat, ale nakonec jsme to dali ručně na papír. Mimochodem většina nalezených solverů neumí backreference. Asi je na čase fakt se naučit to constraint-solving programming.

Zásah, potopená

Telnet server, který s vámi hraje lodičky:

Connected to challenges.thecatch.cz.
Escape character is '^]'.
Greeting
Send your moves in form A10, B1 ..
{
  "board": {
    "A": "............X..", 
    "B": "...........XX..", 
    "C": "............X..", 
    "D": "...............", 
    "E": "...X...........", 
    "F": "...XX......X...", 
    "G": "...X.......XX..", 
    "H": "...............", 
    "I": ".......X.......", 
    "J": "......XXX..X...", 
    "K": ".......X..XX...", 
    "L": "...........X...", 
    "M": "...............", 
    "N": "...............", 
    "O": "...............", 
    "_": "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15"
  }, 
  "myMove": "", 
  "myMoveResult": "", 
  "overallResult": "0 0 (N/A)", 
  "yourMove": "", 
  "yourMoveResult": ""
}

Po tahu server řekne hit/miss. V instrukcích je, že musíte ze 100 her vyhrát 80. Ach jo, to jako fakt budeme psát solver na lodičky?!

Inu, tak jsem začal programovat. Jenom poznámka, pozornost upoutalo, že jsem použil telnetlib (ukradeno odsud), a prý to tak bylo podivně krátké. No a když mi to komunikovalo, tak jsem zlepšoval heuristiky až jsem to teda jako vyhrál.

Smajlíci

Server vám pošle obrázek:

Cílem je najít všechny smějící se smajlíky, vyXORovat jejich barvy (po složkách), a výsledek poslat zpět. Na tohle máte 5 sekund, takže to nejde dělat ručně (možná bych to teda dokázal oklikat, nevím).

Smajlíků je vždy 16 v gridu 4x4, ale mají náhodou rotaci, velikost i posunutí (ale nevytékají ze svých 200x200px čtverců). Ach jo, jde se programovat. Na první pohled je vidět že přístup „převedeme to do PBM a pattern v tom grepneme“ je odsouzen k nezdaru, takže jsem si pořídil plnohodnotné OpenCV a scikit-image.

Jako první věc je potřeba rozkrájet obrázek na 200x200px čtverce. Následně v každém čtverci lokalizujeme obličej. To uděláme postupnou línií detekující nečerné pixely a pak totéž pro transponovaný obrázek (modře) pokud také neumíte používat numpy jako já:

Umíte někdo v GIMPu dělat nedementně šipky?

Teď vyvstává otázka jestli musíme obrázek normalizovat na pevnou velikost a zejména otáčet. Rotaci umím určovat polygon walking algoritmem a vím jistě že to fakt nechci dělat. Zkusíme to nějak ohackovat. Ukazuje se, že můžeme doprostřed vyříznutého obličeje strategicky položit kolečko (skimage.draw.circle), a když je správně velké, tak nezasáhne oči, ale zasáhne horní ret v případě mračícího se obličeje. Pak už stačí jen otestovat, zda průnik obrázku s kolečkem obsahuje jiné než černé pixely.

Tím tedy máme vyřešeno smajlík/smutník a zbývá poslední detail (tedy vlastně dva), a to zjistit jakou barvou je to nakreslené. To také není tak přímočaré, smajlíci jsou antialisovaní, takže nestačí vzít náhodný pixel… Uděláme tedy np.reshape, np.unique(return_counts=True) a vybereme si nejčastější nenulovou hodnotu.

A ten poslední detail? Server musí poznat, že mu posíláme odpověď na obrázek, který jsme si stáhli, a k tomu nám dává PHPSESSID. A wget nemá parametr --keep-session-cookies defaultní…

Makra

Wordovský dokument s makry, tedy VBS/VBA. Tomu vůbec nerozumím, ale atalax mi poradil pustit na něj olevba a vypadne zdroják, kde je funkce, která rozbaluje něco-jako-double-base64. Máme v podstatě tři možnosti:

  1. Donutit ten VBA ke spuštění, ať už nativně v Officech, nebo v emulátoru. Tomu nerozumím a neumím to debugovat.
  2. Přečíst si, jak funguje base64, najít rozdíly oproti tomuto něco-jako-base64, a upravit base64 dekodér v nějakém přátelštějším jazyce. To je error-prone a vede to k neodhalitelným chybám - zejména když nemáme testcase.
  3. Tupě to přepsat do Pythonu!

S poslední možností už mám nějaké zkušenosti (legendární překládání všeho včetně LaTeXu do C), takže jsem prostě přepsal pole na ndarray, kulaté závorky na hranaté a tak, spustil to a ono to (samozřejmě po opravě několika chyb) vydalo hromadu bordelu (zamýšleně) a v ní byl ukrytý flag. Naštěstí jsem si před tím všiml na soutěžním Slacku debaty o tom, jak je důležité flag hledat regexpem, protože v té hromadě se ztrácel. Podle soutěžního Slacku si na tohle ztrácení naběhlo fakt hodně lidí.

Dust Off

Tohle byla nějaká bizarní DNSková věc, kde jste se zeptali na jméno, ono to vrátilo nějaký NS, a když jste se zeptali na něj, tak to vrátilo nějaký jiný NS a tak pořád dokola:

? dustoff.infinite.thecatch.cz.	IN	ANY
dustoff.infinite.thecatch.cz. 0	IN	NS	ns.v3n06cd.infinite.thecatch.cz.
? ns.v3n06cd.infinite.thecatch.cz. IN	ANY
v3n06cd.infinite.thecatch.cz. 0	IN	NS	ns.skvd8dr.infinite.thecatch.cz.
? ns.skvd8dr.infinite.thecatch.cz. IN	ANY
skvd8dr.infinite.thecatch.cz. 0	IN	NS	ns.gml4cf4.infinite.thecatch.cz.
? ns.gml4cf4.infinite.thecatch.cz. IN	ANY
gml4cf4.infinite.thecatch.cz. 0	IN	NS	ns.li8d7jr.infinite.thecatch.cz.
...

infinite? PRNG? Nevěřil jsem tomu, že tohle někam povede, samozřejmě jsem měl dig ve smyčce a ukončil jsem ho po 947 dotazech. Zajímavé je, že na jiné dotazy to neodpovídá:

? ns.gmm4cf4.infinite.thecatch.cz. IN	ANY
NXDOMAIN infinite.thecatch.cz.	0	IN	SOA	challenges.thecatch.cz. hostmaster.infinite.thecatch.cz. 2018091424 7200 7200 1209600 86400

mmmmmkay, takže PRNG který vám vydá další krok to asi nebude, a pokud, tak s checksumem? A je cílem ho cracknout? Nebo spíš bloudím a tady nic není…? Navíc to posílá nějaké EDNS příznaky a já tomu vůbec nerozumím a netuším, jestli je v nich něco schovaného, nebo je to normální součástí toho updatu DNS co teď probíhá.

No, po chvíli přemýšlení jsme dospěli k závěru, že bychom si mohli nachytat alespoň 1024 vzorků, to je takové hezké číslo, a pak z nich něco vyvěštit. A světe div se, po 1024 krocích z toho začaly místo li8d7jr padat hexačísla odpovídající ASCII znakům a blilo to na nás instrukce a heslo. Jakože wtf. 1024 mi přijde moc (navíc když je v hostname infinite), a podle mě tohle někdo naprosto legitimně nedá proto, že se řídil pravidlem nebruteforcovat servery pořadatele.

Výsledky

Soutěžilo 276 týmů, z nichž 24 došlo do cíle (mezi nimi pak rozhodoval čas). My jsme skončili po 9 hodinách třetí. Před námi byli jenom profesionálové (Avast (6 hodin) a nejmenovaná pentesterská firma (8 hodin)). Prvních 10 týmů (a tedy i my) postupuje do on-site kola. Vzhledem k tomu, že minimálně já nemám nejmenší tušení co dělám, fakt nevím, jak tohle skončí. srsly, jak se tohle stane někomu, kdo ještě před měsícem nevěděl, co je to ctf (upřesnění: myslel jsem si, že naprostá většina CTF je o reverzování a buffer overflow exploitech, s čímž nemám téměř zkušenosti)

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

19.10.2018 16:27 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: The Catch CTF
ad křížovka: číslo "18" je jako čas? BTW Jsem si nebyl jistej zda nemá "-" speciální význam :-D.
Jendа avatar 19.10.2018 16:36 Jendа | skóre: 76 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: The Catch CTF
Všechny flagy měly formát CT18-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}, 18 je asi rok…
Kdo říká, že jeden běžný člověk nemůže změnit svět, tak asi nikdy nejedl syrového netopýra.
20.10.2018 01:41 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: The Catch CTF
Jo aha ona tam byla externí informace navíc. Já furt nevěděl co ty první 4 znaky znamenaj (první políčko není jednoznačně definovaný že? "A" nebo "C"). Že to bude zkratka jména soutěže mě netrklo :-D.
Max avatar 19.10.2018 16:28 Max | skóre: 68 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: The Catch CTF
VztekOverflow minulý rok vyhráli a letos mají evidentně také dobře nakročíno. Jsem zvědavý na final.
Každopádně díky za parádní shrnutí.
Zdar Max
Měl jsem sen ... :(
Bedňa avatar 19.10.2018 23:11 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: The Catch CTF
Ledva človek nazbiera skill a umrie to :)

Výborný blog, dík.
KERNEL ULTRAS video channel >>>
Jendа avatar 20.10.2018 07:51 Jendа | skóre: 76 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: The Catch CTF
Přílohy:
Zveřejňuji řešení smajlíků, naval battle a maker. (tak jak jsem to naprasil, když jsem během 8 hodin dělal takových úloh 7, že)
Kdo říká, že jeden běžný člověk nemůže změnit svět, tak asi nikdy nejedl syrového netopýra.
20.10.2018 12:42 nelson | skóre: 17 | blog: jakesi_cosi
Rozbalit Rozbalit vše Re: The Catch CTF
Soutěž to byla skvělá, připomnělo mi to "Po drátě", které se už pár let nepořádá. Nejvíc se mi líbila úloha s RAMkou a smajlíci :) Na co jsme ale fakt nepřišli, byla úloha Pixels - našel by se někdo, kdo by nastínil řešení?
21.10.2018 15:40 Engy
Rozbalit Rozbalit vše Re: The Catch CTF
Stačí domalovat vodící znaky pro QR tam, kde mají být.
21.10.2018 23:25 nelson | skóre: 17 | blog: jakesi_cosi
Rozbalit Rozbalit vše Re: The Catch CTF
Díky za info. Napadlo mě to, ale pak jsem to, ani nevím proč, nezkusil.
22.10.2018 15:00 kolcon
Rozbalit Rozbalit vše Re: The Catch CTF
Rucne, nebo jak?
Bedňa avatar 22.10.2018 18:49 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: The Catch CTF
Domaluj si ako chceš :-)
KERNEL ULTRAS video channel >>>
24.10.2018 19:07 kolcon | skóre: 15 | blog: kolcon
Rozbalit Rozbalit vše Re: The Catch CTF

jasne, treba pastelkama. Slo mi o to, jestli je na to nejaky SW nastroj, co to pozna a domaluje sam...

20.10.2018 12:59 NN
Rozbalit Rozbalit vše Re: The Catch CTF
Před námi byli jenom profesionálové (Avast (6 hodin) a nejmenovaná pentesterská firma (8 hodin)).
Toto jsem presne cekal a proto jsem se na to radeji vykaslal.. proc delat stejnou chybu dvakrat.
Jendа avatar 20.10.2018 16:20 Jendа | skóre: 76 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: The Catch CTF
Tak já nechodím na závody (ano, NSA Litoměřice soutěží i jinde) vyhrát, na to nemám, ale vlastně nevím proč. Asi kvůli sociální události?
Kdo říká, že jeden běžný člověk nemůže změnit svět, tak asi nikdy nejedl syrového netopýra.
Blaazen avatar 20.10.2018 16:47 Blaazen | skóre: 23 | blog: BL
Rozbalit Rozbalit vše Re: The Catch CTF
@ Tak já nechodím na závody vyhrát, na to nemám, ...

To je teda ukrutně silná sebekritika, z 276 týmů 3. místo, před tebou jen dva profi týmy a je to tvá druhá soutěž v životě (přičemž ta první byla před týdnem). :-)
20.10.2018 18:11 NN
Rozbalit Rozbalit vše Re: The Catch CTF
Nesmysl.
Jendа avatar 20.10.2018 21:22 Jendа | skóre: 76 | blog: Výlevníček | JO70FB
Rozbalit Rozbalit vše Re: The Catch CTF
Je to dobrý, má to jméno.
Kdo říká, že jeden běžný člověk nemůže změnit svět, tak asi nikdy nejedl syrového netopýra.
Limoto avatar 20.10.2018 18:52 Limoto | skóre: 32 | blog: Limotův blog
Rozbalit Rozbalit vše Re: The Catch CTF
Je někde nějaká možnost se o těchto soutěžích dozvědět? Vypadá to dost lákavě, ale vždycky s křížkem po funuse :-)
20.10.2018 19:20 nelson | skóre: 17 | blog: jakesi_cosi
Rozbalit Rozbalit vše Re: The Catch CTF
Zrovna The Catch proběhlo nedávno zprávičkama na ABC
Bedňa avatar 21.10.2018 00:42 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: The Catch CTF
A kurwa Limoto žije, čau bratu. Rád ťa čítam po dlhom čase.
KERNEL ULTRAS video channel >>>
23.10.2018 00:22 trekker.dk | skóre: 71
Rozbalit Rozbalit vše Re: The Catch CTF
Před námi byli jenom profesionálové (Avast (6 hodin) a nejmenovaná pentesterská firma (8 hodin)).
Jo, profesionálové z Avastu... mám takovej pocit, že se jim dneska povedlo zablokovat půlku internetu (webu) jako false positive phishing.
Quando omni flunkus moritati
Max avatar 24.10.2018 13:56 Max | skóre: 68 | blog: Max_Devaine
Rozbalit Rozbalit vše Re: The Catch CTF
Asi bych je všechny neházel do jednoho pytle ;-).
Zdar Max
Měl jsem sen ... :(
24.10.2018 15:52 trekker.dk | skóre: 71
Rozbalit Rozbalit vše Re: The Catch CTF
No, musim uznat, že to po sobě naštěstí opravili ještě v tu noc, kdy to rozbili. Jinak bych je asi měl chuť hodit někam úplně jinam.
Quando omni flunkus moritati
29.10.2018 15:15 NN
Rozbalit Rozbalit vše Re: The Catch CTF
Jenda vyhral? Nebo vlastne nesoutezil ;) ..
31.10.2018 20:52 NN
Rozbalit Rozbalit vše Re: The Catch CTF
Gratulece btw. to finale jsem vubec nepochopil. WT heck is that? Drzim palce..
28.9.2019 07:42 AnakPAPA
Rozbalit Rozbalit vše Re: The Catch CTF
28.9.2019 07:45 bola88
Rozbalit Rozbalit vše Re: The Catch CTF
24.11.2019 20:22 Felysia Avichayil
Rozbalit Rozbalit vše Re: The Catch CTF
Wow, I'm very impressed with the words, and it looks very good, please

come to our website, by clicking below us :)

http://www.idrbola99.blogspot.com

Berita Bola Berita Bola

Terkini, Prediksi Bola Jitu
10.12.2019 18:47 Storybabel
Rozbalit Rozbalit vše Storybabel
Příloha:
Storybabel: Trending Tech and Movies. Visit us on Storybabel

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.