
[Dreamhack System Hacking] _IO_FILE
2022. 11. 18. 01:32
DreamHack/SystemHacking
ํ์ผ์ ์ด ๋ ํ์ผ ์ ๊ทผ ์ ํ์ ๋ช
์ํด์ผ ํ๋๋ฐ, ๋ํ์ ์ผ๋ก ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ๋ชจ๋๊ฐ ์๋ค. ์ฝ๊ธฐ ๋ชจ๋๋ก ํ์ผ์ ์ด๊ณ , ํ์ผ์ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ ค ํ๋ฉด ์๋ฌ๊ฐ ๋ฐ์ํ์ง๋ ์์ง๋ง ๊ธฐ๋ฅ์ด ์ํ๋์ง ์๋๋ค. ๋ชจ๋ ํ์ผ ํจ์๋ fopen ํจ์์์ ๋ฐํํ ํ์ผ ํฌ์ธํฐ๋ฅผ ์ธ์๋ก ์ ๋ฌ๋ฐ๊ณ , ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ ์ ํ์ผ ํฌ์ธํฐ๋ฅผ ์ฐธ์กฐํด ํ์ผ ์ ๋ณด๋ฅผ ๋จผ์ ํ์ธํ๋ค. ํ์ผ์ ์ ๋ณด๋ก๋ ํ์ผ์ด ์ด๋ค ๋ชจ๋๋ก ์ด๋ ธ์ผ๋ฉฐ, ํ์ผ ์์
์ ์ํํ๊ธฐ ์ํ ํจ์ ์ฃผ์๊ฐ ํฌํจ๋๋ค -> ํ์ผ ์์
์ด ์ด๋ป๊ฒ ์ด๋ค์ง๋์ง ์๊ธฐ ์ํด์๋ ํ์ผ ๊ตฌ์กฐ์ฒด๋ฅผ ์ดํดํ๊ณ ์์ด์ผ ํ๋ค. _IO_FILE ์ค์ต ์์ ์ฝ๋ // Name: iofile.c // Compile: gcc -o iofile iofile.c #include #include #include void ..

[Dreamhack System Hacking] send_sig
2022. 11. 14. 22:30
DreamHack/SystemHacking
send_sig Code start ํจ์ void __noreturn start() { setvbuf(stdout, 0LL, 2, 0LL); setvbuf(stdin, 0LL, 1, 0LL); write(1, "++++++++++++++++++Welcome to dreamhack++++++++++++++++++\n", 0x39uLL); write(1, "+ You can send a signal to dreamhack server. +\n", 0x39uLL); write(1, "++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n", 0x39uLL); sub_4010B6(); exit(0); } sub_4010B6 ํจ์๋ฅผ ํธ์ถํ๋ ๊ฑธ ํ์ธํ ์ ์๊ธฐ ๋..

[Dreamhack System Hacking] SigReturn-Oriented Programming
2022. 11. 14. 18:45
DreamHack/SystemHacking
SROP ์ค์ต ์์ ๋ ๋ค์๊ณผ ๊ฐ๋ค // Name: srop.c // Compile: gcc -o srop srop.c -fno-stack-protector -no-pie #include int gadget() { asm("pop %rax;" "syscall;" "ret" ); } int main() { char buf[16]; read(0, buf ,1024); } ๋ณดํธ ๊ธฐ๋ฒ๐ก๏ธ checksec๋ฅผ ์ฌ์ฉํด ๋ณดํธ๊ธฐ๋ฒ์ ํ์ธํด๋ณด์ ์ฝ๋ ๋ถ์ ๐ int main() { char buf[16]; read(0, buf ,1024); } ์์ ์์ 16๋ฐ์ดํธ ๋ฒํผ์ 1024๋ฐ์ดํธ๋ฅผ ์
๋ ฅํ ์ ์๊ธฐ ๋๋ฌธ์ ์คํ ๋ฒํผ ์ค๋ฒํ๋ก์ฐ๊ฐ ๋ฐ์ํ๋ค. ๋ฐ๋ผ์ gadgetํจ์์ ์ฝ๋๋ฅผ ์ฌ์ฉํด์ sigreturn ์์คํ
์ฝ์ ํธ์ถํ์ฌ ..

[Dreamhack System Hacking] SROP
2022. 11. 14. 17:39
DreamHack/SystemHacking
Signal ์๊ทธ๋ SROP์ ๋ํด์ ์์๋ณด๊ธฐ ์ ์ ์๊ทธ๋(Signal)์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ์ดํดํด์ผ ํ๋ค. ์ด์์ฒด์ ๋ ์ ์ ๋ชจ๋์ ์ปค๋ ๋ชจ๋๋ก ๋๋์ด์ง๋๋ฐ, ํ์ผ์ ์์ฑํ๊ณ , ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋ชจ๋ ์์
์ ์ด ๋ ๊ฐ์ ๋ชจ๋๊ฐ ์๋ก ์ํธ์์ฉํ๋ฉด์ ์ด๋ค์ง๋ค. ์๊ทธ๋์ ํ๋ก์ธ์ค์ ํน์ ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ ๋งค๊ฐ์ฒด - ๋ฆฌ๋
์ค์์๋ ๋ค์ํ ์๊ทธ๋์ ์ ๊ณตํจ include/linux/signal.h ์ผ๋ถ *+--------------------+------------------+ *| POSIX signal | default action | *+--------------------+------------------+ *| SIGHUP | terminate| *| SIGINT |terminate| *| SIGQUIT |c..
POX ๋ฌธ์ ๋์ปค ํ์ผ ์ ์ - exploitMe
2022. 10. 7. 19:19
DreamHack
ํฌํธ ์ฃผ์๋ 2115๋ก ํด์ฃผ์๋ค. Dockerfile FROM ubuntu:18.04 RUN dpkg --add-architecture amd64 RUN apt update RUN apt install -y xinetd ENV TERM=linux RUN useradd egg ADD xinetd /etc/xinetd.d/ ADD share /home/exme RUN chmod 460 /home/exme/* RUN chown injection:root /home/exme/* RUN chmod +x /home/exme/exme RUN chmod +x /home/exme/run.sh CMD ["/usr/sbin/xinetd","-dontfork"] docker-compose.yml version: '3' ser..
POX ๋ฌธ์ ๋์ปค ํ์ผ ์ ์ - Rotten EGG filter
2022. 10. 7. 17:04
DreamHack
์์ ๋ง๋ ๋ฌธ์ ์ ๋ํ ๋์ปคํ์ผ์ ์ ์ํด๋ณด์. ๋ฌด์ฌํ ์ต์ค๊ฐ ๋๋ฉด ์ข๊ฒ ๋ค.. port์ฃผ์๋ 2331๋ก ์ค์ ํ๋ค. Dockerfile FROM ubuntu:18.04 RUN dpkg --add-architecture amd64 RUN apt update RUN apt install -y xinetd ENV TERM=linux RUN useradd egg ADD xinetd /etc/xinetd.d/ ADD share /home/egg RUN chmod 460 /home/egg/* RUN chown injection:root /home/egg/* RUN chmod +x /home/egg/egg RUN chmod +x /home/egg/run.sh CMD ["/usr/sbin/xinetd","-dontfork..

[DreamHack System Hacking] rtld
2022. 9. 22. 20:44
DreamHack/SystemHacking
๋ฌธ์ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ๋ค. // gcc -o rtld rtld.c -fPIC -pie #include #include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1); } void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_handler); alarm(60); } void get_shell() { system("/bin/sh"); } int main() { long addr; long value; initialize(); printf("stdout: %p\n", stdout)..