Dwa tygodnie temu pisałem o konkursie zorganizowanym przez serwis Security News (https://www.secnews.pl), a w którym do wygrania była wejściówka na konferencję CONFidence 2011. Konkurs polegał na stworzeniu ciekawego CrackMe, które następnie oceniane były pod względem trudności (ale musiały być rozwiązywalne), pomysłowości, innowacyjności oraz walorów wizualnych. Wczoraj późnym wieczorem zostały ogłoszone wyniki i wygląda na to, że wygrał team w składzie j00ru+ja. Yaay! :)

Ostatecznie zostały zgłoszone trzy prace (nie jest źle, chociaż liczyłem na większą aktywność sceny ;p).
Pełne wyniki wyglądają następująco (pozwolę sobie je przekleić z oficjalnej strony):

Miejsce 1 – Mateusz “j00ru” Jurczyk & Gynvael Coldwind
Za ciekawe podejście do problemu weryfikacji numeru seryjnego, techniczne aspekty związane z funkcjonowaniem CrackMe oraz nietypowy interfejs.

Miejsce 2 - hasherezade
Za custom encryptora (i trud włożony w jego poprawne funkcjonowanie) oraz interesujący algorytm weryfikujący.

Miejsce 3 – Grzegorz “haker500″ Jastrzębski
Za sam fakt chęci uczestnictwa w konkursie oraz stworzenie CrackMe w assemblerze.

Wszystkie crackme są do ściągnięcia na stronie konkursu - zachęcam do próby ich połamania :)

Dodam, że Bartek (organizator) razem z organizatorami konferencji CONFidence postanowili przyznać wejściówkę na konferencję dla wszystkich trzech zgłoszonych prac. Yaay! :)



Kilka słów o naszym CrackMe: jest jak najbardziej rozwiązywalne, przy czym od strony technicznej jest dość niestandardowe - a to za sprawą mechanizmu zaprojektowanego i zaimplementowanego przez j00ru (cheers!). GUI natomiast jest mojej roboty (pure software / GDI) i jest niejako hołdem dla gry Syndicate Wars (której GUI mi się bardzo podoba).
I jeszcze jedna uwaga: nasze CrackMe działa tylko na 32-bitowych Windowsach - wynika to z różnic w implementacji emulacji 32-bitowego trybu na Windowsach 64-bitowych aka WoW64.

Za miesiąc mają zostać opublikowane rozwiązania crackme (i kod), więc pewnie rozpiszemy się z j00ru trochę więcej o technikaliach.

I to chyba tyle,
Cheers!

UPDATE:
Kilka linków z materiałami zawierającymi obiecane techniczne detale i źródła crackme:

* SRC+PDF z krótkim opisem u Bartka na www.secnews.pl
https://www.secnews.pl/2011/07/01/rozwiazania-konkursu-pimp-my-crackme/

* Opis przejścia by GDTR
http://gdtr.wordpress.com/2011/06/24/solving-pimp-crackme-by-j00ru-and-gynvael-coldwind/

* Opis jednej z technik użytej w zabezpieczeniach by j00ru
http://j00ru.vexillium.org/?p=866

Cheers no. 2 :)

Comments:

2011-05-17 09:37:40 = Furio
{
GW!
}
2011-05-17 13:48:28 = reland
{
Gratulacje. :)
}
2011-05-17 19:32:38 = Razo[R]apiD
{
Troszke szkoda, ze nie smiga na x64 bo mialem ochote sie w nim pobawic :) Pozostanie chyba jakas statyczna analiza ;p
}
2011-05-18 06:33:37 = Gynvael Coldwind
{
@Furio @reland
Thx thx ;)

@Razo[R]apiD
Zgadzam się, że szkoda. Co zrobić ;)
}
2011-05-19 17:55:21 = MGeeky
{
Witam,

Z ciekawości rzuciłem okiem do Olliego na wasze cudeńko i tak mnie zastanawia
(narazie strona graficzna/GUI/wykończeniowa):
Gdzie się podziały wasze bitmapy? ;)
Usunęliście RESOURCES i nie moge po sygnaturkach szukać grafiki czyli -
zaszyfrowaliście resources (?) .

Gałgany. Chciałem sobie to fajne tło dump'nąć.
}
2011-05-19 19:52:55 = MGeeky
{
Przepraszam że tak post pod postem spamuje, ale - Wielkie Dzięki Gynv i j00ru za to crackme ;-)
Dopiero teraz do mnie dotarło, że wreszcie mam okazję zobaczyć wiedzę tajemną z
"GDT and LDT in Windows kernel vulnerability exploitation" w praktyce :-)

Mimo wszystko - niepokornie czekam na źródła tego crackme.

Pozdrawiam,
MGeeky.
}
2011-05-19 21:47:20 = Gynvael Coldwind
{
@MGeeky
Ad obrazki - to lenistwo, nie szyfr ;)
Ad "wiedza tajemna" - ciesze się, że się podoba ;) Kudos za tą część dla j00ru ;)
}
2011-05-21 10:58:20 = Nism0
{
Well done ;)

Btw, czy background GUI to nie czasem screen z S.K.Y ? :>
}
2011-05-21 16:56:28 = Gynvael Coldwind
{
@Nism0
Thx ;)

Ad S.K.Y - yep ;) GW ;)
}
2011-05-22 12:25:25 = gbm
{
Serdecznie gratuluję i oby tak dalej :P
}

Add a comment:

Nick:
URL (optional):
Math captcha: 6 ∗ 8 + 5 =