DINGA DINGA
article thumbnail
[LOB] gremlin → cobolt
SYSTEM/LOB 2021. 3. 4. 23:34

1. gremlin/hello bof world로 로그인 2. bash2, ulimit -c unlimited 명령어 실행 후 ls -l로 디렉터리 내부 파일 확인 3. cobolt.c 내용 확인 buffer에 할당된 크기가 너무 작아 쉘코드를 넣지 못한다. 따라서 쉘코드를 환경변수에 저장할 것이다. 4. 환경변수 선언 환경변수는 export변수=값 명령어로 선언한다. 사용한 쉘코드는 다음과 같다. "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80" 5. 환경변수 값을 가져오는 get.c 파일 생성 6. 컴파일 후 실행 환경변수 shellcode의 주소: 0xbfffff63..

article thumbnail
[LOB] gate → gremlin
SYSTEM/LOB 2021. 2. 26. 18:06

1. gate/gate로 로그인 2. gremlin.c 파일 내용 확인 buffer에 256바이트가 할당되어 있고, strcpy함수를 이용해 argv[1]을 buffer에 복사하는 코드이다. 3. 권한이 없으므로 gremlin을 gremcop으로 복사 4. gdb로 gremcop 실행, main함수 어셈블리 코드 확인 에 buffer가 있고, buffer는 EBP-256에 위치해있다. buffer에 더미 데이터로 260바이트를 채우고, return address에 buffer의 시작 주소를 넣으면 될 것 같다. 5. 에 breakpoint 설정 후 dummy값을 넣어줌 breakpoint에서 멈춘 것을 확인할 수 있다. 6. esp 확인 "A"가 잘 들어갔고, buffer의 시작 주소가 0xbffff91..

728x90