From 597478ab6c20815919f14888fa770301f89a4521 Mon Sep 17 00:00:00 2001 From: RPISEC Date: Mon, 22 Jun 2015 22:38:32 -0400 Subject: [PATCH] Removes lab01 info, it's an RE level after all ;) --- README.md | 4 +- src/lab01/CMakeLists.txt | 11 +--- src/lab01/README.md | 16 ------ src/lab01/lab1A | Bin 0 -> 9672 bytes src/lab01/lab1A.c | 86 ---------------------------- src/lab01/lab1B | Bin 0 -> 9672 bytes src/lab01/lab1B.c | 121 --------------------------------------- src/lab01/lab1C | Bin 0 -> 7414 bytes src/lab01/lab1C.c | 31 ---------- 9 files changed, 3 insertions(+), 266 deletions(-) delete mode 100644 src/lab01/README.md create mode 100755 src/lab01/lab1A delete mode 100644 src/lab01/lab1A.c create mode 100755 src/lab01/lab1B delete mode 100644 src/lab01/lab1B.c create mode 100755 src/lab01/lab1C delete mode 100644 src/lab01/lab1C.c diff --git a/README.md b/README.md index e8caac9..d0bd378 100644 --- a/README.md +++ b/README.md @@ -192,8 +192,8 @@ number of Ubuntu updates. ## Frequently Asked Questions -#### Why can't I login to lab01c? -Account names are case sensitive, so please check that you're logging in as lab01**C** +#### Why can't I login to lab1c? +Account names are case sensitive, so please check that you're logging in as lab1**C** #### Where are the lab solutions? Posting solutions spoils the fun and grind of the game, and as an academic resource it is diff --git a/src/lab01/CMakeLists.txt b/src/lab01/CMakeLists.txt index 30ff30f..f049a66 100644 --- a/src/lab01/CMakeLists.txt +++ b/src/lab01/CMakeLists.txt @@ -1,13 +1,4 @@ cmake_minimum_required(VERSION 2.8) -# Adds an executable target -add_executable(lab1C lab1C.c) - -add_executable(lab1B lab1B.c) -SET_FLAGS(lab1B "-s") - -add_executable(lab1A lab1A.c) -SET_FLAGS(lab1A "-s") - # These are the files we want to give students -install(TARGETS lab1C lab1B lab1A DESTINATION "${RELEASE_DIR}/lab01") +install(FILES lab1C lab1B lab1A DESTINATION "${RELEASE_DIR}/lab01") diff --git a/src/lab01/README.md b/src/lab01/README.md deleted file mode 100644 index 0fcacb4..0000000 --- a/src/lab01/README.md +++ /dev/null @@ -1,16 +0,0 @@ -## Reversing Labs -I tried to base these more or less on Jeremy's labs. If you get the -key correct, you get a shell, so we can structure these the same way -we've been doing the rest of the levels. - -### Lab C -Simple Integer compare, obvious yes/no path. - -### Lab B -XOR'd string, you supply key by getting the difference between your input -and a hardcoded value. "Correct" path is obfuscated so you have to actually xor -stuff together and reason it out (or thats the idea) - -### Lab A -Simple keygen. The serial is calculated by adding to a base checksum and doing -some XOR / modulus stuff. diff --git a/src/lab01/lab1A b/src/lab01/lab1A new file mode 100755 index 0000000000000000000000000000000000000000..a421a2adbd66c008fad1aa9cb30fd32303249b4b GIT binary patch literal 9672 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 H#4!CE(_%uD literal 0 HcmV?d00001 diff --git a/src/lab01/lab1A.c b/src/lab01/lab1A.c deleted file mode 100644 index 536cb28..0000000 --- a/src/lab01/lab1A.c +++ /dev/null @@ -1,86 +0,0 @@ -/* -Modern Binary Exploitation -Lab 1: Introduction to Reverse Engineering -LabA: Keygen - -gcc -s -m32 ./labA.c -*/ - -#include -#include -#include -#include -#include - -#include "utils.h" -#define ANSI_COLOR_RED "\x1b[31m" -#define ANSI_COLOR_GREEN "\x1b[32m" -#define ANSI_COLOR_YELLOW "\x1b[33m" - -ENABLE_TIMEOUT(60) - -int auth(char * username, unsigned int serial) { - int i, len; - unsigned int chk; - - username[strcspn(username, "\n")] = 0; - len = strnlen(username, 32); - - deathrays; - if (len < 6) { - return 1; - } - - if (ptrace(PTRACE_TRACEME, 0, 1, 0) == -1) - { - printf(ANSI_COLOR_GREEN ".---------------------------.\n"); - printf(ANSI_COLOR_RED "| !! TAMPERING DETECTED !! |\n"); - printf(ANSI_COLOR_GREEN "'---------------------------'\n"); - - return 1; - } - - chk = (username[3] ^ 0x1337) + 0x5EEDED; - for(i=0; i 127) { - return 1; - } - chk += (username[i] ^ chk) % 1337; - } - - if (serial != chk) { - return 1; - } - - return 0; -} - -int main(int argc, char ** argv) { - unsigned int serial; - char username[32]; - - deathrays; - printf(".---------------------------.\n"); - printf("|--------- RPISEC --------|\n"); - printf("|+ SECURE LOGIN SYS v. 3.0 +|\n"); - printf("|---------------------------|\n"); - - printf("|~- Enter your Username: ~-|\n"); - printf("'---------------------------'\n"); - fgets(username, 32, stdin); - - printf(".---------------------------.\n"); - printf("| !! NEW ACCOUNT DETECTED !!|\n"); - printf("|---------------------------|\n"); - printf("|~- Input your serial: ~-|\n"); - printf("'---------------------------'\n"); - scanf("%u", &serial); - - if(!auth(username, serial)) { - printf("Authenticated!\n"); - system("/bin/sh"); - return EXIT_SUCCESS; - } - - return EXIT_FAILURE; -} diff --git a/src/lab01/lab1B b/src/lab01/lab1B new file mode 100755 index 0000000000000000000000000000000000000000..0b350f948dcbaa501d2e1d63b3a1ef3c6165030b GIT binary patch literal 9672 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 JK_F?v^e+L5bNB!N literal 0 HcmV?d00001 diff --git a/src/lab01/lab1B.c b/src/lab01/lab1B.c deleted file mode 100644 index 3232848..0000000 --- a/src/lab01/lab1B.c +++ /dev/null @@ -1,121 +0,0 @@ -/* -Modern Binary Exploitation -Lab 1: Introduction to Reverse Engineering -LabB: Harder CrackMe - -gcc -s -m32 ./labB.c -*/ - -#include -#include -#include -#include - -#include "utils.h" - -void decrypt(unsigned int key) { - unsigned int len; - unsigned int i; - char str[] = "Q}|u`sfg~sf{}|a3"; - - deathrays; - len = strlen(str); - - for (i=0; i^ZK zJQGv#a;X^))AW%^Y0@9`51BG8?Lg@yQ1b|xwgc&uX~U1w0yB0o4Ji%v4}$uAceVK1 zK-&K8u$rT@-=1^!?A?2I@7;4>t*)!F*=$0UJYg3^M|L@!3&1x{k&*>M6XQj(_`E0- zW6?y}f-dNQG#HS^pv?iYgBpPwcQ~A+CxJqcm$Q;3y&9Zu3b$Vf{5BIJM% z6!s7Iq8@VV_=eC%qCKy#G!|_tjfF~L(RjMun@V`+OBrn`U$JIA{^fPB&*>oA7JxW+ zlt1;%LhthHlP_KD$`rn}|M~Z)zEkO-Yyyb7<3M6czUb9;c>kpnR}XZ$mVS5Q;V)l3`QdM`9-QBF`R2y{n}dJ+`o^LyufE=Syys)LtKhE( zZ~XovH_S$qO%|k~?zP}2P@g*rFC2yUTd;=u7cH3fXDnDl{b>uP{7)9Fq5cYJ-kXRS zlzhzE4seeJzYSb=AI}gOi(G^LMBv}-aX2}DQ^aKP1Mmvq0QeJ_xjo>FdoUCK6#PAl z{&C=8|1(4_@Y}l`&Tr=Qe+*u9-+rQ41AGMbj92!*5&S4H7%-+AaS~*FEE0O{T0Lci zqH#T)3WtQQM^lO5k|la77>GBEwzQEFZOLfdXcnoClo4))29048NE&);AR1RK!Bkpr zj>eS`|Pl zS)RF$xSm+1MWYCNySR-y+wx7ECqAVRdY@l1~mN1>^{Z>Ew_Xkz+w> znL%g&33RZd?=oU@U*>K$o85KN7}H;a#>{Ew%Y7od&;jl294G$iD?5i?BCHNv zfqHfhy+tS+xL{&>jc}L)CrwQ65pDqkM@-C7L^R?zP0Z0miivxH%WrP#{!8ZCt#ys{ z5yn=80sP{I2;;E-T`2ssx!3yJSLErl;$x-gu7pvX85+CY)^`jY3tZEk_1)JqgVWDB zJd|ZGobT)T1x3dQP5o0tdELK0^|zU}3m1pdw!UAQh94-y?kbN%8GmrTulr8Vub!nw z*K&3s(odTGJNr8^#Is}AW;=fyBYP_!HwXS_s)0gJekOo8|dY${_DH}LcKr?hwdOXb-O4gIe{w4?9mxQ&^?qJ1$>SLX}2Iq5*#r8_Quys0Zg)WCxLA+8v;z=$L-{*Oz;(PlHaGpmC!TFrydBp|HXATC*|L8 zIC(A`hYorE;4_BjGZsFx1>S`CtSJNWxya-8G|=Eqhm-Yd;5-X)U_3*UzY^({fDq4Pj%GziBDbcjE%=|%R46Or%+6RoXyV^S0LUvS0} z?;&Hr%$ET0KC40*%WM$O{M0k^8W3oxtHStWDF-RNy@*A=S9wf{{8M^WfOil#?2j>f z7v%4xxelQP0eCVG@|*Qbp+!P8DJ^9Dfe&^uaN} z)Qov+e-S*i_FD{9e^7m(a6e+B%m~YUM`GCl_ZNw!2ks*h%NgK)Au(5(+!rL~9hK`} zV(wUSol9(*na@6nxpL(*QDQz(<@%JEJCqPyhZ1u|59jjiW>$1K_hvUES*{ZQfvfQ_d&*B1#ku*jVZPkJYQAll?`gnleAIsq*vv$sAL=gxR`YMe z{MP|nbG2WkJXbXEc3_ojW-d8nkuw@z16KVrH~j{%HP`zii#_E(8D;Hi9_ zHFy1yMNa>GE?aZiMZnfv_$**+Zo3%Rn%gb~9v=S;u?*On+pYjsMMI_0g6ThQ!IbX> zw&ub`FlnTWbaS&ei1hI)f4yE;+t8@%VmL#s8?AbfIqH;9xnoNca@7gFC6;Ik#PpDn zNT&2ax?SLft1T8rddjrYQ1_*6$UM@K-Jq9FY>m84ZSU>88sP%*3>jqH|mYP%DU9-{K -#include - -int main(int argc, char ** argv) { - int input; - - printf("-----------------------------\n"); - printf("--- RPISEC - CrackMe v1.0 ---\n"); - printf("-----------------------------\n"); - printf("\nPassword: "); - scanf("%d", &input); - - if (input == 0x149A) { - printf("\nAuthenticated!\n"); - system("/bin/sh"); - } - else { - printf("\nInvalid Password!!!\n"); - return EXIT_FAILURE; - } - - return EXIT_SUCCESS; -}