2018/01(58)
-
BOF 기초공부 4
실제 상용프로그램이었던 프로그램을 이용해서 BOF 기초를 익혀보자. 목표 : 계산기 실행 #! Python import struct #bufbuf = ""buf += "\x89\xe2\xda\xc3\xd9\x72\xf4\x5e\x56\x59\x49\x49\x49"buf += "\x49\x49\x49\x49\x49\x49\x49\x43\x43\x43\x43\x43\x43"buf += "\x37\x51\x5a\x6a\x41\x58\x50\x30\x41\x30\x41\x6b\x41"buf += "\x41\x51\x32\x41\x42\x32\x42\x42\x30\x42\x42\x41\x42"buf += "\x58\x50\x38\x41\x42\x75\x4a\x49\x4f\x4e\x68\x58\x49"buf += ..
2018.01.09 -
BOF 기초공부중 3
Debugger Attach : 프로그램 시작 시 루틴에 안티디버깅 기법이 삽입될 경우에 우회가 가능하다. 중간에 Attach를 해서 우회를 할 수도 있다. ollydbg와 notepad를 이용해서 실습을 진행. 만약 프로그램 실행 하다 overflow가 발생하면 ollydbg로 확인할 수가 있다. Attach를 하는이유? 일반적인 오류보고 레포트는 프로그램 내에서 작업이 잘 되지 않았을 경우에 나온다. 일부러 예외처리를 ollydbg에서 하게 되면, 디버거(ollydbg)에게 바로 넘겨서 확인할 수 있다.그래서 Attach를 하는 것이다. INT3 (0xcc)INT3 명령어에 도달하면 디버기(디버깅당하는 애-notepad)가 디버거(ollydbg)에게 제어권을 넘겨준다 Debugger에서 처리하지 않는..
2018.01.09 -
BOF 기초공부 중 2
셸코드에 대해서 알아보자. 쉘코드란 : 취약한 소프트웨어를 Exploit 하기위해 사용되는 페이로드"작은 코드조각"이라고도 한다. 수동적으로 쉘코드를 작성하는 방법 1단계 c언어 제작2단계 어셈블리어 제작3단계 기계어 제작 하지만, msfvenom을 사용할 수 있다.with kali linux 명령어msfvenom -p windows/exec CMD=calc.exe -f python -e x86/shikata_ga_nai -b '\x00\xff' bad character: \x00\xff : 페이로드 구성에 악영향을 끼침그래서 제거하는 것 root@kali:~# msfvenom -p windows/exec CMD=calc.exe -f python -e x86/shikata_ga_nai -b '\x00\x..
2018.01.09 -
BOF 기초공부중
BOF 기초 공부 요약 1. 취약한 프로그램 생성2. immunity debugger pattern create3. 취약한 프로그램 실행 4. Ollydbg 실행 (cmd에서 에러 후 Debug옵션)5. EIP 추출6. Immunity debugger pattern offset eip값 7. 정확히 버퍼로부터 ret의 정확한 위치 추출 immunity debugger에서 패턴을 생성하는 이유 (pattern_create_offset) 직접 만들지 않은 프로그램은 예측이 힘들다.즉, 정확히 계산하기 어려우니 패턴을 만든다. 패턴을 만들어서 넣게 되면 리턴 값에 특정한 값이 들어가게 되고,이 고유한 값들 중 하나가 걸리게 되고리턴 값을 offset에 전달하면 몇번째 위치에서 overflow가 발생했는지 알려..
2018.01.09 -
온고지신 HWP 97 개념
보호되어 있는 글입니다.
2018.01.08 -
ELF C++ - 0 protection
보호되어 있는 글입니다.
2018.01.07