Scan(스캔)은 방화벽과 IDS(침입 탐지 시스템)을 우회하기 위하여 발전했으며, 종류가 매우 다양합니다.

서버의 동작여부를 알아보는 가장 기본적인 스캔은 ping 을 이용하는 것입니다.

검사하고자하는 네트워크에서 동작하는 서버를 찾아내는 일은 공격대상 네트워크에서 공격대상의 IP주소를 결정하는데에 매우 중요합니다.


ping은 네트워크와 시스템이 정상적으로 작동하는지 확인하기 위한 간단한 유틸리티입니다.

ping은 ICMP(Internet Control Message Protocol)을 사용하며, 기본적으로 TCP/IP 네트워크에서 사용됩니다. 넷웨어(Netware)같이 다른 프로토콜 체제를 쓰는 네트워크에서는 ping 유틸리티도 다릅니다. 따라서 모든 네트워크에 ping이 있는것은 아닙니다.

(* Netware : 가장 광범위하게 설치되었던 노벨(Novell)의 네트워크 서버 운영체제

* ICMP : 호스트서버와 인터넷 게이트웨이 사이에서 메시지를 제어하고 오류를 알려주는 프로토콜 )


ICMP를 이용해 공격대상 시스템의 활성화 여부를 알아보는 방법은 아래 네가지입니다.

1. Echo Request와 Echo Reply를 이용한 방법 (가장 일반적인 방법으로, 일반적으로 옵션없이 ping을 사용하면 됩니다.)

2. Timestamp Request와 Timestamp Reply를 이용한 방법

3. Information Request와 Information Reply를 이용한 방법

4. ICMP Address Mask Request와 ICMP Address Mask Reply를 이용한 방법


ping을 이용한 테스트로는 지난 포스팅에서 ping test를 해보았으므로 참고하시면 됩니다.

라우터나 방화벽 등에서 ICMP Echo Request패킷을 막는 경우가 있는데, 이 때 이용할 수 있는 방법으로 위의 2, 3, 4 번입니다.


째로, Timestamp Request패킷을 이용하는 것으로, Timestamp Request패킷은 원격지 시스템의 현재 시각을 알아보기 위한 패킷입니다. Timestamp Request패킷은 송신자가 패킷을 보낸 시각과 수신자가 패킷을 받은 시각, 송신자가 수신자에게 전송하는동안 걸린 시간으로 공격대상의 현재 시스템 시각을 알 수 있게 해줍니다.

상대시스템의 Reply패킷이 돌아온다는 것은 상대시스템이 활성화 되어있음도 알려주는 것입니다.


두번째로, Information Request패킷을 이용하는 것으로 원래 Information Request와 Reply는 메인 프레임의 단말기처럼 부팅할 때 자신의 디스크가 없는 시스템이 스스로 IP를 설정할 수 있도록 하는 패킷으로, 자신의 네트워크를 찾기위해 개발되었습니다. 기본목적은 RARP, Bootp, DHCP같은 프로토콜과 같으나 다른 프로토콜을 이용한 방법에 비해 원시적이라고 할 수 있다. 이 방법에서도 위 Timestamp Request 패킷처럼 죽은 시스템은 Reply패킷을 보내지 않을 것입니다.


마지막으로, ICMP Address Mask Request 와 Reply패킷을 이용하는 것입니다. 이 패킷 역시 두번째 방법처럼 단말기가 부팅될 때 자신이 속한 네트워크의 서브넷 마스크를 알기 위해 보냅니다. 앞의 두 방법과 마찬가지로 Reply패킷이 돌아오는지 확인함으로써 상대 시스템의 활성화여부를 파악할 수 있습니다.


ICMP를 이용한 여러가지 ping은 시스템 하나를 조사하기에는 적절하지만 큰 네트워크에서 활성화 시스템을 찾는데는 효과적이지 않습니다.

네트워크 전체에서 활성화 시스템을 찾는 일을 스위핑(sweeping)이라 합니다. 스위핑은 검색하고자 하는 네트워크에 브로드캐스트 ping을 보내거나 자동화도구를 이용하여 특정범위의 네트워크에 ping을 보냅니다.


WRITTEN BY
SiriusJ

,