[ Fuzzing 101 ] Exercise 1 - Xpdf (CVE-2019-13288) 포스팅 썸네일 이미지

Pwnable/Fuzzer

[ Fuzzing 101 ] Exercise 1 - Xpdf (CVE-2019-13288)

Fuzzing 101의 내용을 번역해봤습니다. 목표 XPDF3.02에서 CVE-2019-13288 취약점 발견하기 환경구축 XPDF3.02빌드하기 1. 타겟 디렉토리 생성 cd $HOME mkdir fuzzing_xpdf && cd fuzzing_xpdf/ 2. make와 gcc 도구 설치 sudo apt install build-essential 3. Xpdf 3.02 다운로드 wget https://dl.xpdfreader.com/old/xpdf-3.02.tar.gz tar -xvzf xpdf-3.02.tar.gz 4. Xpdf 빌드 cd xpdf-3.02 sudo apt update && sudo apt install -y build-essential gcc ./configure --prefix="..

2023.08.01 게시됨

Memo

2023 중간 점검

2023년도도 휙휙 지나가는 것 같고 요즘 여러가지 느끼는게 많아 리뷰 겸 중간점검 시작 https://psj-study.tistory.com/489 ✅ LLVM Compiler공부하고 sanitizer LLVM pass개발 -> TO DO ✅ 대학원 가주아 -> TO DO ✅ 디바이스 드라이버( 윈도우/리눅스 )공부 -> half done, ~ing ✅ 정보처리기사 따기 -> 실기 시험 남음, ~ing ✅ sangjun퍼저 만들기 ✅ 토익 ✅ 이번엔 ㄹㅇ비오비? ✅ static analysis공부하고 툴 하나 만들기 -> 아마 컴파일러쪽 원리 이용해서 semantic이용한 툴 아님 symbolic execution이용한거 할수도 딱 절반정도했다. bob가기 전에 디바이스 드라이버 더 공부해놔야지. 올해..

2023.06.23 게시됨

[ Kernel ] Ubuntu Kernel 재설치 및 Default Kernel 변경하기 포스팅 썸네일 이미지

TOOLS & Error

[ Kernel ] Ubuntu Kernel 재설치 및 Default Kernel 변경하기

퍼저나 1-day를 하다보면 Kernel을 바꿔야할 때가 있다. 커널을 바꾸고 싶을 때, 커널 빌드 후 아래 명령어를 쳐주면 해당 커널 버전이 커널 이미지 리스트에 추가된다. make install 하지만 매번 부팅시마다 저런 메뉴 화면을 통해서 커널 버전을 선택해야되고 가끔은 키보드가 안 먹힐 때가 있어서 디폴트로 부팅되는 커널을 바꿔보기로 했다. 1. 현재 커널 버전 이름(?) 알아내기 grep submenu /boot/grub/grub.cfg 결과 submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-45ed2e25-a75a-4515-b126-6574273825ce' { 여기서 ''로 묶여져있는 gnulinux-a..

2023.05.01 게시됨

Memo

2023 plan

✅ LLVM Compiler공부하고 sanitizer LLVM pass개발 ✅ static analysis공부하고 툴 하나 만들기 -> 아마 컴파일러쪽 원리 이용해서 semantic이용한 툴 아님 symbolic execution이용한거 할수도 ✅ 디바이스 드라이버( 윈도우/리눅스 )공부 ✅ sangjun퍼저 만들기 ✅ 토익, 정보처리기사 따기 ✅ 이번엔 ㄹㅇ비오비? ✅ 대학원 가주아 22년 린생 중 제일 빨랐던 2022년도 안녕 welcome 2023 1년 뒤 이맘 때 쯤 다시 이 글 확인 했을 때 plan들이 잘 이뤄졌기를..!!

2022.12.14 게시됨

State-of-the-Art 포스팅 썸네일 이미지

Memo

State-of-the-Art

