- [bi0sctf 2024] writeups ์ง๊ธ๊น์ง CTF์ค ๊ฐ์ฅ ์์ฌ์ด ์์๋ค...!!! :blobangrypolice: ๋์ด๋ ๋ถํฌ๊ฐ ๊ทธ๋๋ง ๋ด๋น๋ถํฐ ์ด๋ ค์ด ๋ฌธ์ ๊น์ง ๋ค์ํ๋ค๊ณ ํ๋๋ฐ, ์ ์ ํผ ๊ฑธ ๋ณด๋ฉด ์ฌ์ด๊ฑฐ ๋๊ฐ๋ง ๋ธ๊น ํ ๊ฒ ๊ฐ๋ค. ์์ํ architecture์ฌ์๋ผ๊ณ ๋ณ๋ช ์๋ ๋ณ๋ช ์ ํด๋ณธ๋ค. ๋ ๋ฌธ์ ๋ค BPF (Berkeley Packet Filter) ํํ์ ELF๋ฅผ ๋ถ์ํ๋ ๋ด์ฉ์ด์๋ค. IDA๋ก ๋ชป๊น๋์ค ์์๋๋ ๋์ค์ ๋ํ discord๋ฅผ ๋ค์ ๋ณด๋๊น ๊ด๋ จ ํ๋ฌ๊ทธ์ธ์ด ์๋ค๋ ์ฌ์ค์ ์๊ฒ ๋์๋ค. BPF? (Berkeley Packet Filter) BPF๋ 11๊ฐ์ ๊ฐ์ ๋ ์ง์คํฐ๋ฅผ ์ฌ์ฉํ๊ณ , ๋ฌธ์์ ๋ฐ๋ฅด๋ฉด, x86-64 JIT ์ปดํ์ผ๋ฌ์์ ํ๋์จ์ด ๋ ์ง์คํฐ์ 1:1๋ก ๋งคํ๋์ด ์ฌ์ฉํจ์ ์ ์ ์์๋ค. %r0 ๋๋ณด๊ธฐ
- [dicectf 2024] writeups ์ฃผ๋ง์ ๋ง์ ์๊ฐ์ ํฌ์ํ์ง ์์๋ค. ๋ฌธ์ ๋ค ํ๊ณ ์ค์ผ์ฅด๋ง ์ํ์ผ๋ฉด ํ๋๋ฌธ์ ์ ๋ ๋ ํ ์ ์์์ง ์์์๊น ํ๋ ์์ฌ์์ด ๋จ๋๋ค. ๋ค์๋ถํฐ๋ Niceness๋ฅผ ์ ์ ํ ์กฐ์ ํ์. pain-plus-plus deayzl๋์ด ๋ค ๋ถ์ํ์๊ณ , ์ฐ์๋ ์ฝ๋์ ๋ถ์ด์ ์๊ฐ๋ฝ๋ง ์น์๋ค. (์ฌ์ค์ ์ง๋ถ Under 10%) `std::_Rb_tree`๋ฅผ ์ฌ์ฉํด Flag๋ฅผ ํ ๊ธ์์ฉ ๋น๊ตํ๋ค. (ํ ๊ธ์์ฉ๋ง ๋น๊ตํ๋ค๋ ๊ฒ) == (์ด๋์ Breakpoint ๊ฑธ์ด์ ๋น๊ต์ฐ์ฐ ๋ฐ๋ฉด ๋ธํฌ ๊ฐ๋ฅ) ์ด ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์ฑ๋ฆฝํ๋ค. ์ด ๋ฌธ์ ์ ๊ฒฝ์ฐ `std::_Rb_tree::_M_copy()` ๋ด๋ถ์์ ๋น๊ต๋ฅผ ์งํํ๋ฉด ๋๋ค. ์ ๋ ฅ์ ๋ฐ์ char๋ฅผ ๋ด๋ถ์์ RB Tree์ insertํ๊ธฐ ์ํด ์งํํ๋ ๋น๊ต์ด๋ค. (๋ฏธ๋ฆฌ ๋ถ์ํด์ฃผ์ .. ๋๋ณด๊ธฐ
- [gef-pprint-register] gef plugin ๊ฐ๋ฐ์ผ์ง #1 gef๋ ์ ๋ง ์ข์ gdb extension์ด๋ค. ์ฌ๋ฌ ๊ธฐ๋ฅ๋ค์ ์๊น๋ณ๋ก ์ ํฌ๋งทํ์ฌ ๋ณด๊ธฐ ์ฝ๊ฒ ๋ํ๋ด์ฃผ๋ ํ๋ฌ๊ทธ์ธ์ผ๋ก, ์์ ์ gdb-peda๋ฅผ ์ฌ์ฉํ๋ค๊ฐ gef๋ก ๊ฐ์ํ๊ฒ ๋์๋ค. ๊ทธ ์ค gef์ registers๋ ํ์ฌ ์ด๋ค ๋ ์ง์คํฐ๊ฐ ๋ณํ๊ณ , (๋ง์ฝ ์ ํจํ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ฐธ์กฐํ๋ค๋ฉด) ๊ทธ ๋ฉ๋ชจ๋ฆฌ๋ ๋ฌด์์ธ์ง๋ฉฐ, Data ์์ญ์ธ์ง Code ์์ญ์ธ์ง์ ๋ฐ๋ผ Instruction, ํน์ Printable Ascii string์ผ๋ก ํฌ๋งทํด์ฃผ๋ ์์ฃผ ํ์์ค๋ฌ์ด ๊ธฐ๋ฅ์ด๋ค. ๊ทธ๋ฌ๋, ๋ฉฐ์น ์ ์ ๊ธ์์๋ ์ด์ง ์ธ๊ธํ๋ฏ์ด SIMD ๋ ์ง์คํฐ๋ฅผ ์ธ์ํ์ง ๋ชปํ๊ณ , Formatting ํน์ Type casting์ ํ๊ณ๊ฐ ์๋ค. Hexadecimal๋ก ์ด๋ฃจ์ด์ง ๋ ์ง์คํฐ์ ๊ฐ์ decimalํ๊ฒ ๋ณด๊ณ ์ถ๊ฑฐ๋, float, d.. ๋๋ณด๊ธฐ
- [insomnihack 2024] writeups 2024๋ ๋ค์ด ์ฒ์ ๋ด CTF์ด๋ค. ํผ์์ ์์ ๋ง ๋ฆฌ๋ฒ์ฑ 1๊ฐ๋ฅผ ์ฅ์ญํ๊ณ , ๋ค๋ฅธ 2๊ฐ์ ๋ฌธ์ ๋ฅผ ๊ฐ์ด ๊ณ ๋ฏผํ์ฌ ์ด 3๋ฌธ์ ํ์ด์ ๊ธฐ์ฌ๋ฅผ ํ๋ค. ๋ํ ๋๋๊ณ 1์ฃผ์ผ๋์ ์๋ฌด๊ฒ๋ ์ํ๋ค๊ฐ ์ฃผ๋ง์ ์์ธ๊ฐ ์ผ์ ์ด๋ Real World CTF ๋ธ ์๊ฐ์ ๋ฏธ๋ฆฌ ์ฅ ๋ฐฑ์ ํด๋๋๋ค. unstringify ์ต์ ์ opcode์ ymm ๋ ์ง์คํฐ๋ฅผ ์ฌ์ฉํ๋ค. SIMD์ ๊ธฐ์ ๋ ฅ์ ์ธ๊ณ์ ์ผ ๋ฐ์ ์์ด์ ์ง์ปด์ ssh๊ฑธ๊ณ r2๋ก ๊ทธ๋ํ๋ฅผ ๋ดค์ ๋, ๋ญ๊ฐ ์์ด์ ๋ฐ๋ก ํ ์ ์์๋ค. Analysis & AES ๋ถ์ํด๋ณด๋ฉด 0x20byte ์ ๋ ฅ ์ดํ generate_key์ ๊ฒฐ๊ณผ๋ก setting๋ ymm0 register์ ๊ฐ์ key๋ก, ์ ๋ ฅํ 0x20byte์ input์ด Permutate๋(vpermq) AES ํ ๋จ๊ณ๋ฅผ ์ํํ๋ฉฐ.. ๋๋ณด๊ธฐ