Information Security

System Hacking 실습 환경 구성 본문

System Hacking

System Hacking 실습 환경 구성

leeeeye321 2018. 1. 10. 23:38

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