fedora 원정대 core3 dark_eyes -> hell_fire
hell_fire.c
sfp를 복사해 두었다가 원상복귀 시키고 fgets로 받은 문자를 strcpy하는 과정에서 스택을 조작할 수 있다. tcp 7777로 remote환경이다.
다른사람들의 라이트업을 참고해보니 do_system으로 eip를 이동시켜서 쉘을 얻는 것을 볼 수 있었다. do_system이 무엇일까..
system 함수에서 do_system을 호출하는 것을 볼 수 있었다.
system 함수는
#include <stdlib.h>
int system(const char *string)
이고 /bin/sh -c string을 호출하여 string명령어를 실행하고 fork()와 execve()의 조합으로 실행된다.
do_system함수를 까보면 함수의 밑부분에 sigaction(), sigprocmask()를 호출하고 execve()함수를 호출 하는 것을 볼 수 있다. eip를 sigaction쪽으로 이동시키면 쉘을 얻을 수 있는데 지식이 부족해서 왜 그런지 알수가 없다. execve가 실행되서 얻는것같은데 모르겠다
??
(python -c 'print "A"*268 + "\x7f\x07\x75\x00"';cat) | nc localhost 7777
Categories
- programming (17)
- security (46)
- study (22)
- system (35)
Recent 7 Days Popular Posts
-
fedora 원정대 core 3 hell_fire -> evil_wizard evil_wizard.c hint 를 보면 GOT overwritting이 써있다. GOT overwritting 공격을 시도하여 쉘을 얻을 수 있다. ...
-
프로그램은 실행하면서 많은 함수를 호출한다. 함수가 호출되고 호출받은 함수가 실행되려면 레지스터와 스택을 사용해야 한다. 버퍼오버플로우 공격을 공부하면서 호출된 함수가 어떻게 esp (스택을 관리하는 레지스터)를 백업하는지 어떻게 스택을 독립적으로 ...
-
ELF ELF는 Executable and Linkable Format의 약자로 executables, object code, shared libraries, core dumps를 위한 일반적인 파일포멧이다. x86 시스템에서 Unix, Unix...
-
ARM assembly를 공부하기 위해서 bof redhat 원정대 1번 문제를 ARM환경에서 컴파일하고 단순하게 어셈블리어만 라인바이라인으로 분석해보고 x86 리눅스에서와 어떤식으로 다른지 확인 해 보았다. bof 1번 문제의 c코드 ...
-
이 자료는 우리가 KITRI (한국정보기술연구원) 침해대응 과정 중 수료 프로젝트로 진행했던 자료이다. 취약점을 분석해논 우리나라 자료가 거의 존재하지 않았기 때문에 어떻게 분석해야 하는지 매우 막막했다. 특히 3897 취약점은 인터넷 익...



0 개의 댓글:
댓글 쓰기