54
공개용 보안프로그램을 활용한 취약성 점검 2005. 5. 인프라보호단 / 보안관리팀

공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

공개용 보안 로그램을

활용한 취약성 검

2005. 5.

인 라보호단 / 보안 리

Page 2: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

목 차

Ⅰ. 서 론 ...................................................................................................1

Ⅱ. nessus를 활용한 취약성 검..........................................................1

Ⅲ. SARA를 활용한 취약성 검........................................................14

1. SARA의 기능 특징................................................................14

Ⅳ nikto를 활용한 웹 취약성 검....................................................24

1. nikto의 기능 특징................................................................24

Ⅴ. nmap을 활용한 포트 검.............................................................31

1. nmap 의 기능 특징...............................................................31

Ⅵ. ethereal 을 이용한 악성 트래픽 분석.........................................37

1. ethereal 의 기능 특징............................................................37

Ⅶ. clamav를 이용한 바이러스 방지..................................................40

1. clamav 의 기능 특징............................................................40

Ⅷ. john the ripper을 이용한 패스워드 보안 검하기.................44

1. john the ripper 의 기능 특징..........................................44

Ⅸ. RC Firewall을 이용한 방화벽 구축하기....................................46

1. Rc.Firewall 의 기능 특징..................................................46

Page 3: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

그림 목차

