제 목 : 포트 스캔 툴(nmapwin)의 활용

17
컴퓨터바이러스 해킹론 Report 17 - 1 정 : 한남대 정보산업대학원 정보보호학과 교과목 : 컴퓨터바이러스 해킹론 교수님 : 임채호 박사님 번: 20057011 명 : 송대완 제 목 : 포트 스캔 툴(NMapWin)의 활용 1. 개 NMAP 이란? Network Mapper의 약자이다. 용도는 바로 스캐너이다. 주 용도가 스캐너이기 때문 이다. 하지만 각종 보안 사이트와 시스템 관리자를 설명하는 문서나 페이지에서는 빠지지 않는 단골 손님이기도 하다. 스캔도구로는 수퍼스캔이나 오메가스캐너 등 여러 프로그램이 존재하지만 스캐너 최강의 자리를 아직도 굳히고 있는 것은 바로 NMap이다. NMap은 원래 UNIX/LINUX용으로 먼저 개발되어 사용되다가 현재는 Windows용으로 개발되어 많이 활용되고 있다. 이 프로그램은 단순히 스캐너라기 보다는 OS 탐지기로 더욱 악명을 떨친다. 즉 해 킹을 시도할 때는 무엇보다도 정보수집이 최우선이다. NMap은 바로 해당 시스템 의 OS를 거의 정확하게 탐지하게 해주는 것이다. 리눅스의 경우는 운영커널버전까 지 탐지할 정도이다. 왜 OS탐지가 그렇게 중요한가? 해킹시에 가장먼저 윈도우 서

Upload: others

Post on 28-Jul-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 제 목 : 포트 스캔 툴(NMapWin)의 활용

컴퓨터바이러스 해킹론 Report 17 - 1

과 정 : 한남 정보산업 학원 정보보호학과

교과목 : 컴퓨터바이러스 해킹론

교수님 : 임채호 박사님

학 번 : 20057011

성 명 : 송 완

제 목 : 포트 스캔 툴(NMapWin)의 활용

1. 개 요

NMAP 이란?

Network Mapper의 약자이다. 용도는 바로 스캐 이다. 주 용도가 스캐 이기 때문

이다. 하지만 각종 보안 사이트와 시스템 리자를 설명하는 문서나 페이지에서는

빠지지 않는 단골 손님이기도 하다.

스캔도구로는 수퍼스캔이나 오메가스캐 등 여러 로그램이 존재하지만 스캐

의 최강의 자리를 아직도 굳히고 있는 것은 바로 NMap이다. NMap은 원래

UNIX/LINUX용으로 먼 개발되어 사용되다가 재는 Windows용으로 개발되어

많이 활용되고 있다.

이 로그램은 단순히 스캐 라기 보다는 OS 탐지기로 더욱 악명을 떨친다. 즉 해

킹을 시도할 때는 무엇보다도 정보수집이 최우선이다. NMap은 바로 해당 시스템

의 OS를 거의 정확하게 탐지하게 해주는 것이다. 리 스의 경우는 운 커 버 까

지 탐지할 정도이다. 왜 OS탐지가 그 게 요한가? 해킹시에 가장먼 도우 서

Page 2: 제 목 : 포트 스캔 툴(NMapWin)의 활용

컴퓨터바이러스 해킹론 Report 17 - 2

버인지 유닉스 서버인지를 알아야 버그나 공격툴을 찾아가기 때문이다. 도우 ftp

서버에 유닉스용 서버인 wu-ftp에 한 버그 공격을 하는 짓과 같기 때문이다. 이

런 을 보안에서 역이용해서 도우 서버이지만 유닉스 서버처럼 보이게끔 가장하

기도 한다. 수퍼스캐 로 간단히 OS탐지를 할 수 있다. 바로 도우서버들은

135/139라는 포트를 사용한다. NetBeui포트이다. 리 스에 삼바를 깔면된다고???

삼바는 CIFS기반인 445포트를 사용한다. 도우 한 445포트를 사용한다.. 한 수

퍼 스캔 자체가 “해당서버는 도우입니다.”라고 말해 주지 않는다. 하지만 NMap

은 얘기해 다.

