Linux/모의해킹

nmap 을 이용한 포트 스캐닝

GGkeeper 2021. 12. 30. 20:32

실습> nmap을 이용한 포트 스캐닝

포트 스캐너의 종류
포트 스캐너는 포트 스캔을 할 수 있는 프로그램이다.
여러가지 포트 스캐너가 있지만 nmap은 가장 오래되고 정교하게 수정되어 온 대표적인 포트 스캐너이다.

엔맵에 의해 인지되는 6개의 포트 상태
- open (열린 상태) 
- closed (닫힌 상태)
- filtered (필터된 상태)
- unfiltered (필터되지 않은 상태)
- open|filtered (열린|필터된 상태)
- closed|filtered (닫힌|필터된 상태)

포트 스캔의 종류
- TCP 연결 (-sT)
- UDP 연결 (-sU)
- TCP SYN 스텔스 (-sS)
- TCP ACK (-sA)
- TCP FIN (-sF)
- Xmas (-sX)
- Null (-sN)
이하 생략

포트 선택 옵션 (-p)
-p 옵션이 없으면 가장 인기 있는 1000개를 스캔한다.
-p 22 , -p ssh : 단일 포트번호 or 이름
-p 22,25,80 : 여러 포트를 지정
-p 80-85,443,8000-8005 : 포트의 범위를 지정
-p 1-65535 : 전체 포트를 지정


포트란 ?
외부와 통신하기 위해서 사용되는 시스템 내부의 프로세스 또는 프로그램을 식별하기 위해 사용하는 식별 값
프로그램 설계될 때 사용할 port주소가 지정 됨
IANA에서 관리 함
http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml

Port 주소 표현
- 2byte(16bit) 크기의 10진수 한 자리로 표기
- Port 주소의 총 개수 → 2^16 = 65536개(0번 ~ 65535번)

Port 주소 구분
- 사용 목적에 따라 3가지로 분류해서 사용된다.
- 잘 알려진 포트(Well Known port) 1 ~ 1023 : 잘 알려진 서비스 프로그램용으로 예약된 주소
- 등록된 포트 (Registered Port) 1024 ~ 49151 : Online용으로 개발된 프로그램의 네트워크 통신을 위해 할당하는 주소
- 동적 포트 (Dynamic Port) 49152 ~ 65535 : 등록하지 않고 임의로 사용할 수 있는 주소

대표적인 TCP 포트 
20 : ftp-data
21 : ftp
22 : ssh
23 : telnet
25 : smtp
53 : domain
80 : http
443 : https
3306 : mysql
3389 : ms-term-server
445 : 파일/프린터 공유
139 : 파일/프린터 공유
143 : imap
110 : pop3
8080 : tomcat
  :
  :

 

TCP port scanning
Victim# iptables -F
Victim# netstat -nltp

TCP 포트 스캔
Attacker# nmap -sT 192.168.108.100

UDP 포트 스캔
Attacker# nmap -sU -p 22 192.168.108.100
Attacker# nmap -sU -p 53 192.168.108.100

 

UDP 80번 포트를 모니터링 한다.
Victim ~# tcpdump -n udp port 80  -i ens33
tcpdump: verbose output suppressed, use -v or -vv for full protocol
listening on ens33, link-type EN10MB (Ethernet), capture size 26214

 

192.168.108.100의 UDP 80번 포트로 스캔을 시도한다.
Attacker ~# nmap -sU -p 80 192.168.108.100
Starting Nmap 7.92 ( https://nmap.org ) at 2021-12-30 03:20 EST
Nmap scan report for 192.168.108.100
Host is up (0.00066s latency).

PORT   STATE  SERVICE
80/udp closed http
MAC Address: 00:0C:29:87:C2:1B (VMware)

Nmap done: 1 IP address (1 host up) scanned in 0.19 seconds

 

패킷이 한 개 생성된 것을 볼 수 있다.
Victim ~# tcpdump -n udp port 80  -i ens33
tcpdump: verbose output suppressed, use -v or -vv for full protocol
listening on ens33, link-type EN10MB (Ethernet), capture size 26214
07:58:02.899816 IP 192.168.108.102.64109 > 192.168.108.100.http: UDP, length 14