Information Security
System Hacking 실습 환경 구성 본문
System Hacking - 실습 환경 구성
오늘부터는 대표적인 시스템 취약점인 Buffer Overflow를 이해하기 위한 기초 공부를 할 것이다.
먼저 실습 환경을 구성해야 한다.
이번에는 과거(2000년?)에 사용하던 운영체제인 RedHat 6.2로 실습을 진행할 것이다.
https://ko.wikipedia.org/wiki/%EB%A0%88%EB%93%9C%ED%96%87
1. Booting
부팅이 조금 오래걸린다.
기다리다가 부팅이 완료되면 root 계정으로 로그인한다.
2. 실습 도구
-GCC (GNU Compiler Collection)
-NASM (Netwired Assembler)
-GDB (GNU Debugger)
실습을 진행하기 위해서 필요한 도구는 위의 세가지이다.
이들 중 GCC, GDB는 이미 리눅스에 존재한다.
NASM는 설치해야 한다.
NASM 홈페이지 접속(www.nasm.us) -> [DOWNLOAD]
맨 아래에 위치한 [0.99.05] 가장 오래된 버전 선택
gzip으로 압축되어 있는 소스 파일의 링크 주소를 복사한다.
ping 테스트로 네트워크 통신 상태를 확인한 후 wget 명령어를 이용해서 nasm 소스 파일을 다운로드 한다.
저장 완료
파일이 저장된 것을 확인한 후 압축을 풀어준다.
압축을 풀어주고 해당 디렉터리로 이동한다.
소스 파일로 설치할 때 필요한 명령어들
./configure 환경 설정
make 컴파일
make install 설치
nasm 명령어를 어디서든 사용할 수 있게 /usr/bin 디렉터리로 복사한다.
마지막으로 nasm, gcc, gdb 명령어가 실행되는지 확인한다.
3. 원격 접속
콘솔로 작업하면 불편하므로 Xshell로 접속할 것이다.
원격 쉘을 사용하려면 콘솔에서 설정 파일을 수정해야 한다.
1) /etc/securetty
원격 터미널 pts/0 ~ pts/8 추가
2) /etc/pam.d/login
첫 번째 인증 삭제(주석 처리)
netstat -ant 명령어로 확인한 결과 현재 TELNET 23번 포트가 열려 있으므로 Xshell에서 23번으로 연결해준다.
(여기서 연결할 때도 시간이 조금 걸린다.)
실습 환경 구성 끝!
'System Hacking' 카테고리의 다른 글
함수 (0) | 2018.01.23 |
---|---|
관계 연산(cmp) + 제어문 (0) | 2018.01.19 |
레지스터(Register)와 사칙연산 (0) | 2018.01.18 |
주소 vs 메모리 (0) | 2018.01.16 |
C언어로 만들어진 프로그램의 실행과정 이해 (0) | 2018.01.12 |