지 까지 입에 침이 마르도록 설명하는 것은 GNU소 트웨어이다. 일단 복잡한 것을 제

거하면 무료소 트웨어이다. 하지만 기능은 어떠한 상용제품도 추격을 불허할 정도이다.

NMAP은 Port Scanning 툴로서 호스트나 네트워크를 스캐닝 할 때, 아주 유용한

시스템 보안툴인 동시에, 해커에게는 강력한 해킹툴로 사용될 수 있습니다.

서버를 운 하다 보면 리자 스스로도 어떤 포트가 열려있고, 어떤 서비스가

제공 인지 잘 모를때가 있습니다. 기억력이 나빠서나, 게을러서가 아니라 필요에

의해 자주 변경되므로 수시로 악해서 기록해두지 않으면 잊어버리게 됩니다.

크래킹에 의해 생성된 백도어는 악하기가 어렵습니다.

수 많은 포트와 서비스를 효과 으로 체크해서 리하기 해서 NMAP과 같은 포

트 스캔 툴이 필요합니다.

NMAP은 기존의 포트스캔툴에 비해 다양한 옵션과 방화벽 안쪽의 네트웍도 스캔

할 수 있는 강력한 기능이 있습니다.

Page 3: 제 목 : 포트 스캔 툴(NMapWin)의 활용

컴퓨터바이러스 해킹론 Report 17 - 3

2. NMap의 설치

사 비

다운로드 홈페이지 : http://www.insecure.org/nmap

다운받은 일을 실행하면 압축해제됩니다.

압축해제된 두개의 실행 일 , Winpcap.exe 를 먼 실행한 후,

nmapwin_1.3.1.exe 를 실행해야 정상 으로 동작합니다.

그림 1 설치 기화면

그림 2 설치 간 화면

Page 4: 제 목 : 포트 스캔 툴(NMapWin)의 활용

컴퓨터바이러스 해킹론 Report 17 - 4

간과정 생략.......

그림 3 설치 완료 화면

Page 5: 제 목 : 포트 스캔 툴(NMapWin)의 활용

컴퓨터바이러스 해킹론 Report 17 - 5

3. NMap의 실행

설치완료후 시작-> 로그램->NMapWin메뉴에서 NMapWin을 르면 실행된다.

그림 5 시작 메뉴

그림 6 기 실행화면

Page 6: 제 목 : 포트 스캔 툴(NMapWin)의 활용

컴퓨터바이러스 해킹론 Report 17 - 6

Nmap의 기 실행 화면이다.

간단한 사용법은 쉬운 편이다. 모두 기본값을 사용하면 된다. 기본값이 마음이 안들

어서 바꾸는 것이 바로 옵션이다. 기본값은 디폴트라 부르고 그 이름을 부르는 이

유가 있는 것이다. 해당 로그램의 용도에 가장 합하다는 것을 기본값으로 실행

하게 한 것이기 때문이다. 단지 Host부분에 IP주소나 도메인명(호스트명)을 기록한

연후에 “Scan"버튼만 러주면

하단의 ”Output“창에 결과물이 나오는 것이다.

그림 8 디폴트 실행 결과 화면

Page 7: 제 목 : 포트 스캔 툴(NMapWin)의 활용

컴퓨터바이러스 해킹론 Report 17 - 7

4. NMap의 활용법

가. Scan Mode Scan Options

그림 9 Scan Mode Options 선택 화면

- 주로 사용하는 Mode로는 아래와 같은 것이 있다

․Connect : 일반 인 TCP 포트스캐닝

․SYN Stealth : 이른바 'half-open' 스캔으로 추 이 어렵다

․Ping Sweep : ping 을 이용한 일반 인 스캔.

․UDP Scan : UDP 포트 스캐닝

- 이 에서도 SYN Stealth가 가장 많이 사용되므로 이를 알아보자

SYN이란 것은 TCP에서 3단계 속을 한다.

맨처음 나랑 놀자라는 속시도가 바로 SYS이라는 래그를 세 한 패킷을 날

Page 8: 제 목 : 포트 스캔 툴(NMapWin)의 활용

컴퓨터바이러스 해킹론 Report 17 - 8

