- Today
- Total
Phantom
개요 이 문제는 ROP 기법을 공부하는 사람들이라면 한 번 쯤 풀어본다는 2013년도 pCTF의 Ropasaurusrex 이다. 이전 흑객이라는 스터디에서 Hackerschool의 문제로 아주 쉬운 ROP를 한적이 있는데 개인적으로 많은 자료들을 인용하고 보고 배우며 삽질은 한 문제이다. 문제 내용 파일을 실행하고 아무거나 입력하면 “WIN”이라는 문자열을 출력하고 종료한다. 너무 짧게 넣었나??무지 많이 넣으니 세그멘테이션 폴트가 뜨고 종료한다. 단순한 BOF문제일까?일단 파일에 대해 알아보자.32bit ELF 바이너리이며이번에 안 사실인데 stripped라고 되어 있다면 main함수는 어셈이 보이지 않을 것이다. 보호기법으로는 NX가 걸려 있다. 그리고 OS환경상 ASLR이 걸려 있다. NX(No E..
FC3에 입성 했다.전의 LOB와는 달리 페도라 코어 3에는 다음 메모리 보호기법이 추가되었다.[환경 요약]Stack Dummy : ODown privileage of bash : ORandom Stack : ORandom Library : XRandom Program Binary Mapped : XASCII Armor : ONon-Executable Stack : ONon-Executable Heap : OStack Carany : XStack Smashing Protector : X 요약하자면 ASLR은 스택에만 걸려 있고, ASCII Armor, NX가 스택과 힙에 걸려 있다.ASLR이란 Address Space Layout Randomization – 프로그램의 메모리영역을 랜덤화 시키는 것이다...
내가 가장 헷갈려하고 아직도 헷갈리는 리모트 문제이다.이번 문제는 리모트 익스플로잇 문제인데. 소스를 분석해보자면 6666번포트를 열고 기다리는 일종의 서버?랄까 데몬이랄까 자세히는 아직 잘 모르겠다. 그저 리슨중인 소켓이라 하자.여기서 취약점은 buffer는 [40]인데 원격으로 받는 입력은 Recv(client_fd, buffer, 256, 0)으로 256만큼 입력받는다. 여기서 BOF가 발생한다.문제는 간단한데 이제…바인드 쉘을 쓸지 리버스 쉘을 쓸지 그리고 설정을 어떻게 해야하는지 너무나 고민이 되었다. 나는 리버스쉘을 사용했다. LHOST는 원격지 호스트(공격자)LPORT는 음..아직 모르겠어서 같은 포트로 설정했다. 그리고 포맷을 파이썬으로 설정하고 generate. 이렇게 페이로드를 짜고....