2020. 7. 6.

[network] S02 스캔


*주요 포트와 서비스

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

口 
다범뉘ng 192.168. 10.11 
Ping 192 1%.10.11 32바이= 데이터 사용 
192.16B 10.11의 용담: 바이트=32 시간<Ims TTL=64 
192.16B 10.11의 응답 바이트=32 시간(1에s TTL=84 
192.16B 10.11의 응답. 바이e=32 시간(Irns TTL=64 
192.168 10.11의 용담: 바이트=32 시간<Irns TTL=64 
192.16B 10.11에 대한 Ping 통가: 
패킷. 보냄 = 4. 받음 = 4, 손실 0 (뗘 손실), 
시간(텔긱초): 
최 소 - , 최대 ons, 균 - Oms 
다범>- 
X
전송 패킷의 길이
응답 패킷의 길이
응답시간
라우터를 지날때 마다 최초 값으로 부터 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)
fping 
FQdora 
Centos 
51-41iMux 
Win 
n map 
install 
install 
Piping 3

Fedora yum을 이용 설치하고 나머지 리눅스는 직접 컴파일한다.
  • hping ping of death 공격에 이용한다.

CutOS5 
CQnt056 
cut057 
fping 
rpmforaQ 
rpmforaQ 
QPQI 
sma 
QPQI 
QPQI 
QPQI 
npina3 
QPQI 
QPQI 
QPQI

*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 포트 스캔 패킷을 캡쳐해서 해석해 본다.

댓글 없음:

댓글 쓰기