KISA 해킹 방어 훈련장 문제에 대한 풀이입니다.
System Level1 문제를 보면 아래와 같습니다.
문제 제목 : 취약한 메아리 프로그램
문제 설명 : 개발자는 메아리 프로그램을 제작 하
였다.
허나 어설픈 보안 설정으로 해당 프로그램의 취약
점이 존재 한다.
취약점을 찾아서 SHELL을 획득 하여라.
접근 IP : 221.143.48.107
접근 PORT : 22
접근ID : system100
접근 PW : !kisa_system_gogosing~!!!
접근 포트가 22번 이므로 SSH로 접속해봅시다.
$ ssh system100@221.143.48.107
주어진 비밀번호를 입력하면 접속이 이루어집니다.
우선 현재 폴더에 어떤 파일들이 있는지 확인 해봅시다.
-bash-4.1$ ll
total 8
-r-sr-x---. 1 root100 system100 7841 Dec 8 2012 system100
다음 필드인 소유자ID와 소유자의 그룹ID를 보면, 그룹ID는 접속해 있는 'system100'인데 소유자는 'root100'이군요.
다시 말해서, 파일을 실행하면 root100의 권한을 얻을 수 있다는 의미가 됩니다.
자, 실행 권한이 있는것을 확인 했으니 system100파일을 실행해봅시다.
-bash-4.1$ ./system100
ECHO Program------------------
INPUT : a
a
문제 설명에서 처럼 입력한 값을 그대로 출력해주고 바로 종료되버립니다.
프로그램을 종료 시키지 않고 우리가 원하는 어떤 정보를 출력하도록 해야겠죠?
이번 문제에서 찾아야할 취약점은 특수 문자에 대한 예외처리가 제대로 이루어 지지 않아서 발생하는 문제점 입니다.
linux 명령어에서 '&'는 프로세스를 백그라운드로 실행 되도록 하는 명령입니다.
이 문자 뒤에 'bash'를 실행하도록 입력값으로 넣어봅시다.
-bash-4.1$ ./system100
ECHO Program------------------
INPUT : &bash
'IT 생활 > 해킹' 카테고리의 다른 글
파일 종류 별 매직 넘버 (magic number) (0) | 2013.09.16 |
---|---|
[해킹/문제풀이] KISA 해킹방어 System Lv2 - perl을 활용한 커맨드 입력 (5) | 2013.08.29 |
[해킹/문제풀이] Blind SQL Injection 공격으로 DB 정보 알아내기 - WOWHACKER level 9 (0) | 2013.07.05 |
[해킹/문제풀이] MySQL Injection 공격으로 DB 정보 알아내기 - WOWHACKER level7 (6) | 2013.06.14 |
[해킹/문제풀이] 자바스크립트 난독화 (Javascript Obfuscation) 된 코드 복호화 - WOWHACKER level6 (2) | 2013.06.07 |