Port Scan
■환경
●희생자-1
IP : 192.168.0.29
OS : Windows 10
●희생자-2 (FIN, X-mas, NULL scan하기 위함)
IP : 127.0.0.1
OS : Kali Linux
●공격자
IP : 10.0.2.15
OS : Kali Linux
Window OS일 경우 못하는 실습을 하기 위해서 apache2를 실행해줍니다.
●Nmap port Scanning 실습 준비로는
1.희생자 PC IP를 확인을 합니다.

2.공격자 PC에서 Wireshark를 실행합니다.

3. eth0 패킷 캡쳐를 시작합니다. (FIN, X-mas, NULL scan을 할 때에는 Loopback을 선택합니다
■내용 및 결과
●TCP Open Scan
1. 공격자 PC에서 희생자 PC로 Port Scan을 합니다

이 방법은 3-way Hand Shake를 이용하는 방식으로 Port를 검색하며, 완전한 세션을 맺기 때문에 로그를 남깁니다.
-OPEN Port


Open 포트에서는 SYN가 전송이 되면 SYN + ACK 응답이 전달이 되고, 받았다는 ACK가 전송이
되는 것을 확인이 가능이 합니다. 즉 열린 포트로 인식이 됩니다.
완전한 세션이 맺어지는 것이 확인이 가능합니다.
-Close Port

Close 포트에서는 SYN이 전송이 되지만 SYN에 대한 응답은 없고, RST ,ACK가 전송이 됩니다 그 러면 이 패킷은 닫힌 포트로 인식이 됩니다
●TCP Half Open Scan
1.공격자 PC에서 희생자 PC로 Port Scan을 합니다

TCP Open Scan과는 반대로 로그를 남기지 않는 것이 특징입니다.
-Open Port


Open 포트에서는 SYN을 보내면 그에 대답을 하여 SYN,ACK를 보냅니다. 그러면 열린 포트로 인 식을 합니다. 그런데 마지막에 RST를 보내어 로그를 삭제를 합니다.
그래서 와이어 샤크로 확인 해본 결과 RST가 전송이 되는 것이 확인이 가능 합니다.
-Close Port

요청을 보냈지만 응답을 하지 못하고 RST , ACK를 보내는 것이 확인이 가능 합니다. 즉 닫힌 포 트로 인식을 하게 됩니다.
●FIN Scan
1. 공격자 PC에서 희생자 PC로 Port Scan을 합니다.

열린 포트이면 아무런 응답이 오지 않으며, 닫힌 포트이면 RST 응답이 전송이 된다
-Open Port

FIN 패킷을 전송을 하여 아무런 응답이 오지 않은 것을 확인이 가능합니다. 즉 열린 포트라는 것 을 알 수 있습니다.
-Close Port

FIN을 보내면 RST,ACK가 전송이 되어 닫힌 포트인 것이 확인이 가능합니다.
●X-mas Scan
1. 공격자 PC에서 희생자 PC로 Port Scan을 합니다.

열린 포트이면 아무런 응답이 오지 않으며, 닫힌 포트이면 RST 응답이 전송 됨
-Open Port

FIN,PSH,URG 패킷을 전송을 해서 열린 포트면 아무런 응답이 오지 않는 것을 확인이 가능합니다. 즉 열린 포트라는 것을 확인이 가능 합니다.
-Close Port

FIN,PSH,URG 패킷을 전송을 하면 RST,ACK가 전송이 되는 것을 확인이 가능 합니다
●NULL Scan
1. 공격자 PC에서 희생자 PC로 Port Scan을 합니다.

열린 포트이면 아무런 응답이 오지 않으며, 닫힌 포트이면 RST 응답이 전송이 됩니다.
-Open Port

NULL 패킷을 전송을 한 결과 아무런 응답이 오지 않는 것을 보아 열린 포트라는 것이 확인이 가 능 합니다.
-Close Port

NULL 패킷을 전송을 한 결과 RST,ACK가 응답이 오는 것을 보니 닫힌 포트라는 것이 확인이 가 능 합니다.
●옵션을 사용하여 지정 포트와 OS 판별
1. 공격자 PC에서 희생자 PC로 Port Scan을 합니다.
여기서 -sS은 TCP Half Scan을 말하고, O는 OS판별을 말합니다.

결과적으로 희생자 IP에 대한 정보를 획득이 가능 합니다.