리는 것이다. 충 설명하면 패킷에는 소스주소/ 상주소/ 래그/옵션/데이터 이

런식의 구조이다. 상주소로 라우터를 거쳐서 찾아가는 (라우 )것과 찾아가서

무엇을 할지( 래그)와 되돌려 보낼 자료(소스주소)로 구성되는 것이다.

래그에서는 SYN / ACK /NAK /RST / FIN 등이 있다.

SYN은 동기화 시도 / ACK는 통지 신호 / NAK는 통지를 못받았다 / RST 못

받았으니 다시 보내라 / FIN 끝났다 등인 것이다. 이외에도 순차번호라는 것을

기 으로 한다. 이 순차 번호가 바로 해커들이 노리는 것이다.

그 에서도 캐빈미트닉이 사용해서 유명한 것이다. 순차번호는 난수 기반으로 알

수 없다. 하지만 측해서 소스/데스티네이션/ 래그/데이터+정상 인 순차번호만

세 해서 패킷을 자기한테로 오게 만드는 것이다. 이게 바로 세션하이재킹이다.

SYN->ACK->SEQ+ACK라는 3단계 속을 하게 된다. 스텔스 스캔이라고 생각

하면 된다.

- 우측의 Scan Options에 한 설명

․Port Range : 상 호스트의 특정 포트를 스캔하거나, 스캔할 포트의 범 를

지정한다. .

ex) 1-1024

포트번호는 16bit를 할당한다. 즉, 1-165535번 포트까지 있는 것이다.

NMap의 기본값은 모조리 속해 보는 것이다......( 무 시간이 많이 걸린다.)

1024포트 이하는 루트포트 혹은 알려진 포트이므로 주로 검색 상은 1024보다

아래일 것이다.

보통 1-200정도로 줘도 ftp / telnet / ssh / smtp / pop3 / imap / http 등의 서

비스를 알수 있다.

․Use Decoy : Decoy 기능으로 상 호스트에게 스캔을 실행한 호스트의 주소를

속인다.

․Source Address : 원본 주소를 수정한다(추 방지)

NMap이 워낙 유명해서 유닉스 계열에서는 PortSentery라는 로그램이 있다.

Page 9: 제 목 : 포트 스캔 툴(NMapWin)의 활용

컴퓨터바이러스 해킹론 Report 17 - 9

별게 아니다. 스캐닝이 감지되면 스캐닝의 패킷을 분석해서 소스주소를

/etc/hosts.deny라는 일에 기록해서 근 자체를 막는 것이다. 그럼 원본 주소

를 고치면 ?

그래서 Source Address라는게 존재하고 WinCap이라는 패킷드라이버를 설치한

것이다. 이와 같이 해킹 도구이지 리도구인지를 결정하는 것은 본인 자신이다.

나. Discover

그림 10 Discover 선택 화면

Page 10: 제 목 : 포트 스캔 툴(NMapWin)의 활용

컴퓨터바이러스 해킹론 Report 17 - 10

구 분 설 명

Don't Ping상 호스트에 한 ping 응답을 요청하지 않음

log 기록과 filtering 을 피할 수 있다

TCP Ping일반 이 ICMP ping이 아닌 ACK 패킷으로 ping 을 보내고

RST 패킷으로 응답을 받는다.

ICMP Ping일반 인 ICMP ping 으로 방화벽이나 필터링에 의해

걸러진다

TCP+ICMP ping 을 할 때 ICMP ping 과 TCP ping을 동시에 이용한다

다. Options

그림 11 Options 선택 화면

Page 11: 제 목 : 포트 스캔 툴(NMapWin)의 활용

컴퓨터바이러스 해킹론 Report 17 - 11

구 분 설 명

Get Identd Info TCP 로세서의 identd 정보를 가져온다.

Resolve all

IP와 이름의 매칭을 뜻한다. 한 포트번호와 서비스 한

리졸빙을 한다. 뭔가 매칭을 시켜주는 것을 리졸버라고

부른다. 인터넷은 도메인=IP이므로 DNS라고 부른것이다.

OS Detection

Data 디 토리의 os-fingerprints 일을 사용하지 않는다.

