environ
libc base를 알고 있고, 임의 주소 읽기/쓰기가 가능할 때에는 libc의 environ을 활용할 수 있다. environ environ은 glibc의 전역 변수로, 프로세스의 현재 환경 변수 목록을 가리키는 포인터이다. #include <stdio.h> #include <unistd.h> ext...
libc base를 알고 있고, 임의 주소 읽기/쓰기가 가능할 때에는 libc의 environ을 활용할 수 있다. environ environ은 glibc의 전역 변수로, 프로세스의 현재 환경 변수 목록을 가리키는 포인터이다. #include <stdio.h> #include <unistd.h> ext...
문제 링크 https://dreamhack.io/wargame/challenges/1249 문제 설명 We made a nice “sandbox” program. feel free to attack our service :) 문제 분석 2번을 선택하는 경우, 최대 0x80바이트만큼의 shellcode를 입력 후 실행할 수 있다. 실행하기 전 ...
문제 링크 https://dreamhack.io/wargame/challenges/1071 문제 설명 산타 할아버지가 크리스마스를 맞아 드림이들을 모두 집에 초대해서 선물을 나눠주신대요! 착한 아이는 어쩌면 비밀스러운 선물을 받을 수 있을지도 몰라요. 시간은 넉넉하니 산타 할아버지 댁에서 여유롭게 즐겨주세요! 혹시 필요하다면 pwntools 익스플...
문제 링크 https://dreamhack.io/wargame/challenges/1042 문제 설명 Description Solved by two people together, but one monitor, one keyboard, each. Might be better if done alone! FYI flag length = 33 timeou...
문제 링크 https://dreamhack.io/wargame/challenges/1029 문제 설명 :( Dahun is sad 문제 분석 main 함수 초반에 srand() 함수를 호출해 시드값을 설정하는데, 2바이트 정수로 설정하므로 브루트포싱을 통해 시드를 때려맞출 수 있다. 시드 값이 일치할 때 rand() 함수로...
익스플로잇에 성공하였으나, 문제점이 있다. 환경이 변화하는 경우(Windows 업데이트 등) KERNEL32.dll의 WinExec 함수 오프셋이 변경되어 익스플로잇에 실패할 수 있다. 어떤 환경에서든 성공할 수 있도록 Universal한 셸코드를 작성해야 한다. DLL은 자신이 어떤 함수들을 Expor...
익스플로잇 셸코드 작성을 완료했으니, 익스플로잇을 해보자. Access Violation이 발생했을 당시의 레지스터 상태 esp 레지스터가 0x16f30c로 되어 있다. ASLR이 적용되지 않으므로 스택 주소는 언제나 동일하다. 혹시 스택 오프셋이 일부 변하는 경우를 생각하여 NOP Sled와 함께 셸코드를 입...
취약점을 확인했으니, 셸코드를 작성해보자. Shellcode - 32bit Linux와 달리 Windows는 사용자가 직접 시스템 콜을 호출하는 것이 어려우므로, KERNEL32.dll의 WinExec 함수를 이용하여 cmd를 실행하는 셸코드를 작성하는 것을 목표로 한다. WinExec 함수를 호출하려면, KERNEL32.dll 라이브러리가...
취약한 프로그램을 이용하여 Windows Userland에서의 Stack Buffer Overflow Exploit을 실습해보자. 취약 프로그램은 여기서 다운로드받을 수 있다. 취약 파일 생성 코드 import os if os.path.exists("exploit.m3u"): os.remove("exploit.m3u") with open("ex...
문제 링크 https://dreamhack.io/wargame/challenges/513 문제 설명 드림핵 회원 수가 22,222명을 달성했어요!! 드림이는 기념으로 2의 상징을 공부해보기로 했어요. 그게 바로 벙커링이래요!! 아 그게 아니라 버퍼링… 이라구요? Arch: amd64-64-little RELRO: Full RELRO St...