Sh4n3e
Gremlin이 제공하는 문제인 cobolt는 레벨1인 gate문제를 RTL로 풀었다면 너무 간단한 문제다. 사용한 페이로드만 약간만 수정해서 사용하면 된다. [gremlin@localhost gremlin]$ ls cobolt cobolt.c [gremlin@localhost gremlin]$ cat cobolt.c /* The Lord of the BOF : The Fellowship of the BOF - cobolt - small buffer */ int main(int argc, char *argv[]) { char buffer[16]; if(argc < 2){ printf("argv error\n"); exit(0); } strcpy(buffer, argv[1]); printf("%s\n", ..
해당 문제는 기본 BOF문제이다. 하지만 여기서 나는 쉘코드를 이용하기 귀찮았기에 RTL기법을 사용하여 gremlin의 권한을 획득하였다. 풀이는 다음과 같다. [gate@localhost gate]$ ls gremlin gremlin.c [gate@localhost gate]$ cat gremlin.c /* The Lord of the BOF : The Fellowship of the BOF - gremlin - simple BOF */ int main(int argc, char *argv[]) { char buffer[256]; if(argc < 2){ printf("argv error\n"); exit(0); } strcpy(buffer, argv[1]); printf("%s\n", buffer);..
LOB Redhat은 bash의 버전이 낮아서, 쉘 상에서 \xff를 입력했을 때, \x00으로 처리해버리는 문제가 발생한다. 따라서 기존에 사용하던 Bash shell을 Bash2로 설정해줘야 한다. ID : root PW : hackerschoolbof 해당 아이디로 접속하여, /etc/passwd를 편집기로 편집한다. 편집내용은 :%s/bash/bash2/ 인데, 이것은 설명하자면 "string bash를 찾아 bash2로 치환하겠다." 라는 의미이다. 해당 설정이후, /sbin/ifconfig를 통해 ip를 확인하고, telnet으로 접속하여 LOB를 이어나가면 된다. 초기 ID와 PW는 gate/gate 이다.