Sources of ReRe, a Python RE500 challenge
Teaser CTF 2016 by Dragon Sector is now over and the results are in (congratz 9447!). Therefore I decided to share the sources of my task called ReRe, which was a Python rainbow-heavy obfuscation-heavy bytecode-all-around challenge. I won't spoil too much in case you would like to try to solve it (crackme/rere.py in the archive), but if you would like to read more on it, just see the SOLUTION.md file in the zip file. I'll add, that the obfuscation used self-modifying bytecode, some bytecode-level obfuscation and minor string obfuscation as well, so if you would like to learn more about Python 2.7 internal code representation, try your luck with ReRe :) It was solved 5 times btw.
(a 3 MB gif, you have been warned)
6 comments ]
OSDev #3 aftermath #1 - post gościnny
(Post gościnny by reenz0h)
Na ostatnim streamie OSDev#3 Gynvael kontynuował rozwijanie bootloader'a, aby ostatecznie wejść w tryb long mode. Ustawił odpowiednie parametry procesora (GDT, PAE, EFER MSR, etc.), ale próba wejścia w stronicowanie przy użyciu 1GB stron nie powiodła się. Emulator Bochs przerywał działanie z błędem "physical address not available":
(0). ??? (physical address not available)
Next at t=166562264
(0) [0x00000000fffffff0] f000:fff0 (unk. ctxt): jmp far f000:e05b ; ea5be000f0
Postanowiłem znaleźć trochę wolnego czasu i spróbować uruchomić ten kod u siebie.
4 komentarze ]
Five newest or recently updated notes (these are unfinished posts, code snippets, links or commands I find useful but always forget, and other notes that just don't fit on the blog):
Click here for a list of all notes.
Security papers and research notes
Some conference slides are linked at the bottom of this page.
- A few Microsoft Windows privilege escalations and some DoSes patched by MS10-021 and MS10-011 - this research was presented on HITB Dubai 2010 and CONFidence 2010 (video available here).
- Well, actually a few more bugs in Windows kernel and drivers discovered during our Bochspwn research (see this post and this one) using our kfetch-toolkit.
They were patched in
- Adobe Reader 9.5.1 and 10.1.3 multiple vulnerabilities - 62 unique crashes, from that 31 trivially exploitable and 9 more potentially exploitable, 11 CVE's assigned (CVE-2012-4149 to CVE-2012-4160). Some of these bugs were fixed for Windows and OSX releases of Adobe Reader in APSB12-16.
- Adobe Flash had also quite a lot of fixes (around 60 CVEs assigned). Some details can be found in these bulletins (in random order):
- Contributed to discovery of multiple low-to-high vulnerabilities in Google Chrome (CVE-2012-2851, CVE-2012-2855, CVE-2012-2856, CVE-2012-2862, CVE-2012-2863 and some other) - some of these were mentioned in this post.
- A lot of bugs in ffmpeg and libav which resulted in 892 (sic!) patches in ffmpeg and 299 patches in libav (CVE-2011-3930 to CVE-2011-3952 and some other).
- Cygwin cygwin1.dll shared section local privilege escalation (demo video) - discovered while revisiting old-school classes of bugs (see paper above).
- Two minor bugs in PuTTY and aterm and rxvt found while playing with terminal control codes. Put here to create some illusion of diversity.
- Mozilla Firefox 188.8.131.52 and Opera 9.50 information leak, also midly affected Safair, Konqueror and some other products (CVE-2007-6524, CVE-2008-0420, CVE-2008-0894, CVE-2008-1573). A demo video is also available.
- A small but funny bug in Total Commander 7.01 - an FTP client gets attacked by the server, leading to a path traversal.
- And there were also these two: a local privilege escalation that required a USB stick of death, and a funny compiler bug.
The full list of vulnerabilities discovered by me (including collaborative work) can be found here (please note that the list might be out of date).
The Google Application Security / Research site might also contain some of my findings.
Coding (selected posts)
Tools and libraries
- PiXieServ is a simplified PXE (network boot) server for Windows and Linux-based OS, created for testing of very small home-made OS. See also the post about it.
- ExcpHook, a system-wide exception monitor for Windows XP 32-bit. Useful if you're fuzzing something that doesn't like having a debugger attached.
- Ent is an entropy measuring tool for reverse engineering reconnaissance (see also a post explaining how to use it).
- HiperDrop is a simple command line process memory dumper for Windows, with a few different work modes.
- asmloader - this little app executes headerless machine code (compiled assembly code). It's meant to be an aid in learning/teaching and playing with assembly, as well as the right tool when you just need to execute some machine code.
- NetSock is a simple socket/networking lib/wrapper for C++ I've wrote back in 2003 and update from time to time - I use it for most of my network-enabled projects.
Edukacyjnie (wybrane posty)
Security / hacking:
- Hacking - jak uczyć się security/hackingu i spać spokojnie.
Dodatkowo, kilka przemyśleń na temat odnajdywania się na rynku pracy w IT:
Programowanie (wybrane posty)
← trochę więcej postów jest po angielskojęzycznej stronie.
Gamedev i GFX (wybrane posty)
Grafika generowana proceduralnie: