본문 바로가기

분류 전체보기97

[LOB] giant -> assassin /* The Lord of the BOF : The Fellowship of the BOF - assassin - no stack, no RTL*/ #include #include main(int argc, char *argv[]){char buffer[40]; if(argc < 2){printf("argv error\n");exit(0);} if(argv[1][47] == '\xbf'){printf("stack retbayed you!\n");exit(0);} if(argv[1][47] == '\x40') { printf("library retbayed you, too!!\n"); exit(0); } strcpy(buffer, argv[1]); printf("%s\n", buffer); // buffe.. 2016. 12. 7.
[LOB] bugbear -> giant /* The Lord of the BOF : The Fellowship of the BOF - giant - RTL2*/ #include #include #include main(int argc, char *argv[]){char buffer[40];FILE *fp;char *lib_addr, *execve_offset, *execve_addr;char *ret; if(argc < 2){printf("argv error\n");exit(0);} // gain address of execvefp = popen("/usr/bin/ldd /home/giant/assassin | /bin/grep libc | /bin/awk '{print $4}'", "r"); // ldd 명령어 - 프로그램 또는 공유 라이브.. 2016. 12. 6.
windows java script shell 32bit 및 분석 //// 주제랑 무관한 내용 root-me.org 문제 중 hack-lu CTF에 나왔던 pdf reversing문제가 있었다. pdf안에는 java script가 삽입되어 사용이 가능하고, 한때 이 점을 이용한 악성 pdf가 유행했었다. 이 문제 역시 pdf안의 java script를 분석하는 것이였다. pdf 안의 java script 소스는 압축이 되어 있어서 따로 풀어줘야 정상적인 소스로 보인다. //// 본론 자바스크립트를 실행 하려면 가상 엔진이 필요한데 그 중 하나가 v8이다. 간단한 windows 32bit 버전이 있다. 사용법은 간단하다. d8.exe filename.js //// 분석 자바스크립트를 분석할 때는 직접 소스를 수정해가면서 결과를 볼 수 있기 때문에 리눅스의 LD_PRELO.. 2016. 11. 30.
IDA로 qemu를 이용해서 arm 디버깅하기 리버싱을 하다 보면 arm로 된 elf 문제가 간혹 있다.ARM은 그냥 실행해보려고 하면 실행이 안된다.'qemu'라는 에뮬레이터를 통해서 가상환경을 만들어 준 뒤 실행해줘야 한다. sudo apt-get updatesudo apt-get install qemusudo apt-get install qemu-user-static 설치를 완료하면 포트를 열어주고 ida로 접속하면 된다. qemu-arm-static -g [port] [elf] [argv] IDA의 Debugger는 'Remote GDB Debugger'로 지정하고 대상 ip, port를 지정해준 뒤 접속하면 된다.IDA로는 인자 전달이 되지 않기 때문에 포트를 열 때 같이 전달해줘야 된다. 2016. 11. 30.