그러므로 OS는 통밥으로 해야 한다. 하지만 NMap의

주장 이 OS탐지이므로 기본값에 체크인 되어 있다.

Fast Scan

1-65535 무식하게 스캐닝 하는 것이 아니고 service 에

근거한 포트만을 검색하는 옵션이다.

무슨 말인가 하면, 만약에 서버에 21번 포트에서 FTP 속을

기다리다가 클라이언트가 속하게 되면 서버 측에서 21번

포트로는 통신하지 않는다. 그 게 되면 다른 사용자가 오지

못하게 되지 않겠는가...그래서 로컬포트를 열어서 그 포트와

클라이언트 포트를 짝지워 주게 되며, 21번 포트는 다시

기하는 것이다. 그래서 Nmap의 무식한 모조리 옵션으로

스캔하게 된다면 로컬 생성 포트도 검색하게 해서

혼란스러울 것이다. 그래서 FastSCan이라는 옵션은 Data

디 토리의 Service 일에 근거해서 유명한 포트를 검색하는

것이다.

Page 12: 제 목 : 포트 스캔 툴(NMapWin)의 활용

컴퓨터바이러스 해킹론 Report 17 - 12

5. NMap의 원리

Nmap의 강력함은 어디에서 나오는 것일까? 바로 데이터 일이 뒷받침 해 주기 때

문이다.

기본 으로 설치한 상태라면 c:\Program files\nmapwin이라는 곳에 설치가 되었을

것이다. 해당폴더에는 bin / data / log / help 라는 폴더가 존재한다.

그림 12 NMapWin의 폴더 구성

bin은 binary라는 뜻으로 실행 일이 들어 있다. 단지 3개가 들어 있을 것이다.

nmap 로그램과 서비스로 등록시켜주는 서비스 리 로그램이 그것일 것이다.

해당원리는 이 다. nmap For Win이라는 FrontEnd 로그램에서 데이터를 입력

받아서 커맨드 툴인 nmap.exe에게 넘겨 후 Data 디 토리의 각종 데이터 일에

근거하여 탐지(Detection)를 실행 하는 것이다.

Nmap은 유닉스나 도우에서 동일하게 해당 시스템의 포트별로 7단계의 속을

통해서 해당 시스템 서비스를 탐지하는 것이다. 즉, 데이터 디 토리의 일을

유심히 살펴보면 네트워크에 한 지식이 늘어날 것이다.

특히 service 일은 도우의 service 일보다 더 자세하게 나온다. 해당 포트에

한 설명이다.

Page 13: 제 목 : 포트 스캔 툴(NMapWin)의 활용

컴퓨터바이러스 해킹론 Report 17 - 13

※ 다음은 nmap-services 일의 내용 1-50포트 까지의 내용을 기술하 다.

Page 14: 제 목 : 포트 스캔 툴(NMapWin)의 활용

컴퓨터바이러스 해킹론 Report 17 - 14

# This list of services is from the

# Nmap security scanner ( http://www.insecure.org/nmap/ )

#

# For a HUGE list of services (including these and others),

# see http://www.graffiti.com/services

tcpmux 1/tcp # TCP Port Service Multiplexer [rfc-1078]

tcpmux 1/udp # TCP Port Service Multiplexer

compressnet 2/tcp # Management Utility

compressnet 2/udp # Management Utility

compressnet 3/tcp # Compression Process

compressnet 3/udp # Compression Process

rje 5/tcp # Remote Job Entry

rje 5/udp # Remote Job Entry

echo 7/tcp #

echo 7/udp #

discard 9/tcp # sink null

discard 9/udp # sink null

systat 11/tcp # Active Users

systat 11/udp # Active Users

daytime 13/tcp #

daytime 13/udp #

netstat 15/tcp #

qotd 17/tcp # Quote of the Day

qotd 17/udp # Quote of the Day

msp 18/tcp # Message Send Protocol

msp 18/udp # Message Send Protocol

chargen 19/tcp # ttytst source Character Generator

chargen 19/udp # ttytst source Character Generator

Page 15: 제 목 : 포트 스캔 툴(NMapWin)의 활용

컴퓨터바이러스 해킹론 Report 17 - 15

