[정리] 스캔방식에 따른 응답 차이

때때로 자격증 시험과 같은 곳에서 스캔 방식에 따른 응답 차이를 물어볼 때가 있는데, 혼동이 되어 정리해본다. 


스캔하는 호스트를 공격자(A)라 칭하고 스캔 당하는 호스트는 피해자(B)라 칭한다.


1. TCP connect scan

스캔 시 공격자가 피해자와 완전한 3 Way-Handshacking 과정을 통해 세션을 성립하여 열린 포트를 확인하는 스캔. 결과에 대한 신뢰성은 높지만 속도가 느리고 피해자의 로그에 남는다.


[그림 1] TCP connect scan (open)

[그림 2] TCP connect scan (close)


2. Half-open scan

Half-open scan 또는 SYN 스캔이라고 부르는 방식으로 TCP connect scan과 같이 완전한 세션을 성립하지 않고 SYN 패킷 만을 이용해 열린 포트를 확인하는 스캔 방식이다. 


[그림 3] Half-open scan (open)

[그림 4] Half-open scan (close)


3. TCP ACK scan

ACK 패킷만을 보내 포트의 열림을 확인하는 스캔으로 방화벽이나 IPS와 같은 보안장비가 이미 연결된 세션은 허용한다는 점을 이용한 스캔 방식이다. 따라서 보안장비의 우회가 가능해 내부 네트워크의 스캔이 가능하다.


[그림 5] TCP ACK scan (open)

[그림 6] TCP ACK scan (close)


4. Stealth scan

FIN, XMAS, NULL scan을 Stealth scan 이라 칭한다. FIN scan은 FIN 플래그만 설정해 스캔하는 방식이다. XMAS scan은 모든 플래그를 설정하고 반대로 NULL scan 은 모든 플래그를 비활성화 하여 스캔하는 방식이다. XMAS, NULL scan은 유닉스 시스템을 대상으로만 가능하다. Stealth scan은 열린 포트에 대해서는 응답이 없다.


[그림 7] Stealth scan (open)

[그림 8]  Stealth scan (close)


5. UDP scan

UDP 패킷을 전송해 포트의 열림을 확인한다. UDP를 사용하기 때문에 스캔 결과의 신뢰도가 낮다.


[그림 9] UDP scan (open)

[그림 10] UDP scan (close)