네트워크 포트 스캔 패킷 분석

심야·2023년 8월 29일
0

디지털 포렌식

목록 보기
23/23

TCP 포트 스캔

TCP 포트 스캔은 3-way-handshake를 이용해 포트의 개방 여부를 파악한다.

  • 열린 포트
    공격자 <-----> 공격대상
    SYN --------->
    <------------- SYN-ACK
    ACK --------->

  • 닫힌 포트
    공격자 <-----> 공격대상
    SYN --------->
    <------------- RST-ACK

  • 정책 차단
    공격자 <-----> 공격대상
    SYN --------->
    ------ 응답 없음 ------

Conversations

와이어샤크의 기능으로 상단 메뉴에 Statistic -> Conversations을 이용해 패킷 송수신 현황을 살펴보면, 어떤 포트를 대상으로 스캔이 시도되었는지 쉽게 확인할 수 있다.

TCP SYN 스캔

  • nmap 명령어
    nmap -ST [ip] -p 1-65535

tcp stream을 이용해 필터링 한 결과, 열러 있는 포트로 전송된 SYN 패킷은 3-way-handshake 과정을 통해 연결이 생성되고 RST-ACK 패킷을 전송해 강제로 연결을 끊는 형태이다.

닫혀있는 포트는 전송한 SYN 패킷에 RST-ACK 패킷을 응답해 포트가 닫혀 있다는 것을 알 수 있다.

TCP stealth 스캔

TCP 포트 스캔에서 로그를 남기지 않도록 스캔하는 방법을 스텔스 스캔이라 한다. 3-way-handshake 방식을 이용하며 TCP half open 스캔, Fin, Xmas, Null 스캔 등이 있다.

TCP half open 스캔

  • nmap 명령어
    nmap -sS [ip] -p 1-65535

half open이란 3-way-handshake 과정에서 syn 패킷을 받은 서버가 syn-ack 패킷을 응답하고서, 언젠가 ack 패킷이 돌아올 것을 기다리는 상태로 '반쯤 열린' 상태를 의미한다. 즉 TCP half open 스캔이란 마지막의 ack 패킷을 전송하지 않는, 3-way-handshake 과정을 완성하지 않은 스캔 방식이다.

포트가 닫혀 있으면 rst-ack 패킷을 응답한다.

UDP 포트 스캔

  • Nmap 명령어
    nmap -sU [ip]

  • 열린 포트
    공격자 <-----> 공격대상
    UDP ---------->
    <---------------UDP

  • 닫힌 포트
    UDP ---------->
    <---------------ICMP port Unreachable

  • 정책 차단
    UDP ---------->
    ------ 응답 없음 ------

UDP 포트 스캔은 알려진 포트로 요청 패킷을 전송하면 해당 포트의 서비스 요청 패킷을 전송하고 응답 패킷 또한 서비스에 상응하는 패킷을 수신한다.

UDP 포트 스캔은 스캔한 포트의 서비스 요청 패킷을 전송하는 특징이 있어서 Conversations 기능을 이용하면 효율적으로 스캔 결과를 파악할 수 있다.

Conversations으로 UDP 포트 스캔 한 결과를 보면 53번 포트 스캔을 시도했다. 해당 포트가 열려 있는지 확인하려면 Apply as Filter 기능을 사용하자.

포트가 열려 있기 때문에 DNS 프로토콜로 응답 패킷을 전송했다.

포트가 닫혀 있다면 ICMP Port unreachable 패킷을 응답한다.

profile
하루하루 성실하게, 인생 전체는 되는대로.

0개의 댓글