Data 디 토리에서 NMap-OS-FingerPrints 일 에서 Windows XP Home

Edition 은 아래와 같이 작성 되어 있다.

# TEST DESCRIPTION:

# Tseq is the TCP sequenceability test

# T1 is a SYN packet with a bunch of TCP options to open port

# T2 is a NULL packet w/options to open port

# T3 is a SYN|FIN|URG|PSH packet w/options to open port

# T4 is an ACK to open port w/options

# T5 is a SYN to closed port w/options

# T6 is an ACK to closed port w/options

# T7 is a FIN|PSH|URG to a closed port w/options

# PU is a UDP packet to a closed port

Fingerprint Windows XP Home Edition

TSeq(Class=RI%gcd=<6%SI=<23C4E&>330%IPID=I%TS=U)

T1(DF=Y%W=F424%ACK=S++%Flags=AS%Ops=MNW)

T2(Resp=Y%DF=N%W=0%ACK=S%Flags=AR%Ops=)

T3(Resp=Y%DF=Y%W=F424%ACK=S++%Flags=AS%Ops=MNW)

T4(DF=N%W=0%ACK=O%Flags=AR%Ops=)

T5(DF=N%W=0%ACK=S++%Flags=AR%Ops=)

T6(DF=N%W=0%ACK=O%Flags=AR%Ops=)

T7(DF=N%W=0%ACK=S++%Flags=AR%Ops=)

PU(DF=N%TOS=0%IPLEN=38%RIPTL=148%RID=E%RIPCK=E%UCK=E

%ULEN=134%DAT=E)

< NMap-OS-FingerPrints 일 >

OS-FingerPrints 일은 OS지문 정도로 해석되지만 보안에서는 OS탐지와 같은

조사 하는 것을 핑거 린 한다고 말한다.

Page 16: 제 목 : 포트 스캔 툴(NMapWin)의 활용

컴퓨터바이러스 해킹론 Report 17 - 16

핑거 린 이외에도 포트를 막거나 시스템을 막는것을 필터링한다고 하며, 다른말

로는 스크리닝 이라고 한다. 즉, 모두 리스트 일(규칙)을 근거로 통과 시킬지 말

지를 결정하는 것이 보안의 건이다.

로토콜과 서비스 일

NMap은 21번 포트를 스캐닝할 때는 TCP/IP 3단계 속방식에 근거해서 7단계

속을 시도하고, 로토콜 일에서 TCP임을 알아내고, 서비스 일에서 FTP임을

알아내는 식이다.

# This list of protocols is distributed with the

# Nmap Security Scanner ( http://www.insecure.org/nmap/ )

#

# This was created by Gerhard Rieger - privat <[email protected]>

# based on IANA docs per 2000/05/28 . Gerhard was the initial author of

# the Nmap IP protocol scanning code.

hopopt 0 HOPOPT # IPv6 Hop-by-Hop Option

icmp 1 ICMP # Internet Control Message

igmp 2 IGMP # Internet Group Management

ggp 3 GGP # Gateway-to-Gateway

ip 4 IP # IP in IP (encapsulation)

st 5 ST # Stream

tcp 6 TCP # Transmission Control

cbt 7 CBT # CBT

egp 8 EGP # Exterior Gateway Protocol

igp 9 IGP # any private interior gateway

bbn-rcc-mon 10 BBN-RCC-MON # BBN RCC Monitoring

< NMap-protocols 일 >

Page 17: 제 목 : 포트 스캔 툴(NMapWin)의 활용

컴퓨터바이러스 해킹론 Report 17 - 17

6. 맺음말

이상으로 NMap에 한 것을 몇 가지 를 통해 사용법을 알아 보았습니다.

가장 자세한 설명은 제작사의 홈페이지의 Document부분을 참고 바랍니다.

NMap 툴을 사용함에 있어 주의할 사항은 자신이 직 리하지 않는, 호스트나

네트웍에서 테스트를 하는 것은 아주 무례한 행동이며, 리가 엄격한 사이트의 경

우 속 제한은 당하는 경우도 있으므로 바람직하지 않은 방법으로 사용하는 일이

없길 바랍니다.