전체 글

System Hacking Advanced

kernel 해킹 초심자를 위한 KernelTool

kernel 해킹 초심자를 위한 KernelTool안녕하세요. 오랜만에 블로그 글로 돌아온 keyme입니다~! 최근에 워게임/CTF 푸는 빈도가 많이 줄긴 했지만.. 그래도 kernel exploit 관련해서 관심이 생겨서 개인적으로 시간을 투자해서 공부했었는데요. 저처럼 커널 익스에 관심이 있거나 이제 막 시작하시는 분들을 위한 툴을 소개하고자 합니다. KernelTool이라는 프로그램인데요. 커널 익스 관련 문제를 풀다보면 환경 구축 과정에서 귀찮음이 많이 따릅니다.주어진 파일 시스템 추출/병합gdb로 심볼과 함께 attach하여 분석vmlinux가 없는 경우 bzImage를 통해 vmlinux(심볼 없는)를 획득등등..https://github.com/kmm2003/KernelTool GitHub ..

System Hacking Advanced

SSP(Stack Smashing Protector)

SSP(Stack Smashing Protector)SSP는 BOF를 방어하기 위한 보호기법 중 하나로 함수를 실행할 때, canary라는 랜덤 값을 스택에 추가하여 BOF로 스택 데이터가 변조됐는지 확인하는 방법이다. canary가 변조된 경우는 스택 데이터가 변조됐다고 판단하고 프로그램을 종료한다. └─# checksec ssp_chk [*] '/root/ssp_chk' Arch: i386-32-little RELRO: Partial RELRO Stack: Canary found NX: NX enabled PIE: No PIE (0x8048000)SSP가 바이너리에 적용됐는지 확인하는 방법은 checksec 명령을 이용하는 방법이다.“..

System Hacking Advanced

ROP(Return Oriented Programming)

ROP(Return Oriented Programming)ROP는 ASLR과 같은 메모리 보호기법을 우회하기 위한 공격기법으로 return이 포함된 코드 조각들인 가젯들을 이용해 system(“/bin/bash”)를 실행하는 프로그램을 해커가 임의로 만들어서 root의 권한을 얻어내는 해킹 기법이다. ROP 이해를 위한 예제를 준비했다. ROP 체인으로 setresuid(0,0,0)와 system("/bin/sh")를 연속으로 실행하는 예제를 이해해보자. 대표적으로 자주 사용하는 pop rdi; ret 가젯과 pop rsi; pop rdx; ret 가젯을 활용한 예제다. BOF로 스택에 가젯과 인자들을 덮어썼다는 전제로 만든 메모리 구조다. 가젯이 실행될 때마다 스택이 어떻게 바뀌는지 확인해보자. 함수가..

keyme
keyme - Security Study