[Note] SVD-Loader (gdb, ghidra)
·
Technical Note/Hardware
1. SVD (System View Description)1.1. CMSIS (Cortex Microcontroller Software Interface Standard)ARM에서 제정하는 Cortex-M 시리즈의 소프트웨어 인터페이스 표준 (최신 버전에서는 Cortex-A 시리즈도 고려되는 듯)Cortex-M 코어를 사용하는 다수의 MCU 제조사들의 호환성 확보를 위해 ARM 각 제조사간 협력을 통해 제정https://www.keil.com/pack/doc/CMSIS/General/html/index.html1.2. CMSIS-SVDMCU의 peripheral, register 정보 등을 xml 파일 형태로 기술(1) SVD Description Formathttps://arm-software.git..
[KERNEL] Windows Kernel 디버깅 환경구축 (feat. VMWARE)
·
Technical Note/Linux Kernel
환경구축Step#0. Windbg 설치 (Windows10 기준)Windows SDK 설치 시 windbg 사용 가능https://developer.microsoft.com/ko-kr/windows/downloads/windows-10-sdkStep#1. VMWARE 에서 시리얼 포트 추가Host와 Guest가 디버깅 정보를 주고 받기 위한 시리얼 포트를 설정Menu > Edit virtual machine settings > Add > Serial Port 선택 > Output to named pipe\\.\pipe\com_1 입력output to named pipeStep#2. Guest Windows 에서 디버그 모드 열기관리자 권한 cmd를 열어서 아래 명령 실행bcdedit /debug onbc..
tcache note
·
Technical Note/Binary Exploitation
https://github.com/kraj/glibc/blob/master/malloc/malloc.c 몇 부분만 정리 void *__libc_malloc (size_t bytes){ mstate ar_ptr; void *victim; void *(*hook) (size_t, const void *) = atomic_forced_read (__malloc_hook); if (__builtin_expect (hook != NULL, 0)) return (*hook)(bytes, RETURN_ADDRESS (0));#if USE_TCACHE /* int_free also calls request2size, be careful to not pad twice. */ size_t tbytes; checked_re..
Codeengn 2013 9th - Pwning multiplayer games 발표자료
·
Technical Note/Vulnerability Research
2013/07/13에 진행된 제 8회 Codeengn 컨퍼런스에서 발표했던 'Pwning multiplayer game - case Starcraft Broodwar' 시연영상 및 발표자료입니다. Pwning multiplayer game - case Starcraft Broodwar 발표자 : pwn3r / pwn3r.tistory.com 최근 국내/외에서는 멀티플레이어 게임이 유명세를 타고 있다. 이에 맞게 멀티플레이어 게임에 대한 보안 기술 역시 발전하고 있지만, 일반적으로 게임 보안은 게임의 룰을 깨버릴 수 있는 어뷰징(Abusing) 버그를 막는 데 주력하고 있다. 많은 멀티플레이어 게임들이 어뷰징 버그를 막는데 주력하느라, 게임 클라이언트의 취약성에 대한 보안을 놓치고 있다. 게..
[Docs] Linux Binary Exploitation without PPR based Call-chaining
·
Technical Note/Binary Exploitation
Document - Exploiting Race Condition Vulnerability with Unix Signal 분류 : Exploitation플랫폼 : Linux 우와우 겁나 오랜만에 기술문서 포스팅하네요 ㅋㅋ 이번껀 문서라고 부르기도 뭐한 간단한 포스팅입니다.예전에 워게임을 풀어보던 도중에 문득 gcc 버젼이 낮아 "pop ; pop ; ret" 나 "add esp, ~~ ; ret" 같은 가젯이 바이너리에 없을때 ROP로 ASLR과 NX를 우회하여 Exploit할 수 있는 방법에 대해 고민해봤습니다.여러가지 삽질을 해 본 결과 recv함수나 scanf함수나 fgets함수같이 메모리에 원하는 데이터를 한번에 write가 가능할 경우에 leave;ret 를 이용한 Call-chaining으로 ..
[Docs] Exploiting Race Condition Vulnerability with Unix Signal
·
Technical Note/Binary Exploitation
Document - Exploiting Race Condition Vulnerability with Unix Signal 분류 : Exploitation플랫폼 : Linux BOB(차세대 보안리더 양성프로그램) 1학기 OS시간 - passket 멘토님의 과제 중 하나로 아래의 소스를 컴파일한 바이너리의 취약점을 이용해 최종적으로 원하는 프로그램을 실행해 권한 상승을 하는 공격 및 공격 보고서를 작성하는 과제가 있었습니다. vuln.c #include int main(int argc, char **argv, char **envp){ char buf[4096]; /* do some stuff, and a check if we require new execution */ if (argc < 2) { if (r..
[Docs] Double Staged Format String Attack
·
Technical Note/Binary Exploitation
Document - Double Stage Format String Attack 분류 : Exploitation플랫폼 : Linux 대회를 할 때마다 새로운 기술을 만들어내는 슈퍼해커 mongii형님이 만드신 기술 중 하나를 문서화 시켰습니다 .Format String Bug가 발생했을 때 Stack에 있는 값을 단 1 byte도 변경할 수 없는 상황에서도 사용할 수 있는 기술입니다.특히 주소에 많은 Null Byte가 포함되는 64bit에서도 사용가능합니다 :) 재밌게 읽어주세요~ * 원래 notepad에서 txt파일로 작성했는데 , 굴림체가 아니면 의도했던 포맷에서 깨져버리는 문제가 발생해서 , pdf파일로도 첨부하게되었습니다 -_-;* 따라서 txt파일은 notepad.exe에서 "굴림체"로 보셔야..
[Docs] Reusing Dynamic Linker for Exploitation
·
Technical Note/Binary Exploitation
Document - Reusing dynamic linker for exploitation 분류 : Exploitation플랫폼 : Linux 작년부터 "내일부터 써야지"하고 미뤄오던게 이제서야 다썻네요~ 양도 얼마안되는데 .. Dynamic Linker를 역이용하여 고버젼 리눅스 exploitation에 사용할 수 있는 기술에 대한 문서입니다.DYNAMIC 영역에 쓰기권한이 있어야한다는 전제조건 때문에 우분투 최신버젼이나 몇몇 리눅스에선 사용할 수 없어 제한적인 기술이기도 합니다. 하지만 DYNAMIC 영역에 쓰기 권한이 있다면 ASLR과 NX를 쉽게 우회할 수 있는 기술입니다. 문서에서 테스트한 환경은 Fedora 14이며 문서를 쓴시점에서 최신버젼인 Fedora 16에서 똑같이 사용할 수 있음을 확..