해킹 기법/네트워크

[해킹 기법] 포트 스캐닝 - 목표 포착을 위한 해킹의 첫 단계

solo-infosec 2025. 3. 11. 21:30
반응형

해킹을 하기 전엔 무엇을 먼저 해야될까?
당연히 해킹을 하기 위해선 해킹해야 될 대상이 무엇인지 파악해야 된다. 자신의 목표가 무엇인지도 모른채 해킹을 하는건 마치 장님이 지팡이 없이 목표를 향해서 나아가는 것과 다를 바가 없다. 어디로 가야하오
해킹의 목표가 무엇인지 파악하기 위한 첫 단계가 바로 포트 스캐닝이다.
네트워크 관리자나 서버 관리자가 갖춰야 될 덕목이기도 하다...
 

포트 스캐닝

포트 스캐닝이란 어떠 포트가 열려있는지, 해당 포트가 TCP포트인지 UDP포트인지, 해당 포트에서 돌아가는 서버, 서비스, 프로토콜이 무엇인지 확인하는 작업이다. 포트에 대한 정보와 포트에서 돌아가는 서버, 서비스, 프로토콜 등의 정보가 있어야지 이와 관련된 잠재적인 취약점을 발견하고 악용할 수 있다. Nmap 같은 포트 스캐닝 툴을 사용하면 초보자도 손쉽게 포트 스캐닝을 통해 다양한 정보를 수집할 수 있다. 그럼 이제 대표적인 포트 스캐닝 기법을 알아보자.
 

SYN 스캐닝

TCP 포트를 스캐닝할 때 제일 대표적으로 사용되는 스캐닝 기법이다. TCP Handshake를 모두 완료하지 않고 중간에 끊기 때문에 TCP Handshake 단계를 모두 거치는 TCP 스캐닝보다 효율적이다. 그리고 TCP Handshake를 모두 거치치 않으면 로그가 남지 않는 경우가 있다. 작동 방식 때문에 TCP Half-Scanning, TCP Stealth Scanning이라도 불린다. 많은 책에는 로그가 남지 않는다고 가르쳐 주지만 워낙 유명한 기법이라 로그가 남을 가능성이 농후하다...;;
 
TCP 포트가 열린 경우:
포트가 열려 있으면 타겟은 SYN+ACK 패킷으로 응답한다.

TCP 포트가 닫힌 경우:
포트가 닫혀 있거나 필터링 중이라면 타겟은 RST 패킷을 전송한다. 방화벽 설정에 따라서 응답을 하지 않는 경우도 있다.

UDP 스캐닝 

명칭 그대로 UDP 포트를 스캐닝 하는 기법이다. UDP 포트를 스캐닝할 때 제일 많이 사용되는 대표적인 UDP 포트 스캐닝 기법이다. 
 
UDP 포트가 열린 경우:
UDP 프로토콜의 특성상 전송이 성공해도 답이 없기 때문에 응답이 없으면 포트가 열린 것으로 간주한다. 

 
 
포트가 닫힌 경우:
UDP 포트가 닫혀 있는 경우 ICMP Destination Unreachable 패킷으로 응답한다.

 
 

ACK 스캐닝 

ACK 스캐닝은 열려있는 포트를 스캐닝 하기 위한 기법은 아니다. ACK 스캐닝의 주요 목표는 방화벽이 포트를 필터링 하는 것인지 포트가 닫혀 있는 것인지 확인하기 위한 필터링 기법이다. TCP 프로토콜은 TCP Handshake를 거치지 않은 호스트에서 ACK 패킷을 전송하면 RST 패킷으로 응답한다. 그렇기 때문에 RST 패킷으로 답변받으면 닫힘, 응답을 하지 않는 경우 방화벽에 의한 필터링 당하는 것이다. (포트가 열려있지만 필터링 당하는 경우 다른 방법으로 해당 포트에 도달할 수 있기 때문에 실제로 닫혀 있는 것인지 아니면 필터링 당하는 것인지 파악하는 것이 중요하다.)
 
TCP 포트가 닫힌 경우:
TCP 프로토콜은 TCP Handshake를 거치지 않는 호스트에게 ACK 패킷을 전송받은 경우 RST 패킷으로 응답한다.  그렇기 때문에 RST 패킷을 응답받은 경우, 해당 포트가 닫혀 있는 것이다.

 
 
TCP 포트가 필터링 당하는경우:
TCP 프로토콜은 TCP Handshake를 거치지 않는 호스트에게 ACK 패킷을 전송받은 경우 RST 패킷으로 응답한다. 그렇기 때문에 무응답이나 ICMP Destination Unreachable 패킷을 응답받은 경우, 포트가 필터링 당하고 있다고 볼 수 있다.

 
 

서비스 스캐닝

앞서 설명한 포트 스캐닝 기법들은 서비스 스캐닝을 하기 위한 준비 단계라고 간주해도 무방하다. 열려있는 포트들을 확인했으면 해당 포트들에서 무슨 서버, 서비스, 프로토콜이 돌아가는지 확인해야 되는데 이 때 사용하는 포트 스캐닝 기법이 서비스 스캐닝이다. 포트에 특정 프로토콜 패킷을 전송하고 응답 패킷을 조사해 무슨 서버, 서비스, 프로토콜이 돌아가는지 확인한다.
 

 
 
앞서 설명한 SYN, UDP, ACK, 서비스 스캐닝 말고도 다른 다양한 스캐닝 기법들이 있다.
네트워크 상 호스트를 감지하기 위한 Ping Sweep
TCP Handshake를 모두 거치는 TCP 스캐닝
어느 플래그도 세우지 않는 NULL 스캐닝
등등...
 
물론 이런 스캐닝 기법들은 특정한 상황에서 사용하는 기법들이기 때문에 실제로 사용하는 경우는 비교적 많지 않고 앞서 설명한 SYN, UDP, ACK, SERVICE 스캐닝을 주로 사용하게 된다. 포트 스캐닝은 해킹에서 제일 중요한 첫 단계국롤이기 때문에 해킹이나 정보보안에 관심이 있다면 꼭 알아두도록 하자.
 

Nmap으로 포트 스캐닝 하기

https://solo-infosec.tistory.com/6

Nmap - 대표적인 포트 스캐닝 툴

NmapNmap은 대표적인 오픈소스 포스 스캐닝 툴이다. 사용자는 Nmap을 사용해서 네트워크 탐색을 진행하고 네트워크에 존재하는 호스트들의 포트에 대한 정보를 수집할 수 있다.정보보안이나 해킹

solo-infosec.tistory.com

 

반응형