제 목 : 포트 스캔 툴(nmapwin)의 활용
TRANSCRIPT
컴퓨터바이러스 해킹론 Report 17 - 1
과 정 : 한남 정보산업 학원 정보보호학과
교과목 : 컴퓨터바이러스 해킹론
교수님 : 임채호 박사님
학 번 : 20057011
성 명 : 송 완
제 목 : 포트 스캔 툴(NMapWin)의 활용
1. 개 요
NMAP 이란?
Network Mapper의 약자이다. 용도는 바로 스캐 이다. 주 용도가 스캐 이기 때문
이다. 하지만 각종 보안 사이트와 시스템 리자를 설명하는 문서나 페이지에서는
빠지지 않는 단골 손님이기도 하다.
스캔도구로는 수퍼스캔이나 오메가스캐 등 여러 로그램이 존재하지만 스캐
의 최강의 자리를 아직도 굳히고 있는 것은 바로 NMap이다. NMap은 원래
UNIX/LINUX용으로 먼 개발되어 사용되다가 재는 Windows용으로 개발되어
많이 활용되고 있다.
이 로그램은 단순히 스캐 라기 보다는 OS 탐지기로 더욱 악명을 떨친다. 즉 해
킹을 시도할 때는 무엇보다도 정보수집이 최우선이다. NMap은 바로 해당 시스템
의 OS를 거의 정확하게 탐지하게 해주는 것이다. 리 스의 경우는 운 커 버 까
지 탐지할 정도이다. 왜 OS탐지가 그 게 요한가? 해킹시에 가장먼 도우 서
컴퓨터바이러스 해킹론 Report 17 - 2
버인지 유닉스 서버인지를 알아야 버그나 공격툴을 찾아가기 때문이다. 도우 ftp
서버에 유닉스용 서버인 wu-ftp에 한 버그 공격을 하는 짓과 같기 때문이다. 이
런 을 보안에서 역이용해서 도우 서버이지만 유닉스 서버처럼 보이게끔 가장하
기도 한다. 수퍼스캐 로 간단히 OS탐지를 할 수 있다. 바로 도우서버들은
135/139라는 포트를 사용한다. NetBeui포트이다. 리 스에 삼바를 깔면된다고???
삼바는 CIFS기반인 445포트를 사용한다. 도우 한 445포트를 사용한다.. 한 수
퍼 스캔 자체가 “해당서버는 도우입니다.”라고 말해 주지 않는다. 하지만 NMap
은 얘기해 다.
지 까지 입에 침이 마르도록 설명하는 것은 GNU소 트웨어이다. 일단 복잡한 것을 제
거하면 무료소 트웨어이다. 하지만 기능은 어떠한 상용제품도 추격을 불허할 정도이다.
NMAP은 Port Scanning 툴로서 호스트나 네트워크를 스캐닝 할 때, 아주 유용한
시스템 보안툴인 동시에, 해커에게는 강력한 해킹툴로 사용될 수 있습니다.
서버를 운 하다 보면 리자 스스로도 어떤 포트가 열려있고, 어떤 서비스가
제공 인지 잘 모를때가 있습니다. 기억력이 나빠서나, 게을러서가 아니라 필요에
의해 자주 변경되므로 수시로 악해서 기록해두지 않으면 잊어버리게 됩니다.
크래킹에 의해 생성된 백도어는 악하기가 어렵습니다.
수 많은 포트와 서비스를 효과 으로 체크해서 리하기 해서 NMAP과 같은 포
트 스캔 툴이 필요합니다.
NMAP은 기존의 포트스캔툴에 비해 다양한 옵션과 방화벽 안쪽의 네트웍도 스캔
할 수 있는 강력한 기능이 있습니다.
컴퓨터바이러스 해킹론 Report 17 - 3
2. NMap의 설치
사 비
다운로드 홈페이지 : http://www.insecure.org/nmap
다운받은 일을 실행하면 압축해제됩니다.
압축해제된 두개의 실행 일 , Winpcap.exe 를 먼 실행한 후,
nmapwin_1.3.1.exe 를 실행해야 정상 으로 동작합니다.
그림 1 설치 기화면
그림 2 설치 간 화면
컴퓨터바이러스 해킹론 Report 17 - 4
간과정 생략.......
그림 3 설치 완료 화면
컴퓨터바이러스 해킹론 Report 17 - 5
3. NMap의 실행
설치완료후 시작-> 로그램->NMapWin메뉴에서 NMapWin을 르면 실행된다.
그림 5 시작 메뉴
그림 6 기 실행화면
컴퓨터바이러스 해킹론 Report 17 - 6
Nmap의 기 실행 화면이다.
간단한 사용법은 쉬운 편이다. 모두 기본값을 사용하면 된다. 기본값이 마음이 안들
어서 바꾸는 것이 바로 옵션이다. 기본값은 디폴트라 부르고 그 이름을 부르는 이
유가 있는 것이다. 해당 로그램의 용도에 가장 합하다는 것을 기본값으로 실행
하게 한 것이기 때문이다. 단지 Host부분에 IP주소나 도메인명(호스트명)을 기록한
연후에 “Scan"버튼만 러주면
하단의 ”Output“창에 결과물이 나오는 것이다.
그림 8 디폴트 실행 결과 화면
컴퓨터바이러스 해킹론 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이라는 래그를 세 한 패킷을 날
컴퓨터바이러스 해킹론 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라는 로그램이 있다.
컴퓨터바이러스 해킹론 Report 17 - 9
별게 아니다. 스캐닝이 감지되면 스캐닝의 패킷을 분석해서 소스주소를
/etc/hosts.deny라는 일에 기록해서 근 자체를 막는 것이다. 그럼 원본 주소
를 고치면 ?
그래서 Source Address라는게 존재하고 WinCap이라는 패킷드라이버를 설치한
것이다. 이와 같이 해킹 도구이지 리도구인지를 결정하는 것은 본인 자신이다.
나. Discover
그림 10 Discover 선택 화면
컴퓨터바이러스 해킹론 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 선택 화면
컴퓨터바이러스 해킹론 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 일에 근거해서 유명한 포트를 검색하는
것이다.
컴퓨터바이러스 해킹론 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 일보다 더 자세하게 나온다. 해당 포트에
한 설명이다.
컴퓨터바이러스 해킹론 Report 17 - 13
※ 다음은 nmap-services 일의 내용 1-50포트 까지의 내용을 기술하 다.
컴퓨터바이러스 해킹론 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
컴퓨터바이러스 해킹론 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탐지와 같은
조사 하는 것을 핑거 린 한다고 말한다.
컴퓨터바이러스 해킹론 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 일 >
컴퓨터바이러스 해킹론 Report 17 - 17
6. 맺음말
이상으로 NMap에 한 것을 몇 가지 를 통해 사용법을 알아 보았습니다.
가장 자세한 설명은 제작사의 홈페이지의 Document부분을 참고 바랍니다.
NMap 툴을 사용함에 있어 주의할 사항은 자신이 직 리하지 않는, 호스트나
네트웍에서 테스트를 하는 것은 아주 무례한 행동이며, 리가 엄격한 사이트의 경
우 속 제한은 당하는 경우도 있으므로 바람직하지 않은 방법으로 사용하는 일이
없길 바랍니다.