본문 바로가기

Layer7/동아리 숙제

Linux 환경 구축

1. VMware workstation, Virtual Box등 가상 머신을 구동할 수 있는 프로그램 설치

더보기

이 과정은 간단 했다.

VMware 홈페이지에 들어가 다운로드 - 무료 제품 다운로드 -  Workstation Player -> Windows용으로 다운.

나머지 설치를 진행하면 된다.

 

2. 가상 머신 설치 후, Ubuntu 16.04 LTS 와 Ubuntu 18.04 LTS를 설치

더보기

   · Ubuntu 16.04 LTS 가상 머신을 설치할 차례 (Ubuntu 18.04 LTS도 마찬가지), (나는 Vmware Workstation Pro를 썼음) (중간에 LIcense 없어서 Player로 갈아탐)

(1) Create a New Virtual Machine

(2) Custom (advanced)

(3) Workstation 버전 선택 (그냥 next눌러도 무방)

(4) ISO 가상 이미지 파일 선택

(5) 사용자 계정 생성

(6) 가상머신 이름 & 설치경로 설정 (그냥 next눌러도 무방)

(7) 프로세스 성능 설정 (값이 높을 수록 좋아지고, Host의 부담이 커짐)

(8) 주메모리 용량 설정 (값이 높을 수록 동시에 프로그램을 많이 실행 시킬 수 있고, Host의 부담이 커짐)

(9) 네트워크 타입 설정

   - Bridge Networking     : 공유기를 통해 통신

   - NAT                       : HOST를 통해 통신 (Recommanded)

   - host-only Networking : 외부와 단절된 네트워크로 오직 같은 네트워크끼리만 통신 가능

(10) SCSI 컨트롤러 선택 (가상 디스크, CD/DVD-ROM 및 SCSI 디바이스랑 컴퓨터랑 접속할 때 필요한 가상 컨트롤러)

   - BusLogic       : 초기의 vSCSI 컨트롤러, 지금은 쓰이지 않음

   - LSI Logic       : 또 다른 vSCSI 컨트롤러, 일반적으로 이것을 선택함            (Recommanded)

   - LSI Logic SAS : LSI Logic의 확장판, 미래지향적임

   - Paravirtualized SCSI : 처리량을 높이고, CPU사용량을 줄일 수 있는 고성능 컨트롤러

(11) Virtual Disk Type 선택하기

   - IDE : CD-ROM이 병렬로 연결됨

   - SCSI : 컴퓨터 주변기기를 직렬로 연결해줌 (Recommanded)

   - SATA : SCSI보다 않좋음 (?)

   - NVMe : SCSI와 비교해서 CPU량을 줄일 수 있다.

(12) Disk 선택하기

   - 우리는 처음 만드므로 Create a new virtual disk를 선택

(13) 가상 디스크 사이즈 & 할당 방식 정하기 (그냥 next눌러도 무방)

   - Store virtual disk as a single file    : 가상 디스크를 하나의 파일에 저장

   - Split virtual disk into multiple files : 가상 디스크를 여러개의 파일에 저장

(14) 가상 디스크 이름 정하기 (그냥 next눌러도 무방)

(15) 대망의 가상머신 세팅 완성! (꼭 Customize Hardware...을 눌러 최종 설정을 확인하자!)

(16) 세팅한 가상머신 실행

(17) 설치 진행...

(18) 로그인

   - (5)에서 만들었던 패스워드 입력

(19) 설치 완료!

 

   (4) ISO 가상 이미지 파일 다운받기 (설치하는 데 1시간 걸림)

 - Ubuntu 16.04 LTS

 구글에 "Ubuntu 16.04 LTS" 검색

 releases.ubuntu.com이라는 웹주소가 적혀있는 검색결과를 클릭 (releases: 배포판)

 Ctrl+F로 iso문자 페이지 내에서 검색

 server와 desktop중에 desktop을 선택 후 다운 (확장자: iso)

 - Ubuntu 18.04 LTS도 마찬가지

(5)

 

3. vim, python, pip 등 필수 패키지 설치 후 pwntools 설치

더보기

   1) vim 설치 (Ubuntu 18.04 LTS도 동일)

(1) terminal 실행 (search your computer 클릭 - "terminal" 입력 - terminal 클릭)

(2) sudo apt-get install vim 입력 (비밀번호는 위 계정 비밀번호) (Continue ? Y)

   sudo: 관리자 권한으로

   apt-get install: 자동 설치

   vim: vim이라는 프로그램을

(1) Ubuntu 16.04 LTS

(1) Ubuntu 18.04 LTS

   2) python 설치 (Ubuntu 18.04 LTS도 동일)

(1) sudo apt-get install python3 입력 (마법의 명령어 apt-get)

 

   3) IDLE 설치 (실패해도 ' 6-2) Pyhton 3.7 업데이트 '후 설치 바람)

(1) sudo apt-get install idle-python3.7 (IDLE 설치) (Continue ? Y)
(2) idle-python3.7 (IDLE 실행)

[실패함]

[오류메세지: The program 'idle-python3.5' is currently not installed. You can install it by typing:
sudo apt install idle-python3.5 ]

(3) 오류메세지를 바탕으로 sudo apt intall idle-python3.5 입력 (Continue ? Y)

(4) idle-python3.5 (실행 확인)

 

   4) pip 설치 (Ubuntu 18.04 LTS도 동일)

(1) sudo apt-get install python3-pip 입력 (python2.X라면 python3-pip대신 python-pip 입력) (Continue ? Y)

 

   5) pwntools 설치 (Ubuntu 18.04 LTS도 동일)

