*주요 포트와 서비스
21 -
FTP(File Transfer Protocol)
FTP 연결 시 인증과 컨트롤을 위한
포트
23 -
Telnet
서비스로서 원격지의 서버의 실행 창을 얻어낸다.
25 -
SMTP(Simple Message Transfer Protocol)
메일을
보낼 때 사용하는 서비스
53 -
DNS(Domain Name Service)
이름을
해석하는 데 사용하는 서비스
69 -
TFTP(Trivial File Transfer Protocol)
인증이
존재하지 않는 단순한 파일 전송에 사용되는 서비스
80 -
HTTP(Hyper Text Transfer Protocol )
웹
서비스
110 - POP3(Post Office Protocol)
메일
서버로 전송된 메일을 읽을 때 사용하는 서비스
111 - RPC(Sun의 Remote Procedure Call)
원격에서
서버의 프로세스를 실행할 수 있게 한 서비스
138 - NetBIOS(Network Basic Input Output Service)
윈도우에서
파일을 공유하기 위한 서비스
143 - IMAP(Internet Message Access Protocol)
POP3와 기본적으로같으나, 메일을
읽고 난 후에도 메일은 서버에 남는 것이 다르다.
161 -
SNMP(Simple Network Management Protocol)
네트워크
관리와 모니터링을 위한 서비스
*스캔이란??
스캔의
개념
• 스캔은
서비스를 제공하는 서버의 작동 여부와 제공하고 있는 서비스를 확인하기 위한 것이다. TCP 기반의 프로토콜은 기본적으로
질의 (Request)를 보내면 응답(Response)을 보낸다.
• 스캐닝은
이러한 기본적인 메커니즘에 기본 하는 것으로, 열려있는 포트, 제공하는 서비스, 동작중인
데몬의 버전, 운영체제의 버전, 취약점 등 다양한 정보를 얻어내는 것이 가능하다.
Ping
& ICMP Scan
• Ping은
네트워크와 시스템이 정상적으로 작동하는지 확인하기 위한 간단한 유틸리티로 개발되었다. ICMP(Internet Control Messaging Protocol)를 사용한다
• 각각의
네트워크는 고유한 ping이 존재하며,
일반적으로 알려진 ping은 TCP/IP 네트워크에서의 ping을
말한다.
*ICMP
scan
ICMP 스캔
• ICMP를
이용한 스캔 방법으로는 다음의 네 가지를 생각할 수 있다
- Echo Request(Type 8)과 Echo Reply(Type 0)을 이용한 방법
- Timestamp Request(Type 13)와 Timestamp Reply(Type 14)을 이용한 방법
- Information Request(Type 15)와 Information Reply(Type 16)을 이용한 방법
- ICMP Address Mask Request(Type 17)와 ICMP Address Mask Reply(Typ18)을 이용한 방법
Ping을 이용한 scan
① 전송 패킷의 길이
② 응답 패킷의 길이
③ 응답시간
④ 라우터를 지날때 마다 최초 값으로
부터 1씩 줄어든다.
• 리눅스(64), Windows(128), 솔라리스(255)…
⑤ 질의한 패킷의 개수
⑥ 응답패킷의 개수
*ICMP Type
0 Echo
Reply
1
Unassigned
2
Unassigned
3
Destination Unreachable
4 Source
Quench
5
Redirect
6
Alternate Host Address
7
Unassigned
8 Echo
9 Router
Advertisement
10 Router
Solicitation
11 Time
Exceeded
12
Parameter Problem
13
Timestamp
14
Timestamp Reply
15
Information Request
16
Information Reply
17
Address Mask Request
18
Address Mask Reply
19
Reserved (for Security)
20-29
Reserved (for Robustness Experiment)
30
Traceroute
31
Datagram Conversion Error
32 Mobile
Host Redirect
33 IPv6
Where-Are-You
34 IPv6
I-Am-Here
35 Mobile
Registration Request
36 Mobile
Registration Reply
37 Domain
Name Request
38 Domain
Name Reply
39 SKIP
40
Photuris
41 ICMP
messages utilized by
experimental
mobility protocols such
as
Seamoby
*TCP scan
TCP나 UDP를
이용한 Scan은 호스트를 대상으로 하는것이 아니라 포트를 대상으로 한다.
TCP Open
scan
- 포트가 열려있을 경우, 세션이 성립되며, 포트가 닫혀 있을 경우에는 RST+ACK 패킷을 받게 된다.
TCP Open
scan – Reverse Ident
- 세션 수립후 데몬의 프로세스의 소유자를 확인하기 위해 113번 포트를 통해 통신하는것.
Stealth
Scan – TCP Half Open
- 3W HS과정에서 RST 패킷을 이용 포트를 확인하고 connect는 생성하지 않는다.
- 세션을 확정하지 않기 때문에 로그정보를 남기지 않는다.
- 일반적인 stealth Scan은 로그를 남기지 않는것 뿐아니라 자신을 숨기는 모든 scan을 통칭한다.
Stealth Scan – FIN, NULL, XMAS 패킷을
이용한 scan
- 열린 포트에 FIN 패킷을 보내면 응답하지 않지만(응답할것이 없다.) 닫힌 포트는 RST 패킷을 응답한다.
- 이외 flag를 모두 비운 null 패킷이나 모두 채운 xmas 패킷도 동일하게 반응한다.
Stealth Scan – ACK 패킷을
이용한 scan
• 모든
포트에 ACK 패킷전송
- 열린 포트 : TTL은 64이하, Rwin size는 0 보다 큰 RST 패킷 응답
- 닫힌 포드 : TTL은 큰값(OS에 따라 다름), Rwin size는 0인 RST 패킷
• 현재
까지 매우 유용한 방법
*UDP scan
UDP는 3W HS하지
않음으로 열린 포트의 경우 응답이 없지만 닫힌 경우 ICMP
unreachable 패킷을 반송한다.
*다양한 Scanner 설치
스캐너 : fping, hping3,
sing, nmap
Os 지원(리눅스 yum)
Fedora는 yum을
이용 설치하고 나머지 리눅스는 직접 컴파일한다.
- hping은 ping of death 공격에 이용한다.
*fping
fping을 이용한 시스템 스캔
# fping
-h
# fping
ip ip ip ….
# fping
–g ip/netmask
ex)
# fping
1.1.10.121 1.1.1.3 1.1.10.122
# fping
-g 1.1.1.0/24
*sing
ICMP를 이용 다양한 정보 scan
# sing –h
# sing IP –c [패킷수] –[tstamp, info, mask]
ex)
# sing –c
10 192.168.10.1
주의) 실습 전 각 리눅스 시스템간에 시간을 일치 시킨다.
# rdate
-s time.bora.net
*nmap
다양한 방법으로 scan을 제공한다.
# nmap [-옵션] <IP>
ex)
# nmap
-sS 192.168.10.*
• TCP 하프
연결을 이용해서 Stealth 모드로 스캔한다.
# nmap
-sU 192.168.10.*
• UDP 스캔
# nmap
-sP -P0 -PS 192.168.10.0/24
• C 클래스
전체에 Ping Sweeping (ICMP ping 금지,
TCP SYN 사용)
# nmap
-sS –p 21 192.168.10.*
• 21번
포트의 서비스 여부 확인
# nmap
-sS -S 192.168.10.100 -e eth0 -PN 192.168.10.1
• 자신의 ip를 192.168.10.100 으로 속여 스캐닝
*실습 - nmap
옵션
*문제
RedHat,
CentOS,Sulinx 의 설치 환경에서 nmap의
옵션중에 사용가능한 옵션이 어떤것이 있는지 확인해 본다.
닫힌 포트와 열린 포트에 대한 TCP,
UDP 포트 스캔 패킷을 캡쳐해서 해석해 본다.
댓글 없음:
댓글 쓰기