From 7edaf1993fc7f37c6f5d103046a6fe84d2504b57 Mon Sep 17 00:00:00 2001 From: Maik de Kruif Date: Tue, 31 Dec 2024 16:25:15 +0100 Subject: [PATCH] Add act1-hardware-hacking part 2 writeup --- .../part2/access-cards-file.png | Bin 0 -> 14021 bytes .../hardware-hacking/part2/access-granted.png | Bin 0 -> 35289 bytes .../part2/access-not-granted.png | Bin 0 -> 7045 bytes .../part2/directory-listing.png | Bin 0 -> 17048 bytes .../hardware-hacking/part2/grep-passcode.png | Bin 0 -> 12644 bytes .../part2/initial-terminal.png | Bin 0 -> 40591 bytes .../part2/sqlite-open-and-tables.png | Bin 0 -> 6398 bytes .../hardware-hacking/part2/sqlite-schema.png | Bin 0 -> 12549 bytes .../hardware-hacking/part2/sqlite-select.png | Bin 0 -> 11258 bytes .../act1/hardware-hacking/part2/sqlite3.png | Bin 0 -> 18757 bytes .../hardware-hacking/part2/u-boot-menu.png | Bin 0 -> 10473 bytes .../2024/act1/hardware-hacking-part2.md | 160 ++++++++++++++++++ 12 files changed, 160 insertions(+) create mode 100644 assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/access-cards-file.png create mode 100644 assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/access-granted.png create mode 100644 assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/access-not-granted.png create mode 100644 assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/directory-listing.png create mode 100644 assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/grep-passcode.png create mode 100644 assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/initial-terminal.png create mode 100644 assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/sqlite-open-and-tables.png create mode 100644 assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/sqlite-schema.png create mode 100644 assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/sqlite-select.png create mode 100644 assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/sqlite3.png create mode 100644 assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/u-boot-menu.png create mode 100644 content/writeups/holiday-hack-challenge/2024/act1/hardware-hacking-part2.md diff --git a/assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/access-cards-file.png b/assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/access-cards-file.png new file mode 100644 index 0000000000000000000000000000000000000000..887d782b491e945347b9fc2e59197f345afc16dc GIT binary patch literal 14021 zcmajGbwHa73aS!e#xH~EC?%o!P1u5?C?(SaP-MzR33wqM$d7pQ` zdw=_!k3SNU4EIcC*37-G-?|7^kds7xL-+;`4h~i7vzQVb+$&?)?*gw8VUNXg)pxKb zct;T_mDjKzuh&LFu-61m;u=oMwkA%l`VPi$rZ%?L#te>z4#vhdj%Kz_r?1)tV2v35 zG!k_%)^{?uwINe6w>E}TaW*DnV<8hWHY8(ZW@RU1W(BbF0NA<76lBRn#Z~-3#{f7u zGB_zQVHLNO<5YJI)!zFK!JC)yL*!K-$!s*D3WBAnHOoNKSkeqPVhq?dzoy?I%G4|ih4+h zt9$WRyBNf88;Wj=c#kXFelZ%W#~iKj41caM00~Knk%C=hyOFZOHE@zs_^)dU*??mH z-9wa;xZL1>b(e!38O*;wfRQU6#x<(@!~Tl8@Ai9UIQ zqXdy*ae-fP(KvO}OMOs~m+Q-HUp(Rt&}P-f;-2o?21}2aBo+yY?By;(O{qbge1F?0 zJlaz$zH4UOZmEDsywkV+bxE<^A0z-T+ zo?^C4SN!baTUJ1Dkr}@;KMR*vlN}emgyf*F+K~l19{rxvI}_s$Tw0}^&ynQfA=p$= zDJh?#qNBkrpu9S!S+jlVShlsZ?ull&9MD3qxvc0x9Fww%0N2sm=NEx#{C2b@x4q_h zS0}vzyr)&vyGV$ht(P(Mc!YGSLzGX`R|d6{qosx!^32HSy~;b({{%@44mNSH?Ki_z zJ(VIW@oVN=ftL*rlFVF_Z;9}WIXLVr7f7T>Ua3%)Uxh{D`i>tYjY-=7`(7k5C$h6LKYR`H1K98#^ zJET~o5$XHV*RUVRnnIJ`4vCjN`@gh@j7js@lv)?6uF1vECC-bj|L(=bI6+ z+BwAFH#;Z`glfyz;(?4=<`EcK-&?8olEUon*T@uC$+=QFMZ3h-wdJ}hH{dJJc}X`i zT(Ci9Pii$4s(X2cw&YK9`BBUR(JqgS;axKeIpet=LNl;5|* zHf=DcH{H$>weema&grcxPEpEpD&HsZp|bFZg)PN3^7Ik@{ApZO$o#DZX}p&^?YXp+ z9?;9Tu(Z|ePEcDHK&LDgEx@?hOPCk2zc_P^hq2~ER)S-tSfbNjtZ`u&s=-zo=+-$o zUg}49zR_iOZtq>Zd8J}Q{?RL~pxiy`7)&@}eZg62lN4_=lv`-ce{Sp+^V(}@K*$s2 z6OT4KZna4JaJ=bE9#&7^DdG-27;r4w(+LVV98_)(XH7na?Z8OO7Kjy9Eyg3Bc*sN= zC*uA`3@RU5+H}b|Q9~cR%1XiD7q;9eLK-oy)6f%~cOTTk%yOmczc<(4`rH$oTiQwL zHnYcp{@K2?W57#m&~&rX_1UPne;xr^Y?PF2qex%tz0Q2I*joR4$>p8Jfz!scltjl5 zvB|+Niyi1}R0D9i-1t=-u=FZr z%{vw)-a$Q+F&)@FyBd?Dee{FQQa> z2hI;tdqf>0(fUWDcX21Rv(n(p^J$CBmc8mBLvMAsqg477>ehno#=S*@b&RfAKL^nqG3E?FMeC2*FWOv#oRQ&zz4?nL*9|9Vt*upoKo{m~~stj&O zSAKzJ86De;i3T*BV|u<%4glHITlj2^yg!P0(avAQ>q%A`FNQ@ug^ zv^rhWLE`vns$M~{lw5YgcE;)~u{D93#$) zD%&;HUI5U#%@?AMcqx~qoIiU>vWRMGYWiu)*Kj!>h1;EGiG~W`p|}|zbul37v8fnN zWhCITGFb>X&^B#UTOUdsIzQL(WT=O*g#7zF30jp()G~aP7_1|h{OhWEVQx_MrZcw> z8FQ49XeQy(>04Bw24ZIjg<3P1-_G79xnK-Dv6qdeV#0c0GljM*Aj`wX+yCx zKH&D?k!6^NKeJZ`Qd>1T{pb$cJvbPpf^?y7$BG5+Z@qUZBN#TluNE=IRrtlgmsK z6kfs>gTzzESv10)N0DoQ09C$=ZoZ48X^nec8Lk|4&3SQ%?5Lt&{xdL75wG8i2HnG{ z=<~%lqu%KE3cK<47nmvhX~66{mxS%cqS+$%%t+%l%SKY3k)|M-yGtLQo20=ortbFa z;wuROvnf9WV=ocJpU$pa7`!0zj|Kc_?t1!aqm4YIQ1_i?H7mePR6~BL)XJL(;85hv zE0J^W73v5zYND>E%)MK5_fA%>jlru{N zSg@eFQ~Xk$buls4&8rRFP{7LbnFYFLd`57!{odCm)yQY8Pu%{m1QCdi^W%u_Ei&?p zjC4f$A;Euza-W9l^cA^2@+G!u6I z48`HxIxej>*)D_3tfe_jQP_866q5@TUlqomRGjV|Hc1JqjyX)1*`gHK6&MH)<~H-e zmyt;AuCMYYEF_OtspHUbCphvQU`nDd_bzl}j-fFYobnr;-rzMvLGH^#YHQi=(y^#J z{O&c4R@=rh3n-N?tSp_(jlv|AkyhT`be&L!@1z8oY01eBwW${V{v!7<>&w${gBBM% z;#O_zEOWxYUcU}mZlS@3=E6?lHo+_)h2;UKvk(F-CmN7x9UCZBZ*VI-<1e%rGWmpd zI2wf>X#cy;o~EOAQP$|LqEDq%l{6YfvcXIKXROaRs&w>;$I*hYH6@8Qbp+-;gd0Mg zum}p-j$G@hv((3>EkLbKg9qI=_7|p{;ihMstvrq9W;3?96nBmKNtwdMs^?@o?8STX z2F6DSy`1gy7B3z9IV7`RmNtg?r(z_qLqjbJ1zBcYRYnKC5fZw*G3Xla(=f@2M$VzK zG2Q5~y+~0gl#xsy(R-oqrP2>?nSaEjP@}~V9Oy^D^5D5b7mZ0`{JUP$7ph?_Kdq(S zx3ZE}ZI5j9a({1*ZQ0j6O;uR(PDU?OUKt5aW{Ro8U`Exek8|(nKBmUe5-409YK^xP~xeyj5*PVe^TQILD5s&|Ij^R z7e_y%S^p7TV&t^qgRq<`SWF23A0WA54!XQyM^`d%ub;cbtoi)6GTVj<{ZUTHaNk;a zW9pFqHGnZHhx@F*?@@oQ7DMi!^zVH9Gi7ej--7H6t=lX0>G?a2IZ zW+w(uIbtKAc0T4PbRoOWOy-Llwzh%q-fvRJK_TKeKI44UIN7wl3->f{b&&;HQsXfu z%ek_W`If->c@2Xs(cc>C+D0K^9%Y-q7r5K@^>%_MSpvef4*NWPqBW}B(F1*xwa9m@ z{=d>J>bX!`r*+5_xRBG}#)uO19TO9i945NnH#6oM^_E@RRXWHa>8sH}Eyap`PvbIV6YFxE#}ck4MMmkWu-uYI{(x0^hcCIqc0=UlF7VWA7 zE5lWS+u}U41VJ6jYx+o!j~t3~SdQKKD6Z9ATjLr^O6OKV_}Qp&;_bj9FQ8o7+EZf* zP%{`+e2ghJIRU>>)9a$B70zGR+85($i+Llwue4G#E6K?7pCuJ!L*^_yKG2`I~P%+~_J!Mp4Lfm96F%))-;^ z{(+|E$~cb|pEcCh4u z1@%MXTUatEz2N1@pL)Qsliclkk$W?nFWPvsf{*#Be^Zl;iE1BTnuf{;3%vQlnLj&L z_1vsLg(3QuVGcY)M}MV+sk6zPm$M&libuv79=Lm>kGBA4tHb<=(6{RkQS|Y?x@nIcNbm48 zIlSMN7gSp-X>%GXfLUJc`|TqiPeX!x?{*%-QkbN_$ywRPII?_$mD+Re1SPvI)4^Z&wq$nyKv9{3$&$ z??IG~i`r^2)HgfX-q%q>3dW=FL2OY{#LnZKm& ziM+JcH|hsk@f(gZs-F7st;atft5{DYNFAz;(=jAbn1tC?|JwehHUxDxJOf=K-Qdi| zg7XDY^1Z%~>@%4O+P#8(E3Zl`Mm<#BTl$Ju>DCP;C2c~s(2up6)_P&zlyRq8GjYDi znJBR<#%r%HT{5o8U(kF!h$3H0n|o^1Y)6nGy%Inx?4N(fnlu(~dQ%KSzvx=I##|f2 z@7o(fryG=BaD?s~QV^k*-i;WD33AD>!T;>63_1_h^!a&@&$Nq@U9qRG8iBa{V5yYm z#KzO`jONWxOg5Gyb2v$qKKEqgRL{nJ<;!RNCo=OXD;;l4CXQAcn&|Se-%D?nv{afwY zeVAx&7T!b{TDEjv3=HyXe~ULumkanWHM+1eU6*#t%15_$k*|BaLGBP%FNb6$_ADN0 zP?H}f3;>D+gMfp36IbI2YvNW%@&+A5qc7j#?vOaQc_N4fsZwa|PnNEqFtn}tNIVcO zE7q^{ylZcg<@v-~HQBq0aGYiqtg2lIejWA}mp@63)(M*U5=?6Ee8j{|+`Oxb&Q)@1zDK(>|fb zCgT$jQsp^&v+%mCrZIB*aQ*5yW*9UOH7CXe1q@D_<5j4p2;gUe4ab8xU(JP#NH^h6 zGhX&rpC773;#bUU4?K8OHM!{!_r@2;2jSLPya?Zn#YOe^dy`q`q5KJzG>XR8`!S+& zF$0zoI9q^BzjHsGGP10r1`;ZY10FywMGT+?KS$AO;|K(u+_qH;!~v3A?1KU$mASjC=L-Uw-36K z_SmuMS60RG!?nhQw5)`_hcq=X?m}k@*61p8&&MM<)4xRWC6xMHKcd3UTn>v8xp{)VtIjsJ#Ulfd1+E3Suf|#ai_Mo4$aFZe!jMC~?Ieo6tpWQyff=2%S!NF=>ns02iv^W zaSqJ}c@<|`UxB$e7%~jQjqh;jid1v>v6tJS^shW8qSJ`>Ge$=6~!zSu)G4EFpu9l2vLJTM)&9eo08OVK9O6~Pnx9y!JqYe!*%9^(8wNbVK(Pft;kx3T>uZ{0CR zPqq6JpzqVyp+=QLCyAow4pX?ncgR6O}U-rMlq{2vgExw-%-F|1aHdz%;*nqjCi+7V^9fN z$*grSD|`9o;tv*s?w%^#SXOzv2bU)~zQa+B(bYrQkqZmVs94)h)|jp|5c;IB_J`;F zfVeuXo)sM;(8Xm>?@U0@h&LRw>qUlx2^kC0qw_1nKX-|}X9@{Ryf=Ntxg>!IEU;Dm z9tBHav3Y5gwK+PcT#&NyPRB zXc>I&j$zD`*&m5@PbX^_kk26VYh=(Ji4EMChk|j^YqT=b=K#W4OHa zPA3Yksix!Mf;`_Ffp*6CJpQUehQr*kkmboUAQnB^SbOHw0?BeJ*LTM$w-H+$ep|#{ zq7FK#eht8&`}NpML;V^JRc1W~6#InuC?DL9!FyFgm8Y~rP4PYa*0Kj`ZcZK{6sJi3 zoA*t!?@MJk{U1fg&Pgx68=pkyI(XZ5W#f)_sg-`FIXtl;cWDz-Q1B$a;L8}~;o74R zWLl|3>lR7e(B+bUBBTTGMmy7Uy^H<*Tk_jT$e^Sk`l;1Upr~xZohJPXIy-%XCl>p) z?BEV9is-`u=Z^d+Rf=K%a2?{pMbMpX#5TCI{P5@n(c;aia9>*XGR?hMesA%YhXZ7pwQzBO}f;3VD*>w+Rz*~)xWMx>1OLm8;O$C!Ephv&b*h~m8@?grm zj=Gof%w9vljWu>?Id2DT+jP3@t^VL_v3rL5B06wt4^^9yQXtv(K6Gb}BBU54ce%+9 zzFNzNeRz3*G+2AVw;X3ROoqpCqCxw?2})bhn6p@jIax-XXIMxRjZ zz{WZX5&1Jc#zT!<(8c`BGF$U`cg)sgEuxfJnDls+16uuc(#+s?8g|02XlvXJUA7$$ zON>`E5KS?$_79nu^4zY&QdND(L#MEQypbUNN$2jf5(-{7YqYt%`Xx{>(D;o>&xIGd zGq3A+p%fKf=@g@c`6m`yV6lLvjvolTlgW+AHSP38z*!Jv9FqL}`8Ax6k59}0i+s@h zZ{%a%{(2%9imM~+9e=HL){)a6J4MIYH}Jn%;W3X7yf8IrV39TI{rehQcrP_T_>{= z4*Ow>GYyUs1|!Hm+rKYL3n`5Q+Pt}t*tAL zLzTkDc{Y5hqhmlQk;MJtbxwZ%tHL8a?xc(Y|9&Shohk3lQwcapZe$5bgVz^3ok{Rl zG5;=`wF=U~LaLG5T$(?Lf=5#J)4am0+*N#Lo73QxR%e1R6Xd?cUFB#q+4~}@F=XgI zej6-Gb^Q@+YV54l3;|w0&nFqDCZ8`L?l`BGGeY|G8Su)|fMl{AiD6p=EpFwJkFX^M z+EISog^N|I>7hCLgzE9s5#fghu{a#yIi8kKd^T+1yuCc0UaX}D$4BJLhOzsku*7tN zZs0idig~ zZ8{$);n7Mm4}^om#r)$1a4IxJ5CT59T79+=zM98?x1o1iw3!g#AA5vQSk$DAHI3sQ z5%0$CQI6=WfybmZo0%o7wrlsm=%7A!(G1S9?edCpf@&|)o6Z83@=K_(dNIA@?q$Ce z0wE)->)CpjI;w-*B*bF=>tNzU=;dhpinJ7YM;9i|O{ZdLNKXP|X`Cf`lHV2bu zAl}&10iFnM{JQOu)8V$6o%qx4)p z5P3R+(qP?hUhj#oVXT-^!o>SL4g9{L*0QOH3)Khf;1_&0sCKl{xd8SF=x z{i0@3g`CE_uPdP|qCEbO>*1O7PjT)(?O!;rZ{ydP;r^wgx%MCW7gg2g$U}?rHlk~) z?RRSO|Acyf2xK{5dUVw)2@rQq6Q>cAMQ<+h0D^;Tj*%rF&NLS(IhODhUn?u1F*PnZw!`4RK}*M|0l+~7u$b` zKNy0Qm^q()QW&PRW9w+;WwO(Xxji_;ZJQ1wa-W%0ZZ1tnc8{%s!>Fh|sJ!(m>8+!I zF;NFtz&Eftf7zWqk9p54`JA9!0t&c&s@XzSUQ$PX8}R`)CK$ZS;$q6Mj*WWXxV`6Y zbqX_>bQs#kpdlk;eE9HT>|tcqr8W>8>j-$w_DXPW+O`l@qunpOu)%wGJ#GG(B|KrF zok9Ykg`QYt;klTB5G7O#u~{VWfc>w@K;o?j!I(dx$tWJebF-~!S>WV~Aa{Rh0mAy~2d z{CFBS*QP%@Xt65sb?_UE)_?%o5Gv8!UG40iYpmyxhLs6}{dhf*Y*suH$ujJTrHEiK zO?{BQEiW?GA)~?JxgR+Ipd}{x%qRy6$7=Qo#+{g$*gOk%-emB^dJ%5WaU{Fhu>fDm zw6{vJ@N^?+5N0de%bBRrO3{@q;%|z8_2RYil8J%Tw%3NavWwyHyb`&$h)TDk*j87d^Bc~ zxw%J*w?6!vz!)bw?~UvEXWbEh!D^758)RFFb4^D+-$NR@dq&c`|LcxUbM?;Y<4qfp z==U8BzI5R`(>hthr^Tk08t>Orjt92g!#+oAP>$%e`_#sEN__)VE;OX68$YUL^*KWu z4bnI-?vRFilTa;^l;}y-I8%xORKD;+D4y;{m3o4rMVj7AOOIJ{%i zCH;Cq`ZzJz7qf+(Ha(zjl2;~mN7NYwN2@fho0hv&GxM!7JbBp63+6z4qEX3>i8RG8aCRbf+2=8YmfL-8YmXF zvsC5?(2I-MI@k60^g82^Y0iEb$x1~`Hnhgd&R#9jiDN4mLL2^XJnGVylO`Cr`0$Pt z3Li}k$6j;51;%(>W*&JbgxF8s$7TW*b_h%aI$gjxa)Ptx?dDao)w3~6H=_T~Glj2B zEZ_9E&THy3LXM?cw0#CQhQIsGyEb;PdnUQ_;O^Mq&2TX6${V@m zYLdEDe?@@l@zdlHm-+b+eLU^W=A-N0J6BMQoi{C5^wIf^MJbZ-Mz)zzxrB8YxxfR8 zg#T`7`Q{LGYoQr`K>*AatZ7!ORdyV*?lFQkU8U@3z69?@-S0rU;~j%p!`OQ6ek?EH z%Il}>>nEsZ(%`+r>*6ismqZgjD)q3O*`j?N$l1J6WXrK@>cxgTWNA?mR+Tum4!_1CoIllfdV86TD+@P3P?89 zx~MmF%Uc+aO&-+<%&H|WlUfwv(aj3zZvs+9#g@a|SaM6Fg*gvzR+#?-242RE6!VMp zL^!U|PM+pR7Rk~Cg{`4ZTDQIuOTGTExz5z>4COe$AfIL0k8LiMS5Kr8wc0G-^Q#4~Kb1j` z{=tsTR)1s1f_ZDPv8uM1p3EqKvlX{6@w03EneA>#aXHIj8&)f5l8(_7tJt+C;1!XW zI+tT+ofY-$`z87|GeyO(*$E9c;-k0%RL3fX^Fc4boWUJ&IFR0`$|3xBsjt+7zv9+G z%Xqk;TA$J{)JC7fv(!p~3%+>sK59F;TJ8sW6c6#G7`i&c@N`@(oK9LFSV~(;`&Jsr z!$|=jqN28Xmu+g(gHJiMWbrKX>V{p9A2Xa0ZxSO80PMT27)1BcCs0GhRYi3H#H(WQ zYvjQ@(tE%Hi{LscQtD{IjO9g7OXXmHM}m5VcV)xVnN%NLNO$=6$vcS-q@o42)2H)DGF(%dnZ8N=7t}Yc@?|u%|`wbUp{qNaE4rkqCW{Oya zXGWQk1pz}?2cuW6=gs+B;7L;xJ@{Y>>m$nLsG?*re`of2l? zn*;X1NBu3$8s2>QcX&J%&o7voQD(h0W)10Q$xnoNAqy6UTd^{`#sWmX{CV{>#o;6LO|g2 zt-1b`pZZ+zHfvzwPf6%Voe5*QPQaOHI@9Mcn9ph&Ki>3AMH)sOo$DFh7L91iU8lM1#l|MK$0#XjHd+`5&uUYjkfBBn2Z%^eI7 zS6W7#cuZ~cs z^|M9WCuJU2MvUYXOQ7}a-hH%#&l+pr@C{jpCrRC?K+36JYJEOi?wY2=HLVBcnaV#j z^gC8|@zGK|8(ejXc6)^r!M&kpQ1m|Lv4{_1Ju4X_RovwO*K= z)a}d9fxgg6r2UN2pU*Yo(%KB0HZKGxBdRPm28je&-Mus0QRxb&bXdW| zl2SY%1*6K!JAm836c(O35jp40KwZy(-(cdm9^y+bHwRD@UxRDRzQAKp%jV#`@vC

