해킹(15)
-
[1-day Research] CVE-2022-1015 : nf_tables의 OOB 취약점을 이용한 리눅스 권한 상승 공격
1. Overview 2. Component of the nf_tables 2-1. Netlink 2-2. table 2-3. chain 2-4. rule / expr 2-4-1. payload 2-4-2. set_payload 2-4-3. cmp 3. How nf_tables works 3-1. nft_regs 3-2. nft_do_chain 4. Vulnerability 5. Exploit 4-1. Preparation 4-2. Leak Kernel Data 4-3. Kernel ROP 4-3-1. __do_softirq Gadget 4-3-2. modprobe_path 6. Finish 1. Overview nf_tables는 Linux 커널의 하위 시스템 Netfilter에서 동작하는 기능입니다...
2024.01.11 -
[CTF write up] BlackHat MEA CTF 2023 - JIT-8 : Exploit the CHIP-8 JIT Compiler
뭔가 복잡해보이지만, CHIP-8 시스템을 그대로 구현한 것이므로 거의 분석할 필요가 없다. https://en.wikipedia.org/wiki/CHIP-8 해당 Wikipedia에서 opcode와 동작을 알 수 있으며, IDA에서도 Symbol이 어느정도 남아 있어 분석 자체는 어렵지 않다. Although it seems pretty complicated, there is almost no need to analyze it since it is a direct implementation of the CHIP-8 system. https://en.wikipedia.org/wiki/CHIP-8 You can find out the opcode and operation in Wikipedia, and t..
2023.11.23 -
[CTF write up] N1CTF 2023 - n1proxy : Exploit UAF in Proxy Binary developed with RUST
https://github.com/Nu1LCTF/n1ctf-2023/blob/main/pwn/n1proxy/server/src/main.rs 문제 소스코드는 출제자의 Github에서 확인할 수 있다. 솔버가 1명 밖에 없는 문제였고, 대회 당시에 끝내지 못했지만, 굉장히 퀄리티가 높은 챌린지였기 때문에 대회 후에 마저 풀었다. You can check provided source code of challenge in author's github. It was a challenge with only one solver, and I couldn't finish it at the time of the competition, but it was a good challenge, so I finished it af..
2023.10.24 -
[CTF write up] WACon CTF 2023 qual - heaphp : PHP Extension Exploitation
memcpy의 인자로 들어가는 len 값으로 PHP 파라미터 구조체에서 가져온 진짜 인자의 길이를 사용하지만, _emalloc 변수에 들어가는 size 변수는 strlen 함수의 결과를 값으로 사용한다. 따라서 add_note의 두번째 인자에 Null 바이트를 포함시키면 Heap Overflow가 발생한다. The len value entered as an argument to memcpy uses the length of the actual argument taken from the PHP parameter structure, but the size variable entered into the _emalloc variable uses the result of the strlen function as ..
2023.09.04 -
[CTF write up] corCTF 2023 - cshell3 : Pwning the AIS terminal
바이너리가 간단한 편은 아니었지만, 그럼에도 불구하고 매우 Basic한 문제였다. The binary wasn't simple, but it was a very basic challenge nonetheless. void VHFADMIN() { char *username, *password; username = readline("Enter username: "); password = readline("Enter password: "); char l_password_hash[65] = {0}; sha256_password(password, l_password_hash); if (strcmp(username, "admin") == 0 && strcmp(l_password_hash, password_hash)..
2023.07.31 -
[CTF write up] Just CTF 2023 - notabug2 : Exploitable Feature of sqlite3
굉장히 난이도 있고 Tricky한 문제였지만, 팀원들의 도움으로 풀 수 있었다. It was a very difficult and tricky challenge, but We were able to solve it with the help of my teammates. sqlite3 interactive 쉘을 열어주며, .system과 같은 dot 커맨드를 제한한다. Opens an sqlite3 interactive shell and restricts dot commands such as .system. select Load_extension('/lib/x86_64-linux-gnu/libc.so.6','puts'); sqlite3에는 위와 같이 Load_extension를 이용해서 외부 공유파일의 함..
2023.06.05