[그림 1] nessus홈페이지( http://www.nessus.org /)....2

[그림 2] installer 다운로드......................................................................2

[그림 3] sharutils 다운로드 설치.....................................................3

[그림 4] installer 실행 설치..............................................................3

[그림 5] nessus 설치 화면.......................................................................4

[그림 6] E-mail 주소 등록하기...............................................................4

[그림 7] 등록 후 키 확인.........................................................................4

[그림 8] 등록키 입력 ...............................................................................5

[그림 9] nessus user 생성.......................................................................5

[그림 10] nessusd 실행............................................................................7

[그림 11] Nessus 서버 설정하기..........................................................7

[그림 12] “Connect to Server"..............................................................8

[그림 13] 클라이언트 인증키 리 메뉴.............................................9

[그림 14] Nessus 서버와 연결 성공.....................................................9

[그림 15] 세션 정보 시작 메뉴...........................................................10

[그림 16] 신규 세션 생성하기...............................................................10

[그림 17] 정보 입력창............................................................................10

[그림 18] Execute 실행 화면................................................................11

[그림 19] 세션 실행 화면.......................................................................11

[그림 20] 취약성 검 화면...................................................................12

[그림 21] 취약성 검 결과...................................................................12

[그림 22] 결과를 html 형식으로 장................................................13

[그림 23] SARA 홈페이지 ....................................................................14

[그림 24] SARA 다운로드 압축 풀기............................................15

[그림 25] 컴 일 인스톨하기...........................................................15

[그림 26] 설치 후 sara 디 토리 .......................................................16

[그림 27] 로그인 유 /암호 생성........................................................17

[그림 28] 데몬 모드로 실행 .................................................................17

[그림 29] SARA 인증 확인 화면..........................................................18

[그림 30] SARA의 리자 화면............................................................18

[그림 31]“Data Management” 화면.....................................................19

[그림 32] 신규 Data 생성......................................................................19

[그림 33] 생성된 Data 화면..................................................................20

Page 4: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

[그림 34] "Configuratiob Management" 메뉴 화면.........................20

[그림 35] 취약 검 상 입력.........................................................21

[그림 36] 취약 검 벨 설정.........................................................21

[그림 37] 방화벽 설정.............................................................................22

[그림 38] 취약 정보 수집 화면.........................................................22

[그림 39] 검 완료 화면.......................................................................22

[그림 40] “Data Analysis" 메뉴 화면.................................................23

[그림 41] "SARA ReportWriter"를 이용한 보고서 생성.................23

[그림 42] 취약 결과 보고서 생성 화면..........................................24

[그림 43] 취약 결과 보고서 생성 화면..........................................24

[그림 44] nikto 홈페이지........................................................................26

[그림 45] nikto 다운로드 압축해제...............................................26

[그림 46] nikto 스캔시 웹서버 로그....................................................27

[그림 47] findonly 옵션 사용................................................................27

[그림 48] 스캔 결과 화면 .....................................................................28

[그림 49] -host 옵션을 이용한 다수의 시스템 검........................29

[그림 50] -host 옵션을 이용한 다수의 시스템 검........................30

[그림 51] 다운로드 압축해제...........................................................32

[그림 52] nmap 설정 컴 일..........................................................33

[그림 53] nmap 스캔 결과 ..................................................................33

[그림 54] udp nmap 스캔 결과...........................................................34

[그림 55] ping nmap 스캔 결과..........................................................34

[그림 56] OS fingerprinting 스캔 결과..............................................35

[그림 57] 역스캔 결과 (nmap -sS -O 11.4.8.0/24).......................36

[그림 58] nmapfe실행화면 험한포트는 붉은색으로 표시된다...37

[그림 59] 다운로드 압축해제 (libpcap).........................................38

[그림 60] 다운로드 압축해제 (ethereal)........................................39

[그림 61] clamav 일 다운로드 압축 풀기................................41

[그림 62] configure 실행........................................................................42

[그림 63] /etc/clamd.conf 일 수정.................................................43

[그림 64] clamscan 테스트.....................................................................43

[그림 65] 자동 업데이트 로그 일 생성...........................................43

[그림 66] freshclam 실행 확인.......................................................44

[그림 67] 일 다운로드 .......................................................................45

[그림 68] 압축 푼후 디 로리 확인.....................................................45

[그림 69] 설치 옵션확인.........................................................................46

Page 5: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

[그림 70] 설치 확인.................................................................................46

[그림 71] john the ripper 사용법........................................................46

[그림 72] 일 다운로드 압축해제.................................................47

[그림 73] 압축 푼후 디 로리 확인.....................................................47

[그림 74] Rc.Firewall 설치하기.............................................................48

[그림 75] Rc.Firewall 실행하기.............................................................48

Page 6: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 1 -

Ⅰ. 서론

인터넷에는 오 소스로 개발되어 자유롭게 이용이 가능한 보안 로그램들이 많이

공개되어 있다. 물론 일반 으로 이러한 로그램들이 상용 장비나 솔루션에 비해

인터페이스나 기능 등이 다양하지는 않다는 단 이 있다. 그 다고 해서 오 소스

로 제공되는 솔루션이 모두 조잡하거나 신뢰성이 떨어지는 것은 아니다. 어떤 로

그램의 경우 심지어는 상용 솔루션보다 더욱 빠르고 우수한 성능을 내는 경우도 있

고, 특히 최근에는 개인이 아닌 개발자 커뮤니티를 통한 로젝트 형식으로 진행되

면서 상용 이상의 성능과 기능을 제공하는 경우도 있다. 여기에서는 이러한 많은

로그램 여러 환경에서도 사용이 가능한 표 인 오 소스 로그램의 활용

방안에 해 알아보도록 하겠다. 굳이 상용 솔루션에 의존하지 않고 이러한 보안

로그램을 잘만 이용해도 기 이상의 효과를 기 할 수 있을 것이다.

Ⅱ. nessus를 활용한 취약성 검

첫 번째 소개하고자 하는 로그램은 한번쯤 이름을 들어보았을 nessus 라는 로

그램이다. nessus 는 원격지에서 다양한 방법을 통해 시스템이나 네트워크의 알려

진 취약성에 한 검을 수행하며 이 결과 역시 취약성의 내용과 해결 방법 등에

한 직 인 인터페이스를 제공한다.

nessus 의 홈페이지는 http://www.nessus.org/ 이며 다음과 같은 특징이 있다.

* 서버/클라이언트 구조로 작동한다.

nessus 는 서버/클라이언트 구조로 작동하는데, 서버에는 nessus 데몬과 각종 취

약성 검 러그인등이 설치되며 클라이언트는 단순히 서버에 속하여 취약성을

검하고 결과를 볼 수 있는 인터페이스를 제공한다. 데몬은 MAX OS X 나 IBM

AIX에도 설치될 수 있으나 리 스등 유닉스 계열에 설치하는 것이 좋다. 그리고 클

라이언트는 Windows 유닉스에 설치될 수 있는데, 여기에서는 Windows 에 설

치하여 알아보도록 하겠다.

* 사용이 자유롭고 러그인 업데이트 등이 쉽다.

클라이언트에서 GUI 형태로 모든 취약성 검 설정과 아울러 그 결과를 알 수

있어 보자도 쉽게 사용이 가능하다.

* HTML 등 여러 형태로 결과를 리포트 해 다.

리 스 뿐만 아니라 유닉스,Windows 라우터 등 모든 OS 장비에 한 취

Page 7: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 2 -

약성 정보를 제공하며 취약성 검 결과는 txt 나 html 는 pdf 등의 형식으로 자

유롭게 장할 수 있다.

[그림 1] nessus 홈페이지(http://www.nessus.org/)

STEP 1. 다운로드 설치하기

nessus 는 서버 클라이언트 구조로 작동하므로 서버 로그램과 클라이언트 로그

램을 각각 설치하여야 한다. 홈페이지에 속 후 DOWNLOAD를 클릭하여 nessus

installer를 선택하면 된다.

[그림 2] installer 다운로드

installer 디 토리에 있는 installer.sh 를 다운로드하여 실행하면 된다. 시스템에 따

라 "sharutil" 패키지가 설치되지 않아 오류나는 경우가 있는데, 이런 경우가 발생하

Page 8: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 3 -

면, 패키지를 다운받아 설치하도록 하자.

[그림 3] sharutils 다운로드 설치

설치 후 nessus-installer.sh를 실행하면 설치가 될 것이다. GTK+ 패키지도 필요하므

로 설치하도록 하자. 필요한 최신 패키지들을 설치하 다면, 이제 nessus를 설치하

도록 하자.

[그림 4] installer 실행 설치

와 같이 실행하면 자동으로 설치를 시작하게 된다.

Page 9: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 4 -

[그림 6 ] E-mail 주소 등록하기 [그림 7 ] 등록 후 키 확인

[그림 5] nessus 설치 화면

설치과정에서 plugin을 수시로 업데이트 하기 해서는 nessus 홈페이지

(http://www.nessus.org/plugins/index.php?view=register)에서 e-mail을 등록 후

메일로 받은 등록키를 입력하여야 한다.

Page 10: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 5 -

[그림 8 ] 등록키 입력

이후 엔터를 입력하면 설치가 완료된다.

STEP 2. nessus 와 nessusd 옵션 설정 실행하기

이 게 해서 설치를 끝낸 후에는 nessus 데몬에 속할 유 /암호를 설정할 차례이

다. 이는 다음에 설치할 Windows 클라이언트에서 nessus 데몬에 속할 때 필요하

다.

[그림 9 ] nessus user 생성

유 를 생성한 후 nessus-mkcert를 이용하여 SSL 키를 생성하도록하자.

/usr/local/sbin/nessus-mkcert

Page 11: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 6 -

와 같이 실행하면 아래와 같이 SSL 인증을 한 키를 생성하는 화면이 나온다.

당한 값을 입력하자.

SSL 인증 키가 완성되면 아래와 같이 키 치에 한 정보를 확인할 수 있다.

Page 12: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 7 -

다음으로 취약성 db를 매일 자동으로 업데이트하도록 아래와 같이 실행하고 이를

cron 에 설정하도록 한다.

# /usr/local/sbin/nessus-update-plugins

이제는 nessus 데몬을 띄우도록 한다.

[그림 10 ] nessusd 실행

netstat -lnp 로 확인해 보면 nessusd 는 tcp 1241번에서 listen하고 있는 것을 알 수

있다.

STEP 3. nessus 클라이언트 설치 설정하기

클라이언트 로그램은 http://nessuswx.nessus.org/에서 최신버 을 다운로드 받아

도우즈 PC에 설치하면 된다. 필요한 일을 다운받아 설치해보자.

설치 후 Nessus가 설치되어 있는 서버 정보를 입력해야 한다. 상단 메뉴의

"Communications“를 클릭하여 "Connect"를 르거나, 단축키인 "F4"를 클릭하거나,

아래와 같이 아이콘을 클릭해도 된다.

[그림 11 ] Nessus 서버 설정하기

“서버 설정하기(Connect to Server)”를 선택하면 아래와 같은 화면을 확인할수 있

다.

Page 13: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 8 -

① 압축 풀기

다운 받은 파일을 압축을 풀면 위와 같은 파일들이 나타난다.

② 클라이언트 실행

: “NessusWX"를

더블클릭한다.

->“Settings"창이

나오면 NessusDB

디렉토리를

설정하고,

확인을 클릭

(기본값 권장)

[그림 12 ] “Connect to Server" 정보 입력하기

Nessus를 설치하여 운 하고 있는 서버에 한 정보를 입력하고, 생성한 유 정보

를 입력 등 자신의 환경에 맞게 정보를 입력하여 "Connect" 버튼을 클릭하여

Nessus 서버에 연결을 하도록 하자.

Page 14: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 9 -

[그림 13 ] 클라이언트 인증키 리 메뉴

처음 연결한다면 와 같이 인증키 메뉴가 나오며, “Accept & Save"를 클릭하도록

하자. 클릭을 하면 서버로의 연결을 시도하며, 상태창에 아래와 같이 plugin loaded

된 것을 확인할 수 있다.

[그림 14 ] Nessus 서버와 연결 성공

STEP 4. Nessus 클라이언트를 이용한 취약 검하기

서버와 연결이 끝난 후 이제 검을 하기 해 검 상을 등록하여, 취약 을

검하는 법을 알아보도록 하자. 메뉴는 사용하기에 별로 어려움이 없으므로, 다음과

같은 순서로 검을 해보도록 하자.

먼 , Session -> New를 클릭하여 검하고자 하는 서버의 정보를 입력한다.(이하

Session 정보 함)

Page 15: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 10 -

[그림 15 ] 세션 정보 시작 메뉴

[그림 16] 신규 세션 생성하기

임의의 이름을 입력하면 아래와 같이 입력창이 나오는데, 먼 Targets 에는 취약성

검을 수행할 ip 는 ip 역을 지정하도록 한다. Add를 클릭하여 ip를 입력하면

된다.

[그림 17 ] 정보 입력창

Page 16: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 11 -

와 같이 설정 후 확인을 선택하고 해당 세션 아이콘을 더블클릭하거나, 오른쪽마

우스를 클릭하고 “Execute”를 실행하자.

[그림 18] Execute 실행 화면

검을 실행하기 해 “Execute"를 선택하면 아래와 같은 화면을 볼 수 있는데, 기

본값으로 선택해도 무방하다. ”Execute"를 클릭해주도록 하자.

[그림 19] 세션 실행 화면

이후 아래 그림과 같이 취약성 검을 시작한다.

Page 17: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 12 -

[그림 20] 취약성 검 화면

Close를 한 후 view를 클릭하면 취약성 검 결과를 바로 확인할 수 있으며 Report

를 클릭하면 취약성 결과를 다양한 방식으로 장할 수 있다.

[그림 21] 취약성 검 결과

취약성의 수 에 따라 다른색으로 보여지고 해당 경고창을 클릭하면 우측에 상세한

정보가 보여지게 된다. 그림의 경우 161/udp을 사용하는 snmp에서 public 이라

는 문자열을 사용하기 때문에 보안 경고가 뜬 것을 알 수 있다.

Page 18: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 13 -

한 취약성 검 결과를 특정한 일로 장하도록 할 수 있는데, 아래는 html 로

장하여 라우 로 본 결과이다.

[그림 22] 결과를 html 형식으로 장

Page 19: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 14 -

Ⅲ. SARA를 활용한 취약성 검

앞에서 살펴보았던 nessus 외에도 취약성 검 로그램은 많은 종류가 있다. 물론

nessus 와 같이 다양한 기능과 화려한 인터페이스를 제공하지는 않지만 각각의 장

단 이 있으므로 극도의 보안을 해서는 어떤 하나의 솔루션에만 의존하지 말고

다양한 로그램을 이용하는 것도 좋은 방법이다. 그 에서 SARA 라는 로그램

에 하여 간단히 알아보도록 하자.

1. SARA의 기능 특징

SARA 라는 로그램은 Security Auditor's Research Assistant 의 약자로서 한때 유

명했던 로그램 하나인 SATAN(Security Administrator's Tool for Analyzing

Networks )이라는 로그램을 응용하여 개발한 것이다. 처음에 SATAN 이 공개되

었을 때는 그 이름만큼 많은 반향을 일으켰지만 이후 업데이트 등이 제 로 이루어

지지 않아 재는 역사속의 로그램으로만 기억되고 있다.

[그림 23] SARA 홈페이지

SARA 의 홈페이지는 http://www-arc.com/sara/ 이며 다음과 같은 기능과 특징을

가지고 있다.

① 리 스 등 부분의 유닉스 계열에서 작동한다.

② 방화벽이 설치된 환경에서도 잘 작동한다.

③ 러그인 형태를 제공하며 다른 로그램보다 빠르다.

④ 취약성 정보에 해서는 CVE 정보를 지원한다.

⑤ 데몬 모드를 지원하여 원격에서 웹 기반으로 속하여 리할 수 있다.

Page 20: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 15 -

⑥ 취약성 결과에 해서는 서비스별, 취약성별 등 여러 기 으로 구분하여 조회할

수 있으며 HTML 이나 XML 등의 형식으로 리포트가 작성된다.

STEP 1. 다운로드 설치하기

먼 SARA의 홈페이지인 http://www-arc.com/sara/에 속하여 우측 하단의 링

크를 클릭하여 최신 버 의 소스 일을 다운로드 하도록 한다.

http://www-arc.com/sara/downloads/에서 다운로드 해도 된다.

[그림 24] SARA 다운로드 압축 풀기

압축을 풀고, 컴 일 인스톨을 하도록 하자.

[그림 25] 컴 일 인스톨하기

잠시 후 /usr/local/sara 디 토리를 보면 련 일들이 설치된 것을 확인할 수 있

다. 설치 사용을 해 시스템에 있는 다른 패키지의 버 이 맞지 않아 설치가

잘 되지 않는 경우가 매우 높다. 설치 시 자신의 시스템에 설치되어 있는 패키지와

sara의 패키지에 충돌 여부를 확인하여 설치하도록 하자.

STEP 2. SARA 설정 사용하기

여기에서는 리 스 서버에 SARA 를 데몬 모드로 구동하고 원격지에서 라우 로

속하여 리하는 방법에 해 살펴보도록 하자. 서버의 /usr/local/sara 디 토리

Page 21: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 16 -

로 이동하면 sara 실행 일이 있고 config/ 디 토리 이하에 있는 주 설정 일인

sara.cf를 수정하면 된다.

<참고> 비교 설치가 쉬운 버

재 SARA의 최신 버 은 6.0.1이지만, 비교 설치시 충돌이 은 버 은 5.4 버 이다.

(다운로드 : http://packetstormsecurity.org/UNIX/audit/sara/sara-5.4.0.tgz) 한, 설치

TEXT 라우 인 lynx가 설치를 하길 권한다. 이는 SARA에서 인식하는 라우져

하나인 lynx를 설치함으로서 차후 취약 검시 웹 라우 로 근하지 않고, telnet

는 ssh를 통해 설치된 시스템에 근하여 lynx를 이용한 취약 검이 손쉽게 이루어 질

수 있다. lynx를 설치하지 않아도 SARA 설치 사용에는 별 문제는 없다.

[그림 26] 설치 후 sara 디 토리

설정 일에서는 특별히 수정할 부분은 없고, 아래 부분만 당히 설정해 주면된다.

먼 $allowable_hosts 부분에 원격지에서 리할 IP 주소를 아래와 같이 추가하도

록 한다.

$allowable_hosts = "192.168.0, 127.0.0.1, 221.1.2.3";

다음은 SARA 가 데몬 모드로 작동시 사용할 포트번호를 지정하도록 한다. 기본값

은 666 이다.

$daemon_port = "666";

다음은 원격지에서 속한 유 가 외부 네트워크에 한 스캔을 할 수 있도록 허용

할 것인지 지정하는 부분이다. 1 로 설정하도록 한다.

$allow_scan = 1;

Page 22: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 17 -

sara.cf 설정이 끝났으면, 이제 SARA를 사용하기 해 user를 생성하도록 하자. 아

래와 같이 ./add_user를 실행하여 666 번으로 http 속시 인증할 사용자 이름과

암호를 설정하도록 한다.

[그림 27] 로그인 유 /암호 생성

이후 아래와 같이 ./sara -D를 실행하여 데몬을 실행하도록 한다.

[그림 28] 데몬 모드로 실행

해당 서버의 666 포트로 웹 속을 하면 아이디/암호를 묻는 창이 나타난다.

Page 23: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 18 -

[그림 29] SARA 인증 확인 화면

앞에서 등록한 정보를 입력하면 아래와 같은 리자 화면이 뜨게 된다.

[그림 30] SARA의 리자 화면

SARA의 웹 인터페이스가 다소 조잡하기는 하다. 여기에서 좌측의 메뉴를 클릭하면

되는데, 이때 메뉴이름이 아니라 앞에 있는 아이콘을 클릭 하도록 하자.

Page 24: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 19 -

[그림 31]“Data Management” 화면

SARA의 "Data Management" 메뉴는 SARA를 이용한 검 결과 Data를 리하기

한 메뉴이다. 기본값으로 사용하도록 하자. 만약 결과를 따로 보 하고 싶을 때에

에는 “Open or create"을 클릭하여 생성할 수 있다.

[그림 32] 신규 Data 생성

Page 25: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 20 -

[그림 33] 생성된 Data 화면

생성된 결과 폴더는 /usr/local/sara/result/ 아래에 존재한다.

[그림 34] "Configuratiob Management" 메뉴 화면

SARA의 기본 인 설정 리 메뉴이다. 기본값을 사용하거나, 자신의 환경에 맞게

설정을 변경해도 무방하다. 여기서는 기본 값으로 설정하여 사용해보도록 하겠다.

이상과 같이 설정이 끝났으며, 이제 취약 스캔을 해보도록 하자.

Page 26: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 21 -

<예제> myhost.local.com

myhost1.local.com myhost2.local.com

192.168.0.0/23 (C class 2개)

192.168.0.55-192.168.0.98 ( ip 범 스캔)

[그림 35] 취약 검 상 입력

먼 취약 을 검하기 해 상을 입력을 하도록 하자. “Target Selection" 메뉴

를 클릭하면 와 같이 상을 입력하는 창을 확인 할 수 있다. 검을 수행할 ip

나 호스트명을 입력하면 된다. 형식은 아래와 같이 단일한 호스트 는 복수 호스

트 형식도 가능하며 class 는 IP 역 모두 작동된다.

[그림 36] 취약 검 벨 설정

검 상을 입력한 후, 와 같이 검 벨을 설정할 수 있다. 일반 으로 기본값

은 “Heavy"이다. 자신이 원하는 벨을 선택하도록 하자.

Page 27: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 22 -

[그림 38] 취약 정보 수집 화면 [그림 39] 검 완료 화면

[그림 37] 방화벽 설정

검 상에 방화벽의 존재 여부를 확인하는 화면이다. 환경에 맞게 설정한 후

“Start the scan" 버튼을 클릭하도록 하자.

검을 시작하면 의 그림(좌)과 같이 취약 내용을 수집하는 화면을 확인할 수

있다. 취약 검이 완료되면, 의 그림(우)과 같이 완료 화면을 확인할 수 있다.

“Comtinue with report and analysis"를 클릭하여 결과를 분석해보도록 하자. 메인

메뉴의 ”Data Analysis“ 버튼을 클릭하여 분석하여도 된다.

Page 28: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 23 -

[그림 40] “Data Analysis" 메뉴 화면

“Data Analysis" 메뉴를 클릭한 후 자신이 원하는 형태의 결과를 확인하도록 하자.

여기서는 보고서 형태인 ”SARA ReportWriter" 메뉴를 사용하도록 하겠다.

[그림 41] "SARA ReportWriter"를 이용한 보고서 생성

보고서를 생성하기 해 의 그림과 같이 리포터 생성을 클릭하도록 하자. 기본값

을 사용해도 무방하며, HTML이외에도 XML과 CSV 일을 생성할 수 있다.

Page 29: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 24 -

[그림 42] 취약 결과 보고서 생성 화면

보고서를 생성하면 와 같이 취약 에 한 결과를 도표를 이용하여 보기 쉽게 나

타내어 주며, 아래와 같이 상세 내용이 포함되어 있다.

[그림 43] 취약 결과 보고서 생성 화면

이상으로 SARA를 이용한 취약 을 스캔하는 법을 알아보았다. 리하는 시스템에

해 다양한 취약 을 확인하기 해 테스트 후 사용해 보도록 하자.

Page 30: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 25 -

Ⅳ. nikto를 활용한 웹 취약성 검

최근 소 웹 해킹이 차 으로 늘면서 웹 보안에 한 인식이 확산되고 있다. 웹

해킹은 웹을 통해 속하여 모든 해킹 시도를 진행하는 것으로 방화벽이 설치되어

있는 환경에서도 이용이 가능하고 굳이 별도의 툴이 없이 단지 라우 를 통해서

도 다양한 해킹을 할 수 있다는 에서 수법이나 기법이 다양해지고 있다. 이러한

웹해킹에 응하기 해 웹 서버나 웹 기반의 응용 로그램의 취약성을 검할 수

있는 표 인 로그램으로 nikto를 활용해 보기로 하자.

1. nikto의 기능 특징

nikto는 사용하기 편리하고 단순하면서도 강력한 기능을 제공하기 때문에 사용자층

도 계속 으로 늘고 있는 상황이다. 특히나 웹 해킹이 화되면서 더욱 그 요

성이 커지고 있는데, nikto 는 웹 서버 설치시 기본 으로 설치되는 일과 웹 서버

의 종류와 버 등을 스캔하며 특히 취약한 CGI 일의 스캔 기능이 강력하다. 여

기에서는 이러한 nikto 의 기능 특징에 해 알아보도록 하자.

① nikto 는 취약하다고 알려진 3100여개의 방 한 cgi 등의 일에 한 정보를 가

지고 있으며 625개가 넘는 서버에 한 버 정보를 가지고 있다.

nikto 는 잘못 설정된 부분(misconfigurations) 이나 웹서버 설치시 기본 으로 설치

되는 일이나 스크립트의 존재 유무, 안 하지 못한 일이나 스크립트의 유무, 오

래되어 취약성을 가지고 있는 로그램의 유무등을 검색해 다.

② 취약성 db 는 수시로 업데이트되며 원격지에서도 쉽게 업데이트가 가능하다.

③ 모든 데이터베이스 포맷은 CSV 형식을 따른다.

④ 취약성 검 결과는 html 이나 txt, csv 등으로 장 가능하다.

⑤ nikto 의 홈페이지는 http://www.cirt.net/code/nikto.shtml이며 홈페이지에서

소스를 다운로드 받을 수 있다.

Page 31: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 26 -

[그림 44] nikto 홈페이지

STEP 1. 다운로드 설치하기

nikto 의 홈페이지에서 소스 일을 다운로드 하도록 한다. 소스 일을 다운로드

후 압축해제하면 된다. 따로 컴 일 없이 바로 사용이 가능하다.

[그림 45] nikto 다운로드 압축해제

STEP 2. nikto 사용하기

nikto 는 perl 로 되어 있기 때문에 별도로 컴 일 과정은 필요하지 않고 바로 사용

할 수 있다. 사용 형식은 아래와 같다.

./nikto.pl [-h 스캐닝할 상] [옵션]

그리고 많은 옵션을 제공하는데 각각에 해 제와 함께 알아보도록 하자.

Page 32: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 27 -

일반옵션

--Cgidirs

이 옵션을 사용하면 스캔을 진행할 cgi 디 토리를 지정할 수 있다. all 로 지정하면

모든 cgi 디 토리를 스캔한다. 아래는 스캔 제이다.

# ./nikto.pl --Cgidirs all -h test.nikto.com

이때 웹서버의 access_log를 보면 아래와 같이 보이게 된다.

[그림 46] nikto 스캔시 웹서버 로그

-generic

스캔시 웹 서버나 웹 어 리 이션 정보와는 계없이 스캔을 진행하도록 한다.

-findonly

웹 서버가 사용하는 웹 포트를 스캔하기 한 옵션이다. 이를테면, 80번이 아닌 다

른 포트에서 웹 서비스를 하는 포트를 찾을 경우에 사용된다.

[그림 47] findonly 옵션 사용

Page 33: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 28 -

-Format

스캔 결과를 일로 장하고자 할 때 어떤 형식으로 남길지 지정한다.

기본 옵션은 txt 로 장되나 HTM, TXT, CSV 등을 지정할 수 있으며 이때

-output 과 함께 사용하여 장될 일명도 지정하여야 한다. 아래는 스캔 제로서

htm 형식으로 장하며 장 결과는 result.html 로 남도록 하 다.

# ./nikto.pl -Format htm -output result.html -h test.nikto.com

아래는 이때의 스캔 결과 html 일을 라우 로 읽은 화면이다.

[그림 48] 스캔 결과 화면

-id

만약 해당 웹서버가 HTTP Authentication 으로 보호되고 있을때 id/pw 로 인증할

필요가 있는데, 이때 사용될 수 있다.

형식은 userid:password 이다.

-update

룰 등을 업데이트할 때 필요하다. 웹을 통해 자동으로 다운로드 받아 업데이트하게

된다. 아래는 실행 이다.

# ./nikto.pl -update

Page 34: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 29 -

-host

검할 호스트를 선택한다. 만약 검하고자 하는 서버 는 도메인이 여러 개인

경우 검하고자 하는 리스트를 일로 만들어서 일 스캔할 수도 있다. 이를테면

아래와 같이 스캔하고자 하는 목록을 한 에 하나씩 list.txt 에 장한 후 아래와

같이 실행하면 순서 로 실행하게 된다.

[그림 49] -host 옵션을 이용한 다수의 시스템 검

[그림 50] -host 옵션을 이용한 다수의 시스템 검

Page 35: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 30 -

list.txt 일의 상 시스템들을 순차 으로 검하는 것을 의 그림과 같이 확인

할 수 있다.

Page 36: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 31 -

옵션 설명

1 IDS-회피 모드 1 (URL 방식)

2 IDS-회피 모드 2 (/./ 디 토리 삽입)

3 IDS-회피 모드 3 (때이른 url 끝내기)

4 IDS-회피모드 4 (긴 URL)

5 IDS-회피모드 5 ( 라미터 조작)

6 IDS-회피모드 6 (TAB 키 쓰기)

7 IDS-회피모드 7 ( 소문자 구별)

8 IDS-회피모드 8 (디 토리 구분 문자로 \ 이용)

9 IDS-회피모드 9 (session splicing 기법 이용(속도가 느림))

옵션 설명

1 루트 디 토리에 모든 일들을 검사한다.

2 패스워드 일의 이름을 추측한다.

3 사용자 이름을 유추한다(http://URL/~user)아 치서버에서 가능하다.

4 사용자 이름을 유추한다(/cgi-bin/cgiwrap/~user)cgiwrap에서 가능

<참고> nikto 상세 옵션

-cookies

발견한 쿠키값을 출력한다.

-port

검할 포트를 지정한다(기본값은 80)

-nplookup

DNS 쿼리를 생략한다.

-output

스캔한 결과를 지정한 이름으로 장한다

-root

스캔할 디 토리를 지정한다.

IDS 검 옵션

-evasion

IDS 회피모드를 사용한다. 총 9가지 형태를 지원하며 whisker에서 사용되는 모드와 유사

하다.

변형 옵션

-mutate

일반 스캐 에서 제공하지 않는 변형된 검모드

Page 37: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 32 -

Ⅴ. nmap을 활용한 포트 검

앞에서 살펴보았던 취약성 검 로그램인 nessus는 트스캔을 하기 해 자체

인 로그램을 이용하기도 하지만 nmap을 러그인으로 하여 사용하기도 한다.

nmap은 가장 표 인 포트 는 ip 스캔 로그램으로 이를 활용하여 여러 가지

용도로 활용할 수 있다. 일반 으로 ‘스캔’ 은 악의 인 행 이기는 하지만 자신의

시스템이나 네트워크를 리하고 모니터링하기 한 용도로 사용된다면 훌륭한 보

안 솔루션이 될 수 있을 것이다.

특히 자신의 시스템이나 네트워크에 한 스캔을 통해 자신이 리하는 서버가 자

신이 알지 못하는 다른 포트가 열려 있지는 않은지 등을 확인할 수 있을 것이다.

.

1. nmap 의 기능 특징

nmap 의 홈페이지는 http://www.insecure.org/nmap/ 이며 홈페이지에서 소스를

다운로드 받을 수 있다. 지 부터 알아보려는 nmap 은 다음과 같은 기능 특징

을 가지고 있다.

① nmap 은 포트에 한 기본지식만 있으면 보자도 쉽게 이용가능하다.

② nmap 은 한 호스트뿐만 아니라 네트워크 주소값을 입력하면 ip 역에 한

스캔도 가능하다. 이를테면 자신의 네트워크에서 25/tcp를 Listen하고 있는

시스템을 쉽게 찾을 수 있을 것이다.

③ 다른 종류의 로그램에 비해 스캔 속도가 빠르다.

④ tcp 뿐만 아니라 udp 에 한 스캔도 제공하며 최근 버 에서는 OS를

분별하는 기능과 데몬의 버 정보도 스캔한다.

STEP 1. 다운로드 설치방법

nmap 홈페이지에서 최신버 을 다운로드하여 설치하면 된다.

[그림 51] 다운로드 압축해제

Page 38: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 33 -

이후 아래와 같이 압축 해제한 디 토리로 이동하여 설정하고 컴 일하면 된다.

[그림 52] nmap 설정 컴 일

컴 일 완료후 nmap 실행 일은 /usr/local/bin 디 토리에 nmap 일로 장된

다.

STEP 2. nmap 사용하기

nmap 이 제공하는 기능과 옵션은 매우 다양하다. 간단히 아무런 옵션 없이 nmap

만을 실행하면 제공하는 옵션을 보여주는데, nmap 의 기본 형식은 아래와 같다.

nmap [스캔타입] [옵션] < 상 목 지 호스트나 네트워크>

# 스캔타입

많은 스캔타입이 있는데 가장 많이 사용되는 몇 가지만 살펴보자.

-sS : TCP SYN 스탤스 포트 스캔 방식으로서 3-way-handshake를 형성하지 않기

때문에 half-open 스캔이라고 하기도 한다. 스캔하고자 하는 목 지 포트로 SYN 패

킷을 발송한 후 목 지로부터 SYN|ACK 패킷을 받으면 포트가 리슨한다고 단하

고, RST 패킷을 받으면 리슨하지 않는다고 단한다. 만약 SYN|ACK 패킷을 받으

면 RST 패킷을 보내어 스캔이 로그에 남지 않도록 한다.

-sT : TCP connect() 포트스캔으로 connect() 함수를 이용하여 connect()가 성공하

면 해당 포트는 리슨 상태이고 실패하면 포트는 리슨하지 않는 것으로 단한다.

이 방법은 가장 기본 인 tcp 스캔 형태로서 root 뿐만이 아니라 일반유 들도 사용

할 수 있으며, 3-way-handshake를 형성하므로 스캔시 로그가 남게 된다.

[그림 53] nmap 스캔 결과

Page 39: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 34 -

-sU : UDP 포트 스캔방식으로서 이는 어떠한 UDP 포트가 열려있는지 스캔하고

자 할 때 사용된다. 이 방법은 각각의 포트에 UDP 패킷을 보낸후 만약 ICMP

port unreachable 메시지를 수신하면 해당 포트는 닫 있는 것이고 그 지 않으면

포트는 열려 있는 것이라고 단하는 것이다.

[그림 54] udp nmap 스캔 결과

-sP :ping 스캔방식으로 해당 네트워크에서 어떠한 호스트가 살아 있는지를 알고

싶을 때 주로 사용한다. 이 옵션을 사용할 경우 nmap은 지정한 네트워크의 모든

IP 주소로 ICMP echo request 패킷을 발송한 후 응답이 오면 해당 호스트가 네트

워크에 연결되어 있다고 단한다.

[그림 55] ping nmap 스캔 결과

-sF,-sX,-sN : 스탤스 FIN, Xmas, Null 스캔 방식으로서 SYN 패킷을 차단한 구형

방화벽을 통과하거나 스캐닝을 탐지하는 로그램들이 인식하지 못하도록 할 수 있

다. FIN 패킷을 발송하여 RST 패킷이 응답하면 해당 포트는 닫 있는 것이고, 그

지 않고 아무런 응답이 없으면 이 포트는 열린 것으로 단한다.

# 스캔 옵션

다음으로 스캔 옵션에 해 알아보자.

Page 40: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 35 -

-O : TCP/IP fingerprinting기법1)을 이용하여 원격지의 운 체제를 별한다.

아래의 경우 해당 시스템의 OS 버 정보뿐만 아니라 uptime 시각도 보여 다.

[그림 56] OS fingerprinting 스캔 결과

-p <포트범 >: 스캔할 포트를 지정한다.

포트범 ) '1-1024,1080,6666,31337'

와 같은 경우 1번부터 1024까지의 포트와 1080,6666,31337 포트를 스캔한다.

-F : /usr/local/share/nmap/nmap-services 일에 정의되어 있는 포트 스캔한다.

-v : 상세한 정보를 보여 다.

-P0 : ICMP echo requests를 차단한 방화벽등을 스캔할 때 사용한다.

기본 으로 nmap을 실행하면 상 호스트로 ping을 보내어 응답이 오지 않으면 다

운되었다고 단하여 스캔을 지하는데, 만약 ping을 차단한 곳이라면 이처럼 -P0

옵션을 주어 스캔하면 된다.

* 스캐닝 결과의 의미

nmap 으로 스캔을 하면 호스트의 포트에 한 서비스 이름과 포트번호, 상태

(state) 그리고 로토콜 등을 보여 다. 스캔의 상태인 state는 'open' 이나 'filtered'

는 'unfiltered'로 정의되는데, Open은 해당 포트가 열려있음을 의미한다. 한

Filtered는 호스트 앞단의 방화벽이나 라우터 등에서 포트가 필터링되는 상태이거나,

포트가 열려있는지에 해 알 수 없다는 것을 뜻한다.

1) fingerprinting :원격에서 OS 를 판병하는 기법으로 nmap에서 사용되는 fingerprinting

기법이 널리쓰있다

Page 41: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 36 -

* 실제 포트스캔

이제 앞에서 살펴본 여러 옵션을 가지고 직 포트 스캔을 응용해 보자.

# nmap -sS -O 192.168.1.0/24

192.168.1.10/24 네트워크, 즉 192.168.1.1부터 192.168.1.254까지 255 개의 IP 에 해

SYN 스캔을 한다. 한 -O 옵션을 설정하여 각각의 호스트가 어떠한 운 체제로

작동하는지에 해서도 질의하 다.

[그림 57] 역스캔 결과 (nmap -sS -O 11.4.8.0/24)

의 스캔 결과는 11.4.8.1 번부터 255 번까지 포트스캔 기능과 OS 기능을 사용한

화면이다.

#nmapfe

nmap GUI 버 을 실행 한다.

Page 42: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 37 -

<참고> nmapfe

nmapfe는 nmap의 front end 로젝트로 X Windows 환경에서 보다 손쉽게 nmap을 실

행하기 해 Zach Smith에 의해 만들어 졌다. 일반 버 FE include 버 이 분리되어 있

으며, 일반 으로 FE가 포함되지 않은 버 을 주로 사용하고 있다. 이 을 쓰는 시 에서

FE가 포함되는 버 에 한 구분은 다음과 같다.

Latest Stable X86 Nmap RPM : http://download.insecure.org/nmap/dist/nmap-3.81-1.i386.rpmLatest Stable X86 NmapFE RPM: : http://download.insecure.org/nmap/dist/nmap-frontend-3.81-1.i386.rpmLatest Stable Source RPM (includes NmapFE) : http://download.insecure.org/nmap/dist/nmap-3.81-1.src.rpm

[그림 58] nmapfe 실행 화면 험한 포트는 붉은색으로 표시된다

Page 43: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 38 -

Ⅵ. ethereal 을 이용한 악성 트래픽 분석

앞에서 살펴보았던 보안도구 들은 네트워크나 시스템의 취약 이나 정보 등을 수집

하는 도구이다. 이번엔 네트워크를 모니터링 하는 툴인 etheareal 에 해서 설명을

하겠다.

1. ethereal 의 기능 특징

ethereal 의 홈페이지는 http://www.ethereal.com/ 이며 이곳에서 소

스 실행화일 다운로드가 가능하다. 지 부터 알아보려는 ethereal 은 다음과 같은

기능 특징을 가지고 있다.

① ethereal 은 사용법이 쉽고 GUI 지원이 훌륭하다.

② 세계 으로 가장 리쓰이는 네트워크 모니터링 툴 에 하나이다.

STEP 1. 다운로드 설치하기

ethereal 을 설치하기 해서는 먼 libpcap 를 설치 하여야 한다.

http://www.tcpdump.org/release/libpcap-0.8.3.tar.gz

이곳에서 다운받을수 있다.

[그림 59] 다운로드 압축해제 (libpcap)

Page 44: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 39 -

libpcap 의 설치를 마친후 ethereal 홈페이지에서 최신버 을 다운로드하여 설치하

면 된다.

[그림 60] 다운로드 압축해제 (ethereal)

이후 같은 방법으로 설정하고 컴 일하면 된다.

STEP 2. ethereal 사용하기

ethereal 이라고 입력하면 다음과 같은 창이 뜬다.

<ethereal 실행 기화면>

Page 45: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 40 -

옵션 설명

-a 모니터링을 단할 조건을 정의한다.

-B 가장 아래 있는 덤 뷰의 높이를 지정한다

-b bold font 의 이름을 지정한다

-c 기본 으로 캡쳐할 패킷의 숫자를 지정해 다

-f 캡쳐할 조건을 지정한다 (bpf 사용)

-h 버젼과 옵션을 출력하고 종료한다

-i 패킷을 캡쳐할때 사용할 네트워크 인테페이스를 지정한다

-k 바로 캡쳐를 시작한다

-m 폰트이름을 지정한다

-n네트워크 객체이름( : hostname, TCP and UDP port names)을 검색하지 않게

설정한다

-P 패킷리스트 뷰바의 높이를 지정한다

-Q 패킷캡쳐를 끝내고 바로 종료하도록 한다 (-I ,-w 옵션을 먼 선언해야 한다.

-r 지정한 일로부터 packet data 를 읽어 들인다.

-R r 옵션에서 패킷을 읽어 들일 때 필터를 용해서 디스 이 한다.

-S 패킷캡쳐와 디스 에이의 로세스를 분리한다 패킷loss 율이 어든다.

-s 최 캡쳐 길이를 지정한다

-T 트리뷰의 기 높이를 지정한다

-t 시간형식을 결정한다 기본값 r 이다.

r (relative) 첫 패킷부터 지 재 패킷까지의 시간

a (absolute) 패킷을 캡쳐한 실제 날짜, 시간

d (delta)이 패킷으로부터의 경과시간

-v 버 을 출력하고 종료한다

-w 캡쳐한 결과를 장할 일 이름을 지정한다.

<참고> ethereal 상세 실행 옵션

ethereal 은 거의 모든 컨트롤이 GUI 에서 가능하기에 별로 사용할 일이 없을 수도 있다.

하지만 몇 가지 옵션이 존재하기에 간단하게 살펴보도록 하자.

# ethereal <options>

과 같이 패킷의 내용을 캡쳐하여, 분석하는데 사용이 가능하다.

Page 46: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 41 -

Ⅶ. clamav를 이용한 바이러스 방지

바이러스 개발이 활발하게 이루어지고 있으며, 최근의 인터넷 메신져를 이용한 바

이러스와 의 리 스 시스템을 공격하던 lion 바이러스 등 다양한 바이러스가

존재하고 있다. 이를 방지하기 해 안티바이러스 솔루션을 각 유 (특히, 도우

시스템 사용 유 )들은 시스템에 기본 으로 설치하여 사용하는 경우가 많이 있다.

재 다양한 안티바이러스 솔루션이 있으며, 오 소스로 이를 개발하는 로젝트도

몇몇 존재한다. 오 소스 안티바이러스 솔루션 의 하나인 clamav를 이용한 시스

템 보안에 해 간략한 사용법을 알아보도록 하겠다.

1. clamav 의 기능 특징

clamav의 홈페이지는 http://www.clamav.net이며 이곳에서 소스 실행화일 다운

로드가 가능하다. 지 부터 알아보려는 clamav은 다음과 같은 기능 특징을 가지

고 있다.

① clamav 은 사용법이 쉽고, 다양한 OS를 지원한다.

② 바이러스 업데이트가 수시로 이루어지고 있으며, 소스 변경이 자유롭다.

③ 솔루션 자체가 가벼워 시스템에 부하를 주는 일이 드물다.

STEP 1. 다운로드 설치하기

clamav 홈페이지(http://www.clamav.net/stable.php#pagestart)에서 다운로드가 가

능하며, 최신 패키지를 다운받아 컴 일을 한다.

[그림 61] clamav 일 다운로드 압축 풀기

Page 47: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 42 -

<참고> clamav의 필수 요소

ClamAV를 컴 일하기 한 필요 패키지 :

①zlib, zlib-devel packages

②gcc compiler suite (2.9x, 3.x 지원)

사용하기 한 권장 패키지 :

① bzip2, bzip2-devel library

② GNU MP 3 (바이러스 패턴 업데이트에 필요)

압축을 푼 후 인스톨을 하는 법을 알아보자. 인스톨을 하는 법이 두 가지가 있다.

크게 차이는 없으나, 유 생성 여부에 따라 틀리므로, 아래를 참고하자.

기존의 유 를 이용한 인스톨 법은 아래와 같다.

① configure 실행시 prefix와 disable 옵션을 사용한다. (기존유 를 test 라고 가정)

# ./configure --prefix=/home/test/clamav --disable-clamav

② 컴 일하여 인스톨한다.

# make; make install

다음은 유 를 생성하고 설치하는 법을 알아보자.

① clamav라는 유 와 그룹을 아래와 같이 생성한다.

# groupadd clamav# useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav

② configure를 아래와 같이 실행한다.

# ./configure --sysconfdir=/etc

③ 컴 일하여 인스톨한다.

# make# su -c "make install"

의 두가지 방법으로 설치가 가능하며, 여기서는 유 를 생성하여 설치하는 법을 알아보도록 하자.

Page 48: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 43 -

[그림 62] configure 실행

유 를 생성 후 설정 일의 디 토리 치를 /etc로 설정하여 설치를 한다. 설치가 끝나면 /etc/clamd.conf 일과 /etc/freshclam.conf 일을 자신의 환경에 맞게 수정을 해줘야 한다. 특히 example이라는 부분을 주석처리하는 것을 잊지 말자.

[그림 63] /etc/clamd.conf 일 수정

에 보는 바와 같이 설치시 Example 부분이 보이며, 이를 주석처리(#)를 해 다.주석 처리 후 장하여, 테스트 스캔을 수행하여 확인해보자.

Page 49: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 44 -

[그림 64] clamscan 테스트

설치가 제 로 되었다면, 그림과 같이 스캔 결과 요약이 확인 가능하며, scan.txt라는 결과 일을 확인할 수 있다.

일단 clamscan이 성공했다면, 다음은 자동 업데이트를 한 작업을 아래와 같이 하자.

[그림 65] 자동 업데이트 로그 일 생성

와 같이 로그 일을 생성한 후 freshclam이라는 명령어를 이용하여 업데이트를

하도록 하자. freshclam을 아래와 같이 daemon 모드로 실행을 하도록 한다.

[그림 66] freshclam 실행 확인

의 그림과 같이 업데이트를 한 freshclam와 바이러스 탐지를 해 clamd 가 실

행 임을 확인할 수 있다.

Page 50: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 45 -

Ⅷ. john the ripper을 이용한 패스워드 보안 검하기

John the repper (이하 John)는 유닉스, 도우, 도스 등 많은 랫폼에서 사용이 가

능한 매우 빠른 패스워드 검에 사용되는 툴이며, 세계 으로 가장 리 쓰이고

있다. 이 툴은 사 일 공격 무작 입 공격을 지원한다.

툴에 한 자세한 설명은 http://www.openwall.com/john/ 에서 참조하기 바란다.

1. john the ripper 의 기능 특징

john의 홈페이지는 http://www.openwall.com/john/ 이며 이곳에서 소스 실행

화일 다운로드 가 가능하다. 지 부터 알아보려는 john the ripper 는 다음과 같은

기능 특징을 가지고 있다.

① john은 사용법이 쉽고, 다양한 OS를 지원한다.

② 사 입법 뿐만 아니라 완 무차별 입법까지 지원한다.

③ 세계 으로 가장 리 쓰이는 크래킹 툴이다.

STEP 1. 다운로드 설치하기

john의 홈페이지는 http://www.openwall.com/john/ 에서 다운로드가 가능하며, 최

신 패키지를 다운받아 컴 일을 한다.

[그림 67] 일 다운로드

[그림 68] 압축 푼후 디 로리 확인

의 그림과 같이 일을 다운로드해서 압축을 풀면 와 같은 디 토리가 생성된

다.

Page 51: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 46 -

[그림 69] 설치 옵션확인

John을 설치 하기 해선 src 디 토리로 이동한후에 make 명령을 실행시키면

와 같은 make 옵션들이 나타난다. 설치한 시스템이 리 스인 계로 의 그림과

같이 "make linux-x86-any-elf" 이런 방식으로 설치를 하 다.

[그림 70] 설치 확인

의 과정을 마친후에 설치된 일을 확인하려면 run 디 토리로 이동해서 john

일을 실행하면 된다.

STEP 2. John 사용하기

john의 사용법은 설치를 마친후에 run 디 토리로 이동해서 john 일을 실행 하면

아래의 그림과 같이 여러 옵션들이 나타난다.

[그림 71] john the ripper 사용법

Page 52: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 47 -

Ⅸ. RC Firewall을 이용한 방화벽 구축하기

앞에서 살펴보았던 보안도구 들은 네크워크나 시스템의 취약 이나 정보 등을 수집

하는 도구이다. 방화벽을 구축하기 해 다양한 로그램이 존재하며, 그 에 하나

인 가장 손쉽게 구성할 수 있는 방화벽인 RC Firewall(이하 RCF)에 해서 간략하

게 알아보도록 하자.

1. Rc.Firewall 의 기능 특징

지 부터 알아보려는 ethereal 은 다음과 같은 기능 특징을 가지고 있다.

① 설치하기가 용이하고 사용법이 쉽다.

② Ipchains 기반으로 구성되어있다.

STEP 1. 다운로드 설치하기

RCF 의 홈페이지는 http://rcf.mvlan.net/dist/이며 이곳에서 소스 실행화일 다운

로드가 가능하다.

[그림 72] 일 다운로드 압축해제

[그림 73] 압축 푼후 디 로리 확인

의 과정에서 압축을 푼후 디 토리로 이동하면 설치 스크립트를 발견할수있다

Page 53: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 48 -

Rc.Firewall 의 설치는 아래그림과 같이 무척 쉽고 간단하다. 한가지 유의할 사항은

최근 리 스 배포 을 설치하면 기본 으로 Ipchain이 구동되는 경우가 있는데 이

런 경우에는 RCF와 충돌이 생기는 경우가 존재한다.

# umask 077 # make backup # make install

[그림 74] Rc.Firewall 설치하기

와 같은 방법으로 RCF를 설치할수 있다.

STEP 2. RCF 사용하기

Rc.Firewall 의 설치를 마친후에 rcf 를 실행하면 방화벽이 실행되고 기본값으로 외

부에서 들어오는 모든 패킷을 차단한다.

[그림 75] Rc.Firewall 실행하기

RCF에 한 기본 인 사용법은 아래와 같다. 자세한 사용법은 -help 를 참조하기

바란다.

#rcf --{action}-{interface}-{service}-{type} {option-value} {...}

Page 54: 공개용 보안프로그램을 활용한 취약성 점검pds11.egloos.com › pds › 200809 › 24 › 90 › 200505sw_etc.pdf · 2008-09-24 · nmap을 활용한 포트 점검.....31

- 49 -

옵션 설명

-h 는 --help 도움말을 출력한다.

-c {config-file} 는

--conf {config-file}

기본 설정값인 /etc/firewall.conf 신에 다른 설정값을 참조

한다.

)rcf -c /etc/firewall/daytime.conf

)rcf -c /etc/firewall/offhours.conf

-ri 는 --refresh-interfaces 방화벽 룰을 적용할 인터페이스를 지정한다.

--[public|private|dmz|mz]-i

nterfaces {interface} {...}방화벽룰이 적용될 대상을 지정한다.

--private-interfaces-security

[open|relaxed|strict|paranoi

d]

방화벽 룰의 오픈정도를 결정한다.

"open" 은 외부로 들어오는 모든 패킷을 허용한다.

"relaxed" 은 밖으로 나가는 모든 tcp 패킷을 허용하고 들어

오고 나가는 UDP 이 모든 패킷을 허용한다.

"strict" 은 해킹시 사용될수있는 서비스(sunrpc, rlogin,

telnet, etc.)의 아웃바운드 패키을 차단하고 모든 UDP 패

킷을 차단한다.

"paranoid" 은 모든 TCP/UDP 패킷을 차단한다.

--[public|dmz|mz]-interfaces-

security

[relaxed|strict|paranoid]

--[dmz|mz]-clusters-security

[relaxed|strict|paranoid]

-aa 는 --accept-all 모든 패킷을 허용한다.

RCF를 실행하게 되면 외부로의 모든 근이 차단된다. 모든 근을 차단한 후에 필

요한 서비스를 하나씩 열어주는 방식을 취하고 있으므로, 아래와 같이 필요한 서비

스를 하나한 열어주어 사용하도록 하자.

제 1) telnet 근을 허용 시

rcf --public-interfaces eth3 --accept-eth3-telnet-clients any/0

제 2) 외부로의 ping 근을 차단 시

rcf --public-interfaces eth3 --ignore-eth1-ping-clients any/0