(1) sudo apt-get update : apt-get 업데이트는 기본 소양

(2) sudo apt-get install python2.7-dev python-pip (python2.7도 깔고, pip도 다 깐것 같지만... 일단 먹을 수 있는 약을 다 먹어본다.)

(3) sudo pip install pwntools : pwntools 설치

(4) sudo apt-get install libcapstone-dev (Continue ? Y)

(5) sudo pip install --upgrade pip (업그레이드 해서 나쁠건 없으니...)

 

4. gdb-peda, pwndbg, gef 등 여러가지 디버거 중 택 1하여 설치

더보기

   gdb-peda 설치 (Ubuntu 18.04 LTS도 동일)

(1) sudo apt install git (Continue ? Y)

(2) git clone https://github.com/longld/peda.git ~/peda : github의 해당사이트 ~/peda 디렉터리에 내려받음

(3) echo "source ~/peda/peda.py" >> ~/.gdbinit : 'source ~/peda/peda.py'의 출력 결과를  /.gdbinit에 저장

 

5. Pwngdb(angelheap) 플러그인 설치

더보기

(Ubuntu 18.04 LTS도 동일)

(1) cd ~/

(2) git clone https://github.com/scwuaptx/Pwngdb.git

(3) cp ~/Pwngdb/.gdbinit ~/ : ~/Pwngdb/.gdbinit파일을 ~/에 붙여넣기

 

6. 그 이외 alias등 본인이 필요한 세팅 완료(선택)

더보기

(Ubuntu 18.04 LTS도 동일)

   1) vim 추가 설정

(1) vi ~/.vimrc (vi 설정 편집창으로 이동)

(2) i 입력 (입력모드 들아가기)

(3) 아래 문장들 입력

set number

set ai

set si

set cindent

set shiftwidth=4

set tabstop=4

set ignorecase

set hlsearch

set nocompatible

set fileencodings=utf-8,euc-kr

set fencs=ucs-bom,utf-8,euc-kr\

set bs=indent,eol,start

set ruler

set title

set showmatch

set wmnu

syntax on

filetype indent on

set mouse=a

-------------------------------explaination-------------------------------------

set number : 줄 표시

set ai : 자동 indent

set cindent : C언어 스타일로 indent

set tabstop=4 : tab 공백 4칸

set ignorecase : 검색 시 대소문자 무시

set nocompatible : 방향키로 이동 가능

set bs=indent,eol,start : backspace키 사용가능

set title : 제목 표시

set showmatch : 괄호의 짝을 보여줌 

set wmnu : tab 눌렀을때 자동완성 목록 보여줌

set mouse=a : 커서 이동 마우스도 가능

--------------------------------------------------------------------------------------

(4) Esc입력 후 (Insert 모드 나가기) :wq 입력 (저장하고 나가기)

(5) 그 밖의 팁:

읽기모드에서 (시작하면 나오는 곳이 읽기 모드)

   커서 이동 h(왼쪽), j(아래), k(위), l(오른쪽, 알파벳 소문자 엘) (대소문자 구분 주의)

   DEL(커서가 위치한 곳 삭제)

 

   2) Python5.3.2 -> Python7.7로 업그레이드 하기

(1)

   2) 파이선 3.7로 업그레이드 하기 (실패함) (근데 18.04 LTS에서는 성공!)

(1) 가능 여부 확인

아래 명령어 입력

[파이썬 라이브러리 설치]

(2) sudo apt-get update   : apt-get 업데이트

(3) sudo apt-get upgrade : apt-get 업그레이드 (항상 최신 버전으로 유지) (Continue ? Y)

(4) sudo apt-get dist-upgrade

(5) sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus (Continue? Y)

(6) sudo apt-get install libncursesw5-dev libgdbm-dev libc6-dev

(7) sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev (Continue ? Y)

(8) sudo apt-get install libssl-dev openssl (Continue ? Y)

(9) sudo apt-get install libffi-dev
[파이썬 3.7설치 파일 다운]

(10) wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz (Python 3.7.7의 Gzipped source tarball에 마우스를 갖다 대면 이 링크가 나옴)

   wget: 해당 웹사이트 링크에서 파일을 다운 (web get)

(11) tar xvfz Python-3.7.7.tgz (받은 파일 압축 풀기)

(12) cd Python-3.7.7 (Pyhthon-3.7.7 디렉터리로 이동)

(13) ./configure                 ┐

(14) make                        ├ Python 3.7.7 설치

(15) sudo make install        ┘

(16) python3 -V (버전 확인)

[python 3.5.2로 뜰것이다. 그러면...]

(17) which python3 (python3.7.7 설치 위치 확인하기)

[PATH설정하기]

(18) gedit ~/.bashrc

[맨 아래에서 한칸 띄우고]

(19) export PATH=[Python 3.7.7경로]:$PATH (export PATH=/usr/local/bin/python3:$PATH) (오타주의!)

(20) Save 버튼 클릭

(21) source ~/.bashrc

(22) python3 -V

[그러면 python 3.5.2로 뜰것이다.  그러면...]

[나도 모른다.]👍

 

(10)

(19)

   3) gdb gdb-peda 구분하여 사용

(1) vi ~/.gdbinit

(2) 아래 코드 입력 (이미 내용이 있는 경우 그 밑줄에 시작)

define init-peda

source ~/peda/peda.py

end

document init-peda

Initializes the PEDA (Python Exploit Development Assistant for GDB) framework end

 

7. 인증샷

더보기

(1) Ubuntu 16.04 LTS

 

(2) Ubuntu 18.04 LTS

 

 

 

8. 참고자료