network

Null 스캔 & FIN 스캔

zz! 2025. 6. 10. 10:04
728x90

NULL 스캔

TCP 헤더에는 SYN, ACK, FIN, RST 등의 플래그 비트가 있습니다. Null 스캔은 미 모든 플래그를 0으로 설정하여 패킷을 전송합니다. 이러한 비정상적인 패킷은 방화벽이나 IDS의 탐지 규칙을 우회할 가능성이 있습니다.

 

Kali

sudo nmap -sN IP주소

wireshark에서 확인을 해보면 다음과 같습니다.

먼저 필터링을 설정을 합니다.

tcp.flags == 0 and ip.dst == 192.168.0.100

다시 nmap을 통해 null 스캔을 하면 다음과 같습니다.

 

iptables 을 통해 null 스캔 차단하고 log 남기기

#sudo iptables -I INPUT -p tcp --tcp-flags ALl NONE -j LOG --log-prefix "NULL_SCAN_DETECTED: "

#sudo iptables -I INPUT -p tcp --tcp-flags ALL NONE -j DROP

#iptables -nL 명령어를 통해서 규칙을 확인합니다.

로그 모니터링을 확인하기 위해 명령어를 실행합니다.

다시 칼리에서 null 포트 스캔을 시도를 합니다.

로그를 확인해보면 다음과 같습니다.

 

FIN 스캔

TCP 패킷의 FIN 플래그만 활성화하여 대상 시스템의 포트를 스캔하는 기술이다. 정상적인 TCP 연결 종료 과정에서 FIN 패킷은 연결을 종료하겠다는 신호로 사용합니다. FIN 스캔은 이전에 연결을 맺지 않은 상태에서 FIN 패킷을 보내는 비정상적인 방식이다.

Kali

sudo nmap -sF IP주소

wireshark에서 확인하면 다음과 같습니다.

먼저 필터링을 설정을 합니다.

tcp.flags.fin == 1 and tcp.flags.syn == 0 and tcp.flags.ack == 0 and ip.dst == 192.168.0.100

iptables 을 통해 FIN 스캔 차단하고 log 남기기

#iptables -A INPUT -p tcp --tcp-flags ALL FIN -j DROP

#iptables -I INPUT -p tcp --tcp-flags ALL FIN -j LOG --log-prefix "FIN_SCAN_DETECTED: "

#tail -f /var/log/kern.log | grep FIN_SCAN_DETECTED

다시 칼리에서 FIN 포트 스캔을 시도합니다. 그리고 metasploitable2에서 확인을 해보면 다음과 같습니다.

728x90