포트 스캔( Port Scan ) 이란?
운영 중인 서버에서 열려 있는 TCP/UDP 포트를 검색하는 것을 의미하며, 다른 말로는 해당 네트워크를 돌면서 살아있는 호스트,포트를 찾는 것을 의미하는 Sweep로 불리기도 한다. 포트스캐닝은 자신의 서버 취약점을 진단하기 위해서도 사용할 수 있지만 불법적인 스캔을 통한 해킹의 수단이 되기도 한다.
대표적인 도구로 NMAP이 존재하는데 따로 설치하지 않고 Kali에 있는 namp 스캔 도구를 활용하여 실습을 진행하였다.
1. Ping scan
- 네트워크에 ping을 보내서 응답하는 시스템을 분석한다. ----> 현재 켜져있는 시스템의 IP를 알 수 있다.
$ sudo nmap -sP 192.168.5.1-140
192.168.5.1 : host 컴퓨터 (Windows10)
192.168.5.2 : VMware의 Gateway (외부로 통하는 IP주소)
192.168.5.130 : Metasploitable2 (Victim)
192.168.5.132 : Kali Linux (Attacker)
* Metasploitable2
여기서 Metasploitable2란 침두당하는 쪽에서 만든 서버이며 의도적으로 취약하게 만든 VM이다. 쉽게 말해 모의 침투 연습용이라고 생각하면 된다.
기본 아이디/비밀번호는 msfadmin이다.
$ sudo nmap -sP 192.168.5.0/24 --> 192.168.5.0 네트워크 전체를 조사함 (1~254)
2. TCP scan
- 열려있는 TCP 포트를 찾는 스캐닝 기법
- 3-Way Handshaking을 완성하는 방식을 사용하므로 로그에 기록이 남게됨
혹시나 로그인과 관련된 서비스를 찾으면, Dictionary Attack을 시도할 수 도 있다.
3. Stealth scan (Half-Open scan이라고도 함)
- 3-Way Handshaking에서 마지막 ACK를 보내지 않는 기법, 로그에 기록이 남지 않음
- 앞에 있는 방화벽 등의 보안 솔루션에서 탐지 됨
- 결과는 TCP scan과 동일함, 가장 많이 사용되는 스캔이다.
$ sudo nmap -sS 192.168.5.130
4. Version scan
- 버전을 확인하는 스캐닝 기법 ----> 취약점이 존재하는 버전이 설치되었는지 확인할 수 있음
- 구글에 검색해서 취약점이 존재하는지 확인 할 수 있음.
$ sudo nmap -sV 192.168.5.130
5. OS scan
- 운영체제의 상세한 내용을 조사하는 스캔
$ sudo nmap -O 192.168.5.130
결과가 2.6.9 ~ 2.6.33 사이임을 확인할 수 있다.
Metasploitable2에서 확인해보니 2.6.24임을 확인할 수 있음.
6. 엉터리 스캔
- TCP/IP로직에 맞지 않는 스캐닝을 해보는 것 ----> Stealth scan 이라고도 함
- 목적 : 보안 솔루션이 동작하고 있는지를 확인하는 스캐닝
- 포트가 열려 있는 경우 : 응답을 하지 않음 (정의된 응답 방법이 없음)
- 포트가 닫혀 있는 경우 : RST를 보냄
- 그런데, 보안 솔루션이 존재하는 경우, 포트가 닫혀 있더라도 응답을 하지 않게 됨 (보안 솔루션이 응답을 차단하기 때문)
- 결과는 TCP scan, Stealth scan과 유사함
1) FIN scan (FIN은 finish를 의미하는데 종료를 요청하는 것)
$ sudo nmap -sF 192.168.5.130
2) Null scan (TCP Flag를 모두 Off해서 보냄)
$ sudo nmap -sN 192.168.5.130
3) X-mas scan (TCP Flag중에 URG/PSH/FIN 만 켜서 보냄) ----> 크리스마스에는 전등을 꺼내서 등을 켭니다.
$ sudo nmap -sX 192.168.5.130
==> 어떤 포트에서도 응답이 없다면 보안 솔루션이 중간에서 Cut 하고 있음 ---> 모니터링하고 있음...
cf. TCP Flag의 순서 : UAPRSF (URG, ACK, PSH, RST, SYN, FIN)
---> X-mas의 경우 101001 상태로 보냄, Null의 경우 000000, FIN의 경우 000001, SYN : 000010
---> 각자리가 0인 경우는 비활성화, 1인 경우 활성화
7. All scan
- OS + Version + Traceroute + Script 를 한번에 스캐닝하는 기법 --> 시스템에 대한 전반적인 점검
- 시간이 오래 걸릴 수 있다.
- 주로 취약점 점검할 때 전체적으로 파악할 필요가 있을 때 사용함
- 시간을 줄이기 위한 옵션이 필요함 ----> -Tn : n은 0부터 6까지, 숫자가 클수록 속도 빨라진다.
'네트워크 및 시스템' 카테고리의 다른 글
HxD란? (0) | 2024.04.04 |
---|---|
서버 버전 취약점 공격 실습 (0) | 2024.03.30 |
Wire shark 실습 (0) | 2024.03.26 |
OSI 7 계층 및 TCP, UDP (0) | 2024.03.25 |
리눅스 명령어 (0) | 2024.03.25 |