BITrader 가상화폐 거래소가 구현된 바이너리가 주어진다. Analysis main 함수의 디컴파일된 모습이다. 분석하면서 주석을 달아놓았다. 처음에 initalize 함수를 호출한다. initalize 함수의 내부 모습은 위와 같다. 버퍼링 설정 이후
Pwnable - UFOrmat 64비트 ELF 바이너리가 주어진다. libc도 주어진다. Analysis main 함수의 모습이다. 입력을 받는다. Y나 y면 communication 함수를 호출한다. communication 함수의 모습이다. Y나 y를 입력하
Toy VM 64 비트 바이너리가 주어진다. Analysis 도커 파일을 통해서 우분투 22.04에서 돌아간다는 것을 알 수 있다. main 함수의 모습이다. Init 하고 VM을 호출한다. 신기하게 바이너리에 심볼이 다 살아있어서 분석하기 편했다. Init
소스 코드가 제공되지 않는다.nc로 접속을 해보면 총 네가지 명령을 볼 수 있다.분석은 의미없다.기본적으로 아무것도 알 수 있는 정보가 없지만, 명령어를 입력하고 다시 출력하는 과정에서 FSB가 터진다.스택 주소를 leak하고 오프셋을 적당히 계산해서, 잘 맞춰주면 r
64비트 바이너리가 주어진다.저번에 예선때 나왔던 baby-syscaller의 후속 버전인 것 같다.statically linked 바이너리이다.함수는 두개만 존재한다.start 함수의 모습이다.사실 도움은 안되니까 어셈블리어로 확인해보면, 위와 같다.read 함수의
ftp 서비스의 config 파일이다./flag 이름을 uuid를 통해서 랜덤하게 바꿔주고 있다.flag 파일의 이름을 알아내야할 필요가 있다.https://github.com/hfiref0x/LightFTP그리고 깃헙을 뒤져보니 실제로 LightFTP가 있었
출제자가 입문용 arm 문제를 내준다고 해서 arm도 공부할겸 참여했다. 다른 문제들은 모두 넘기고, 포너블과 리버싱 문제만 라이트업을 작성했다. calcmachine 출제자가 저격해서 arm 인걸 알 수 있었다. arm 어셈블리어를
MJS CTF 당시에는 warm-up이 자바스크립트 엔진 포너블이여서 3초 보고 무서워서 도망갔다. 지금 풀어보니 그때 잡았으면 좋았겠다는 생각이 든다. 사실상 게싱만으로도 풀 수 있었던 문제였던거 같기도하고? Analysis 22.04이다. patch.diff가
VM 궁금해서 친구한테 wacon 2022 vm 바이너리를 받아서 풀어보았다. Analysis 일반적인 VM이랑은 약간 다르다. 비트 연산이 조금 구현되어있는게 끝이다. Exploitation 다른 opcode들은 죄다 처리할때 movzx를 통해서 늘릴때 sign
TinySandbox 딴 CTF 하다가, hspace CTF가 열려있다길래 조금 풀다가 끝났었는데 그때 받아놓은 바이너리중에 unicorn engine pwn이 있어서 궁금해서 풀어봤다. Analysis 직접 소스코드 뒤져서 enum 찾아봤더니 syscall에 훅을
재미있는걸 발견했다. painter 유사 그림판 컨셉인듯 하다. Web Assembly 익스플로잇해서 admin bot의 쿠키 탈취가 목적이다. Wasm 취약점 분석은 처음 해봐서 생소했다. admin-bot.js 파일과 dockerfile, app.py, index.wasm 등이 주어진다. Analysis admin-bot.js admin bot ...
K-Exploit 처음으로 잡아본 커널 문제다. 대회끝나고 50분뒤에 플래그가 나왔다. 아침에 BoB 필기랑 인적성보고 풀려했는데, 대회가 너무 빨리 끝났다. ;; Analysis rootfs.img.gz 파일 시스템이 주어지고 bzImage가 주어진다. local_run.sh kaslr, kpti, smep, smap 다 빡세게 걸려있다. serv...
oob-v8 commit hash는 6dc88c191f5ecc5389dc26efa3ca0907faef3598 이다. 편하게 미리 스크립트 짜서 디버깅하면 편하다. --allow-natives-syntax 해주면 %DebugPrint()같은 함수 사용가능하다. Anal
대회 끝나기 2시간정도 전에 잡았었는데, 분석하기 빡세고 감도 못잡겠어서 시간내로 못풀었다.사용하는 구조체도 많아서 하나 하나 만들어줬다.파이프라이닝 VCPU 컨셉의 문제다.여기서 4바이트 instructions 받고 precheck.py 호출해서 유효성 검사를 수행한
Kmemo 커널 모듈에서 발생하는 취약점이다. Analysis write시 fops의 함수 포인터를 덮을 수 있다. read시 특정 인덱스에 대해서 읽을 수 있다. 모듈에서 할당과 해제가 가능하다. 이때 idx는 맥시멈 9까지 총 10개의 청크를 할당할 수 있다.