_xy{@(( z>6ZB_CN(6r!@6OjMZ_tr2!~IZXBuo0?L|2elUIVhStX2@u@NkWdZdGWL~kA^{W5oS zbXw^*+80-0<|0M(cfn)6OO3$sb6E}z5e;;(%P_H?FHs@?RmCER?^ z5(2GnP978aXTL`zM`X-}y1Ri05=;@ek}(UJuzNDU17L*KLCxXeCv0`Uu5_-rQ*hrr z&poJ3Kuo@TcvX|nv^R~7IyyQlbRx`9H#(ZI+@yFJc=~`Xl*M-i}pgK{mTxUT(3n&SFc1EE9v#ATLtSUvg7kywDAz%*;dLE zb4#WAu5A6VzuDv6)+uMxUtBNY(7%y_0Z`W^ZmscuqjG?^D8>P{#^2%qq zDqE(8D^`$4m*7pw| z9%?GzBwD?`4@}z<+(sDE*`uGkq2{xA!C*B*CRfcV())X#-=Q8@ShUIIjcSJKq67aJx>)4U^O9+Zg+STRm0s|WQf>P#ya_2zyFiL^$v)NE#MSxKc1`V-UemWGn-d- zT6@7xz_qtK!Fv4T;{n#CpuBYDj`DYwa-$Y~c3@@-6$~PPRE(Y*K9RzNE!-^>`a zOjV>GgDcyzooKKNYp?KY&FE~K3I=+JQ41ePSit9NC*-mjT&WJNYRo3%Lk|L$?{S)M zP0|6zWt$gIRH67!ttU$yRM&0@{^yD$SS6`dAg!Vq3n@P06sFXNd^YoO3so4y8aaSQ zYY-H-@GT+uPwcLdR=TalC&kfqq{Q6fK;=Lx2GuZI4^8#%cy2h(Pw($r0o%AL5hRhO zOA$WFvCuNo|DE?)A*ibE9zXf1-N;9$&}fyW9^E=?@V5P`b}&oPm>I87euovn*~dze zDnrI#&x=Ci(;Z%I4oFpdG&%1LWHLPv0v0n?@WFrihbi8GQg8KTde3fKd6_752fccG11ciwpbs_`z4OnyBZUE?PkI7roE($4_I(P7 zOsmo`C>6&fun?8`Jr0B9hP4*DPNLB!iK-%`aekN7Pv0wmInT4kmzX-g*2_*EVC2BIK|VxeHhbg^FbvoR%W~4fEVRV1O{@Kka_*0l$-DVt)-~ s|I7aS$BU@M{eQLYQDREbUiiN1xj$<^tty56iy54hxSUv-$d~W`2TGR+@Bjb+ literal 0 HcmV?d00001 diff --git a/assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/access-granted.png b/assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/access-granted.png new file mode 100644 index 0000000000000000000000000000000000000000..25754ebecd892b4795a92ecbcf010273b1e41072 GIT binary patch literal 35289 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 literal 0 HcmV?d00001 diff --git a/assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/access-not-granted.png b/assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/access-not-granted.png new file mode 100644 index 0000000000000000000000000000000000000000..08b38a22b56670be78af0198017c00be52864050 GIT binary patch literal 7045 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 literal 0 HcmV?d00001 diff --git a/assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/directory-listing.png b/assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/directory-listing.png new file mode 100644 index 0000000000000000000000000000000000000000..d8ba07416e3356e20d32808789ea62e2467c64b2 GIT binary patch literal 17048 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 K&t<}T-~S)Tq-tpZ literal 0 HcmV?d00001 diff --git a/assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/grep-passcode.png b/assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/grep-passcode.png new file mode 100644 index 0000000000000000000000000000000000000000..85b78793dab5c0488fd15982071dad41ff6c8667 GIT binary patch literal 12644 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 F_#gaoazg+B literal 0 HcmV?d00001 diff --git a/assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/sqlite-open-and-tables.png b/assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/sqlite-open-and-tables.png new file mode 100644 index 0000000000000000000000000000000000000000..43ba7c2370463977261ae0e90a01afb4e7b9d9ee GIT binary patch literal 6398 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 @SqwN9+N;e=QfP<&i~qJQDq& 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 lP2xH2;oK)$TKn;<{sUrKR`CD; literal 0 HcmV?d00001 diff --git a/assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/sqlite-schema.png b/assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/sqlite-schema.png new file mode 100644 index 0000000000000000000000000000000000000000..948bccb263667886ae5a1ad383e581e4f0449033 GIT binary patch literal 12549 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 M*jv#O5qh($ literal 0 HcmV?d00001 diff --git a/assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/sqlite-select.png b/assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/sqlite-select.png new file mode 100644 index 0000000000000000000000000000000000000000..7e0deed4a36f99f09266ec018b8d2b4ea91375c8 GIT binary patch literal 11258 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 literal 0 HcmV?d00001 diff --git a/assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/sqlite3.png b/assets/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/sqlite3.png new file mode 100644 index 0000000000000000000000000000000000000000..aad4a5b8b876b9d83a50abc844eb39cd992e096b GIT binary patch literal 18757 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 literal 0 HcmV?d00001 diff --git a/content/writeups/holiday-hack-challenge/2024/act1/hardware-hacking-part2.md b/content/writeups/holiday-hack-challenge/2024/act1/hardware-hacking-part2.md new file mode 100644 index 0000000..a9b9eea --- /dev/null +++ b/content/writeups/holiday-hack-challenge/2024/act1/hardware-hacking-part2.md @@ -0,0 +1,160 @@ ++++ +author = "Maik de Kruif" +title = "Hardware Hacking - Part 2" +subtitle = "Act 1 - SANS Holiday Hack Challenge 2024" +date = 2024-12-31T13:52:58+01:00 +description = "In Hardware Hacking Part 2, we help an elf grant access to card number 42. For silver, we find the passcode and use the slh command to grant access. For gold, we locate the SQLite database, modify the access value directly, and generate a valid HMAC signature using details from another table." +cover = "img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/cover.png" +tags = [ + "Holiday Hack Challenge", + "ctf", + "hacking", + "writeup", +] +categories = [ + "ctf", + "writeups", + "hacking", +] ++++ + +## Link + +If you want to play the challenge yourself, you can find it here: + + + +## Story line + +Let's start off by talking to the elf: + +> Next, we need to access the terminal and modify the access database. We're looking to grant access to card number 42. +> +> Start by using the slh application—that’s the key to getting into the access database. Problem is, the ‘slh’ tool is password-protected, so we need to find it first. +> +> Search the terminal thoroughly; passwords sometimes get left out in the open. +> +> Once you've found it, modify the entry for card number 42 to grant access. Sounds simple, right? Let’s get to it! + +## Hints + +{{< collapsible-block title="Hidden in Plain Sight" isCollapsed="true" class="tight" >}} +It is so important to keep sensitive data like passwords secure. Often times, when typing passwords into a CLI (Command Line Interface) they get added to log files and other easy to access locations. It makes it trivial to step back in _history_ and identify the password. +{{< /collapsible-block >}} + +{{< collapsible-block title="It's In the Signature" isCollapsed="true" class="tight" >}} +I seem to remember there being a handy HMAC generator included in [CyberChef](). +{{< /collapsible-block >}} + +## Recon + +Upon clicking the challenge icon, a terminal shows up with a boot menu. + +{{< figure src="/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/u-boot-menu.png" title="U-Boot menu" >}} + +If we select Startup system, a terminal shows up with Santa's Little Helper, an Access Card Maintenance Tool. + +{{< figure src="/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/initial-terminal.png" title="Initial terminal" >}} + +We could also boot to the U-Boot console, but let's explore the system first. + +## Silver + +From reading the help page for SLH which was shown, we probably need to use the `slh` command using the correct flags. It looks like we should use `--set-access 1` and `--id 42` to grant Full Access to the card with ID 42. Let's try that. + +{{< figure src="/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/access-not-granted.png" title="Access not granted" >}} + +Hmm, it seems we need to provide a passcode to make changes. This can be provided by using the `--passcode` option. + +Since the passcode needs to be provided as an argument like this, it is likely someone did it before and left the passcode in the history file. Depending on which shell is being used, the history can be read using the `history` command, this will show all commands the user has run. We can also combine this command with `grep` to search for things in it. A command combining the two to look for the passcode argument can look as follows. + +```sh +history | grep passcode +``` + +{{< figure src="/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/grep-passcode.png" title="Passcode search" >}} + +Great, we found the passcode! Now let's add it to the command and execute it. + +```sh +slh --passcode CandyCaneCrunch77 --set-access 1 --id 42 +``` + +{{< figure src="/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/access-granted.png" title="Access granted" >}} + +We got the silver medal! + +## Gold + +### Continued story line + +Let's first talk to the elf again, he'll tell us what we'll have to do for gold. + +> Wow! You're amazing at this! Clever move finding the password in the command history. It’s a good reminder about keeping sensitive information secure… +> +> There’s a tougher route if you're up for the challenge to earn the Gold medal. It involves directly modifying the database and generating your own HMAC signature. +> +> I know you can do it—come back once you've cracked it! + +### Exploration + +Let's start by finding that database. We can start by listing the directory. + +{{< figure src="/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/directory-listing.png" title="Directory listing" >}} + +The "access_cards" file looks interesting. To find out what kind of file it is, we can use the `file` command. + +{{< figure src="/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/access-cards-file.png" title="access_cards file" >}} + +It looks like it's an SQLite 3 database file. + +### Solving + +We can read the SQLite file using the `sqlite3` command. + +{{< figure src="/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/sqlite3.png" title="sqlite3" >}} + +Good, the `sqlite3` is installed on the system. We can open the file using `.open FILENAME`, like the help mentions. After we've opened the file, we can also list the tables using `.tables`. + +{{< figure src="/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/sqlite-open-and-tables.png" title="Tables" >}} + +Let's explore the "access_cards" table further, as that one likely contains the card we need to change. We can get it's schema (table layout) using `.schema access_cards`. + +{{< figure src="/img/writeups/holiday-hack-challenge/2024/act1/hardware-hacking/part2/sqlite-schema.png" title="access_cards schema" >}} + +Now that we know the schema, we can formulate a query to get the current values of the card with id 42. + +```sql +SELECT * FROM access_cards WHERE id = 42; +``` + +| id | uuid | access | sig | +| --- | ------------------------------------ | ------ | ---------------------------------------------------------------- | +| 42 | c06018b6-5e80-4395-ab71-ae5124560189 | 0 | ecb9de15a057305e5887502d46d434c9394f5ed7ef1a51d2930ad786b02f6ffd | + +So the goal is likely to set the `access` value to 1 again, but we also need to generate a new HMAC signature for the `sig` value. + +Before we can generate one, we need to find out the input for the HMAC algorithm; we need the input format, a key as well as the hashing function. + +The hashing function can be inferred from the current hash. Judging by the length and type it's likely SHA256, and any [hash identifier](https://www.tunnelsup.com/hash-analyzer/) will confirm that. We're still missing the other values though. Perhaps we can find some clues for this in the "config" table. + +```sql +SELECT * FROM config; +``` + +| id | config_key | config_value | +| --- | ------------------- | ---------------------------------------------------------------- | +| 1 | hmac_secret | 9ed1515819dec61fd361d5fdabb57f41ecce1a5fe1fe263b98c0d6943b9b232e | +| 2 | hmac_message_format | {access}{uuid} | +| 3 | admin_password | 3a40ae3f3fd57b2a4513cca783609589dbe51ce5e69739a33141c5717c20c9c1 | +| 4 | app_version | 1.0 | + +Look at that, the key and input format are right there. Now that we have those, we can plug the values into [CyberChef](), which will generate a signature for us. + +After generating the signature, we can update the row in the database using an SQL query again. + +```sql +UPDATE access_cards SET access = 1, sig = "135a32d5026c5628b1753e6c67015c0f04e26051ef7391c2552de2816b1b7096" WHERE id = 42; +``` + +After running it, and waiting for a second, we get the gold medal!