ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Host discovery by nmap
    Security in CPS/Networking 2020. 12. 14. 14:29

    네트워크에 연결된 타켓 호스트의 주소 (IP) 를 확인하기 위해서는 nmap (Network mapper)을 사용합니다. nmap은 무료 오픈소스로 다양하고 강력한 기능(옵션)을 제공하고 있습니다. 호스트 서버의 footprint를 포함하여 IP 나 오픈된 포트 정보를 가져올 수 있습니다. 뿐만 아니라 내부적으로 정의된 타이밍 옵션에 따라 네트워크 보안을 위해 설치된 NIDS 에 탐지를 회피하거나 방화벽에 의한 차단을 방지할 수 있는 기능들도 제공하고 있습니다.  그럼 이제부터 nmap의 옵션들과 검색 성능 등에 대해 좀 더 자세히 알아보도록 하겠습니다.

    1. 홈페이지 및 설치

    nmap.org/

     

    Nmap: the Network Mapper - Free Security Scanner

    Nmap 7.90 has been released with Npcap 1.00 along with dozens of other performance improvements, bug fixes, and feature enhancements! [Release Announcement | Download page] After more than 7 years of development and 170 public pre-releases, we're delighted

    nmap.org

    2. 다양한 옵션들

    아래와 같이 nmap에서는 다양한 검색 옵션을 제공하고 있습니다.

    TCP SYN Scan (-sS):

        Stealth Scan이라고도 불리는 방식으로, 가장 인기있는 스캔 옵션입니다. 빠른 검색 속도를 제공하고 방화벽이 존재하지 않는 네트워크 상에서는 초당 수천여개의 포트 스캔을 동시에 진행할 수도 있습니다. 타겟 호스트와 TCP connection 을 연결하지 않기 때문에 호스트 상에 연결 로그를 남기지 않습니다. 때문에 이를 스텔스 스캐닝이라고도 불리게 되었습니다.

    TCP Connect Scan (-sT): 

        TCP 스캔의 기본 타입으로 SYN 스캔이 설정되어 있지 않을 경우 사용됩니다. 컨넥션 시스템 콜에 의해 호스트와 TCP 연결을 수행하는데, 다른 스캔 옵션과는 다르게 상위 권한의 대한 요청(Priviledge) 없이도 수행을 할 수 있습니다.

    UDP Scan (-sU):

       UDP 의 경우 TCP와 더불어 네트워크에서 많이 상용되는 전송 프로토콜 중 하나입니다. 대표적으로 DNS, SNMP 그리고 DCHP (예약된 포트 중 53, 161/162, 67/68) 와 같은 서비스/프로토콜이 UDP를 사용하고 있습니다.    

    NULL Scan (-sN):

        TCP 헤더에 있는 모든 플래그가 0 로 설정하는 경우 

    FIN Scan (-sF):

        TCP 헤더에 있는 플래그 중 FIN 만 1로 설정이 되어 있는 경우

    Xmas Scan (-sX):

        TCP 헤더에 있는 모든 플래그가 1로 설정이 되어 있는 경우

    Ping Scan (-sP):

         ICMP ping 을 이용한 탐지 방법으로 포트 스캐닝 없이 연결된 호스트를 탐지하는 경우

    OS Detection Scan (-O):

        타켓호스트의 OS 정보를 포함한 기본 Footprint 정보 확인

    Version Scan (-sV):

       타켓호스트의 버전 정보 확인

    이외에도 보다 많은 검색 옵션들을 제공하고 있으니, 필요하다면 위 NMAP 홈페이지에서 찾아보면 될것 같습니다.

     

    3. 타이밍 템플릿 (Timing Template)

    Nmap 에서는 Timing Template 이란 옵션 (-T)을 제공하고 있는데요. 호스트 탐색시에 수행하는 내부 동작들에 대한 세세한 검색 속도나 최소/최대 값 등을 조정할 수 있는 옵션입니다. T3를 기본값으로 동작하고 있는데 -T 옵션으로 변경이 가능합니다. 일반적으로 사용되는 엔터프라이즈 네트워크 환경에서는 보안 솔루션이 적용이 되어 있는데요. 보안 솔류션 중의 하나인 NIDS의 경우 비정상적인 Scanning 패킷에 대한 탐지가 가능합니다. 따라서 호스트 정보 탐색시에 NIDS의 탐지 또는 방화벽에 의한 패킷 차단 등 보안 솔루션의 정책 적용을 피하기 위해서 필요한 만큼의 탐지 기능을 수행하게 할 수 있습니다. Nmap 옵션 중 T1 또는 T2 가 이에 해당이 되는데, 탐지를 회피할 수 있는 반면에, 검색 속도가 상당히 느려서 정해진 시간안에 원하는 결과를 확인할 수 없을 수도 있습니다. 이와는 반대로 T4 또는 T5 의 옵션은 네트워크 탐지 시스템의 존재 유무와 상관없이, 짧은 시간 동안 가능한 많은 대역폭을 사용하여 호스트를 검색할 수 있는데요. 검색 속도는 상대적으로 빠른 반면 네트워크 보안 솔루션에 의해 탐지될 가능성이 상당히 높은 옵션입니다.

    nmap.org/book/performance-timing-templates.html

     

    Timing Templates (-T) | Nmap Network Scanning

    While the fine-grained timing controls discussed in the previous section are powerful and effective, some people find them confusing. Moreover, choosing the appropriate values can sometimes take more time than the scan you are trying to optimize. So Nmap o

    nmap.org

     

    4. 검색 성능

        아래는 nmap 의 각 옵션별로 검색하는데 소요되는 시간을 측정한 테이블입니다. 2개의 SDN 스위치가 연결된 네트워크 상에서 10.0.0.0/24 서브넷에 존재하는 타겟 호스트를 탐색하였으며, 한번의 실행에 따른 결과값입니다.

    Figure 1. IP/Port 탐색시 걸리는 시간 (seconds)

    Scan T2 T3 T4
    Type Options
    TCP SYN -sS -p80,591,8008,8080 155.81 10.71 8.36
    TCP Connect -sT -p80,591,8008,8080 109.32 10.71 9.61
    UDP -sU 103.26 41.12 29.68
    Xmas -sX  -p80,591,8008,8080 103.24 10.82 9.83
    NULL -sN -p80,591,8008,8080 154.99 6.71 6.73
    FIN -sF -p80,591,8008,8080 210.74 5.51 6.83
    Ping -sP 103.23 4.23 4.78
    OS detection -O -p80,591,8008,8080 226.26 8.83 8.09

     


    5. 총평

       사이버 공격 단계를 정의한 사이버 킬 체인 7단계 (Reconnaissance, Weaponization, Delivery, Exploitation, Installation, Command & Control, Action and exfiltration) 중에 정찰에 해당하는 단계로 타켓이 될 호스트의 네트워크 정보를 우선 탐색하게 됩니다. nmap는 다양한 옵션과 기능을 제공하고 있어 정찰 단계를 수행하는데 유용한 툴입니다.

    댓글

Designed by Tistory.