오늘 이걸 봤다. fuzzle이랑 QueryX는 옛날에 어디선가 봐서 더 관심있게 봤었다. 챙겨본 결과 fuzzle은 퍼저의 성능을 평가할 수 있는 벤치마크 도구이다. 구현 방법은 프로그램의 함수를 미로에 매핑시켜서 미로를 얼마나 탐색했는지 시각화하는 것이다. QueryX는 바이너릥 instruction들을 DNR이라고 하는 중간언어 ( ex LLVM IR)로 바꾸어 analyzer가 해석하기 쉽게 만든 이후에 analyzer에 원하는 버그를 찾을 수 있는 query를 작성해 취약점을 찾는 방식이었다. 정적 분석에도 관심이 있어 QueryX를 사용해볼 수 있는지 물어봤는데 이 부분은 티오리랑 한거라서 아직은 준비가 안된다고 하셨다. 오늘 2시간동안 본 소감은 이랬다. 그냥 벙쪘다. 내용들이 창의적이었고 ..

2022.11.26 게시됨

23살까지 4 발자국 남은 날( 9.15 updated ) 포스팅 썸네일 이미지

Memo

23살까지 4 발자국 남은 날( 9.15 updated )

제목을 이렇게 쓴 이유는 2022년도도 이제 4개월 밖에 남지 않았기 때문이다.. 오늘은 2022년 9월 1일이다. 개.강.이다 개강하면 또 바빠지기에 그 전에 남은 4개월동안의 방향성과 앞서 보낸 8개월에 대한 리뷰와 반성을 기록해봐야겠다. 8개월 Episode 1. 이모집에서 자취 - 개인적인 이유로 이모가 살던 아파트에서 2021년 11월부터 올해 2월까지 혼자 방 3개를 쓰는 생활을 했었다. 서울의 좁은 자취방에서 자취했었기에 큰 집에서 혼자 살아보니 서울 자취방이랑 오버래핑되면서 정말 사람이 방이 좁아서 스트레스를 받을 수 있구나를 느꼈다. - 여기 사는 동안 친구들 불러서 놀기도하고 방해하는 사람이 없어 밤새 해킹하기도 해서 너무 좋았다. 마침 코로나 백신패스가 제일 빡셀 때라서 미접종자였던 ..

2022.09.01 게시됨

Pwnable/Fuzzer

[ Fuzzer ] Syzkaller 공부 자료들

퍼저 공부하면서 느낀점 - 요즘엔 커널 퍼징을 좀 공부해보고 있다. - 단순 퍼징 사용법만 알고 날먹으로 퍼징 타겟 설정과 버그를 발견하기는 도움이 안되기도 하고 그렇게 해서 버그를 발견하기는 어렵다. - 우리나라에서는 퍼저같은 어려운 기술문서를 공유하는 문화가 다른 나라에 비해 부족한것 같다. 그게 아니라면 대부분 귀찮아서 자기가 알고 있는 지식을 따로 정리하지 않는다. - 그래서 내가 알아낸 퍼징을 공부하는 법은 이렇다. 영어, 중국어, 일본어 등등 최대한 많은 논문과 인터넷 자료들을 보고 그중에서 설명이 좋고 정확한 정보들만을 간추려서 습득한다. 그 이후에는 자기 스스로 소스코드를 보면서 공부를 해나가야 한다. 1. CPUU님 커널 퍼징 동향 2. CPUU님 Syzkaller로 aarch64리눅스 ..

2022.08.18 게시됨

가독성 UP vscode 변수, 전역변수별 색깔 변경하기 포스팅 썸네일 이미지

TOOLS & Error

가독성 UP vscode 변수, 전역변수별 색깔 변경하기

현재 8000줄 가량 되는 오픈소스코드를 분석하고 있다. 분석하다보니 함수나 변수들을 볼 때마다 전역변수인지, 어디에 정의되어 있는지 어디에서 쓰이는지 알아야 됐고 다시 한번 툴 사용법의 중요성을 알았다. 요약 : vscode에서 아래와 같이 전역변수, 지역변수, 함수 파라미터, 함수 등 각각 색깔을 다르게 보여주어 가독성을 높일 수 있다. 방법: ( Ctrl + , ) 요기 괄호로 묶여져 있는 키를 동시에 같이 누른다. 아래와 같은 창이 뜨고 검색에 "color customization"을 치면 Token Color Customizations에 있는 Edit in settings.json을 누르면 색깔을 지정할 수 있다. 현재 쓰고 있는 settings.json은 아래와 같다. json 파일에서 아래 ..

2022.07.03 게시됨