Pwnable

    CVE-2017-11882 분석

    1.취약점 Info Microsoft Office 소프트웨어가 메모리의 개체를 제대로 처리하지 못하는 경우 발생하는 취약점이다. MS오피스에 포함된 수식 편집기 프로그램, 즉 EQNEDT32.EXE 관련 취약점으로, 각각 2017년 11월에 공개되었다. 이들은 모두 메모리 손상 취약점(Memory Corruption Vulnerability)으로, EQNEDT32.EXE가 메모리상에서 특정 오브젝트를 적절하게 처리하지 못하는 과정에서 발생한다. MS는 CVE-2017-11882 취약점 해결을 위한 보안 패치를 발표했으나, 결과적으로 또 다른 취약점인 CVE-2018-0802가 존재하게 되었다. 이로 인해 MS는 자사 오피스 패키지에서 EQNEDT32.EXE를 제외하기에 이르렀다. 2.취약점 Target ..

    Exploit writing tutorial part2 : how to jmp shellcode

    Exploit writing tutorial part2 : how to jmp shellcode 이번 문서에서는 앞서 stack based overflow에서 jmp esp를 사용해 공격자가 원하는 곳으로 프로그램의 흐름을 제어하였다. 이러한 방법이외에도 다양한 방법들이 존재하며 앞서 작성한 exploit을 수정하며 다양한 방법을 알아 볼 것이다. 1. CALL [register] 만약 레지스터에 shellcode를 가르키는 주소가 로드된 경우 해당 register를 단순히 CALL하면 된다. 예를 들면 Esp가 shellcode를 가르키고 있다면 CALL esp를 통해 shellcode를 실행 시킬 수 있다. Kernal32.dll이 많은 CALL [register]를 가지고 있으므로 꽤나 공격가능한 ..

    Exploit writing tutorial part3 : SEH base exploit

    앞서 shellcode로 점프할 수 있는 여러 방법에 대해서 알아보았다. 이번에는 조금 특별한 방법인 SEH기반의 오버 플로우 공격을 알아볼 것이다. 먼저 예외 핸들러에 대해 알아보자. 프로그램이 실행되는 도중 여러 예외가 발생 가능하다. 예를 들면 0으로 나누거나 stack overflow가 발생하는 경우 등이 있을것이다. 이러한 경우 예외 핸들러가 동작하며 해당 예외 발생에 대처한다. 일반적인 예외처리 매커니즘은 아래와 같다. try { //run stuff. If an exception occurs, go to code } catch { // run stuff when exception occurs } 이렇게 핸들러가 추가된 뒤 스택의 구조는 아래와 같다. 윈도우에서는 기본적으로 예외들을 처리할 수..

    Exploit writing tutorial part1 : Stack Based Overflows

    2009년 7월 17일에 발표된 Easy RM to MP3 Converter에 존재하는 취약점을 이용해 실제 exploit을 작성해본다. Corelan이 작성한 Exploit Writing tutorial에 그 기반을 두며 해당 문서에서는 perl을 사용하여 exploit을 작성하지만 나의 경우에는 python을 사용할 것이다. 해당 취약점을 사용하기 위해 windows xp professional을 vmware에 올려 가상 환경을 구축하였다. 먼저 환경을 구축해준다. python을 사용할 것이기 떄문에 xp에서 구동할 수 있는 버전이 필요 했고 python 3.4.1버전이 xp에서 구동되는 것을 확인하고 공식 홈페이지에서 다운로드 받고 설치하였다. 또한 취약점이 존재하는 Easy RM to MP3를 버..