ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 정보 수집(Scan) 종류 및 탐지
    case Computer : 2009. 8. 30. 10:48


    어떤 서버나 시스템을 공격하기전에 서버 혹은 시스템의 취약점, Network 경
    로, 방화벽 설치 유무를 알아내고 정보를 수집하는 공격방법

    ● Finger

    ▲ 공격방법
    대상서버에 공격을 하기 위해서 어떤 계정이 등록되어 있는지를 확인하는 방
    법으로 사용 된다. 계정 확인이 완료되면 Password를 Crack 프로그램을 이용
    하여 Crack한 다음, 서버에 직접 접속을 하여 정보 위.변조, 갈췌 행위을 한
    다.

    ▲ 탐지방법
    ① 공격자가 보낸 TCP Packet를 분석하여 Finger 서비스를 확인한다.
    ② 공격자가 Packet를 보내는 횟수를 Count하여 공격인정 시간내에 공격인정
    회수이면 Finger 공격으로 탐지한다.

    ▲ 조치방법
    공격 클라이언트와 서버에 RESET신호를 보내어 해커가 정보를 획득하지 못하
    도록 한다. 또한 서버에 불필요한 서비스를 Disable 시키고, 방화벽에서 Fin
    -ger port를 차단한다.


    ● Host Sweeping

    ▲ 공격방법
    각종 정보를 파악할 수 있는 기법(FingerPrint, Ping, Port Scan 등)을 동원
    하여 각종 서버의 정보를 동시 다발적으로 파악하는 기법

    ▲ 탐지방법
    한 클라이언트(공격자)가 여러 서버를 순차적으로 Scan 할 경우 Host Sweepi
    -ng으로 간주한다.

    ▲ 조치방법
    이러한 정보를 관리자에게 주지시켜 집중적으로 관찰하도록 한다.


    ● SYN Port Scan

    ▲ 공격방법
    대상컴퓨터(서버)에 해킹하기 위해서 대상컴퓨터가 TCP/IP의 어떤 포트를 Op
    -en하여 서비스를 하는지 알아내기 위한 방법으로 포트번호 0번 부터 65,535
    번 포트까지 순차적 또는 무순위로 SYN를 보내어 서버가 응답하는 SYN/ACK를
    확인한다.
    대상 System 의 port 와 완전한 connection을 연결하지 않는다. 즉, 3-way
    handshake 과정을 모두 수행하지 않고, 이 중 2가지 과정만을 수행하며
    RST packet 은 보내지 않는다. 이는 "half-open" 이라 불리우기도 하며, 이
    Scan의 경우에는 보안설정이 잘 된 일부의 system에서만 log 기록이 남는 단
    점이 있기 때문에 감지하기가 어렵다.

    ▲ 탐지방법
    ① 공격자가 보낸 Packet에서 TCP를 분석한다.
    ② TCP Header 의 flag가 TH_SYN 이면서 대상 Port가 매번 다르면 TCP Port
    Scan 공격으로 간주한다.
    ③ 공격자가 보내는 Packet의 횟수를 Count하여 공격인정 시간내에 공격인정
    회수이면 TCP Port Scan으로 탐지한다

    ▲ 조치방법
    관리자에게 이러한 사실을 알리고, 관리자는 서버의 불필요한 서비스 포트를
    Disable함으로서 공격의 피해를 최소화 할 수 있다. 또한 방화벽 (F/W)에서
    불필요한 서비스를 Close한다.


    ● Trace Route

    ▲ 공격방법
    공격을 하기위해서 Network 경로를 파악하기 위한 방법으로 사용한다. 또한
    F/W 설치여부를 확인하기 위해서 사용되기도 한다.

    ▲ 탐지방법
    ① 공격자가 보낸 Packet에서 IP를 분석한다.
    ② IP Header의 TTL을 확인하여 1이면 ICMP Traceroute로 간주한다.
    ③ 공격자가 보내는 Packet의 횟수를 Count하여 공격인정 시간내에 공격인정
    회수이면 ICMP Traceroute로 탐지한다.

    ▲ 조치방법
    이러한 정보를 관리자에게 주지시켜 집중적으로 관찰하도록 하거나 침입차단
    시스템에서 차단하도록 한다


    ● FIN port scanning

    ▲ 공격방법
    이 방법은 일반적인 TCP port scanning 에 대한 더 빠른 대안으로서 사용될
    수 있다. 이는 listening TCP port 를 찾기 위해, TCP FIN 패킷에 대해 호스
    트가 응답하는 것을 관찰하여 scan한다. scanner가 어떤 포트가 listen하고
    있는지를 추정하는 방법은, 대상 호스트가 FIN이 listening port로 전송되었
    을 때는 응답이 없고 non-listening port 로 전송되었을 때에만 응답을 보내
    주는 성질을 이용하는 것으로 port가 실제로 TCP 연결을 초기화하지 않고 검
    사되기 때문에 이와 같은 종류의 scan은 "stealth (포착이 어려운)" scan 이
    라고 불리기도 한다.

    ▲ 탐지방법
    ① 공격자가 보낸 Packet에서 TCP를 분석한다.
    ② TCP Header에 설정된 flag가 TH_FIN으로 설정되어 있으면 공격으로 간주
    한다.
    ③ 공격자가 보내는 Packet의 횟수를 Count하여 공격인정 시간내에 공격인정
    회수이면 TCP FIN Scan으로 탐지한다.

    ▲ 조치방법
    이 scanner는 어느 TCP port가 listening하고 있는지를 보고한다. 그 포트들
    이 승인된 서비스를 실행시키고 있는지를 알기 위하여 포트들을 검사해야 한
    다. 만일 설명이 없거나 원치 않는 서비스를 실행시키고 있다면 그 포트들을
    불능상태로 해두는 것이 바람직하다. 많은 운영체제가 정상적인 동작을 위해
    필요한 서비스를 많이 탑재하고 있다. 어떤 경우 이 서비스들은 알려지거나
    알려지지 않은 보안문제를 가지고 있을지 모른다. 필요하지 않은 서비스들은
    불능상태로 할 것을 권고한다. 또한 방화벽 (F/W) 에서 불필요한 서비스를
    Close한다.


    ● RPC Port Map Dump

    ▲ 공격방법
    대상컴퓨터(서버)에 해킹하기 위해서 대상컴퓨터가 RPC의 어떤 포트를 Open
    하여 서비스를 하는지 알아내기 위한 방법이다.

    ▲ 탐지방법
    ① 공격자가 보낸 Packet에서 TCP를 분석한다.
    ② TCP를 분석한 결과 RPC Service이면 RPC 정보를 분석하여 RPC rm_call의
    cb_procdl이 4이고 RPC Version이 2이면 SUN RPC Service로 판단한다.
    ③ 공격자가 보내는 Packet의 횟수를 Count하여 공격인정 시간내에 공격인정
    회수이면 RPC Port Map Dump로 탐지한다

    ▲ 조치방법
    관리자에게 이러한 사실을 알리고, 관리자는 서버의 불필요한 서비스 포트를
    Disable함으로서 공격의 피해를 최소화 할 수 있다. 또한 방화벽(F/W)에서
    불필요한 서비스를 Close한다.


    ● RPC Port Map Get Port

    ▲ 공격방법
    대상컴퓨터(서버)에 해킹하기 위해서 대상컴퓨터가 RPC의 어떤 포트를 Open
    하여 서비스를 하는지 알아내기 위한 방법이다.

    ▲ 탐지방법
    ① 공격자가 보낸 Packet에서 TCP를 분석한다.
    ② TCP를 분석한 결과 RPC Service이면 RPC 정보를 분석하여 RPC rm_call 의
    cb_procdl이 3이고 RPC Version이 2이면 SUN RPC Service로 판단한다.
    ③ 공격자가 보내는 Packet의 횟수를 Count하여 공격인정 시간내에 공격인정
    회수이면 RPC Port Map Dump로 탐지한다

    ▲ 조치방법
    관리자에게 이러한 사실을 알리고, 관리자는 서버의 불필요한 서비스 포트를
    Disable함으로서 공격의 피해를 최소화 할 수 있다. 또한 방화벽(F/W)에서
    불필요한 서비스를 close한다.


    ● XMAS Port Scan

    ▲ 공격방법
    대상컴퓨터 (서버)에 해킹하기 위해서 대상컴퓨터가 TCP/IP 의 어떤 포트를
    Open하여 서비스를 하는지 알아내기 위한 방법으로 포트번호 0번부터 65,535
    번 포트까지 순차적 또는 무순위로 FIN, URG, PUSH 등의 신호를 보내어 서버
    가 응답하는 RESET 신호를 확인한다.(probe packet에서 FIN, URG, PUSH flag
    를 사용하는 것이 Scan-FIN과는 다름, 그 외에는 동일함)

    ▲ 탐지방법
    ① 공격자가 보낸 Packet에서 TCP를 분석한다.
    ② TCP Header의 flag에 TH_FIN, TH_URG, TH_PUSH 조합이 설정되어 있거나,
    TH_URG가 설정되어 있거나 TH_PUSH가 설정되어 있거나 TH_FIN, TH_URG 조
    합으로 설정되어 있거나 TH_FIN,TH_PUSH조합으로 설정되어 있거나 TH_URG,
    TH_PUSH 조합으로 설정되어 있는지 확인하여 이경우에 포함되면 TCP Xmas
    Scan공격으로 Scan한다.
    ③ 공격자가 보내는 Packet의 횟수를 Count하여 공격인정 시간내에 공격인정
    회수이면 TCP Xmas Scan으로 탐지한다.

    ▲ 조치방법
    관리자에게 이러한 사실을 알리고, 관리자는 서버의 불필요한 서비스 포트를
    Disable함으로서 공격의 피해를 최소화 할 수 있다. 또한 방화벽(F/W)에서
    불필요한 서비스를 Close한다.


    ● NULL Port Scan

    ▲ 공격방법
    대상컴퓨터 (서버)에 해킹하기 위해서 대상컴퓨터가 TCP/IP 의 어떤 포트를
    Open하여 서비스를 하는지 알아내기 위한 방법으로 포트번호 0번부터 65,535
    번 포트까지 순차적 또는 무순위로 NULL를 보내어 서버가 응답하는 RESET 신
    호를 확인한다.
    probe packet에서 모든 flag를 꺼놓은 것 외에는 Scan -FIN과 동일하다.

    ▲ 탐지방법
    ① 공격자가 보낸 Packet에서 TCP를 분석한다.
    ② TCP Header에 설정된 flag가 없으면 TCP NULL Port Scan 공격으로 간주한
    다.
    ③ 공격자가 보내는 Packet의 횟수를 Count하여 공격인정 시간내에 공격인정
    회수이면 TCP NULL Scan으로 탐지한다.

    ▲ 조치방법
    관리자에게 이러한 사실을 알리고, 관리자는 서버의 불필요한 서비스 포트를
    Disable함으로서 공격의 피해를 최소화 할 수 있다. 또한 방화벽(F/W)에서
    불필요한 서비스를 Close한다.


    ● UDP Port Scan

    ▲ 공격방법
    대상컴퓨터(서버)에 해킹하기 위해서 대상컴퓨터가 UDP의 어떤 포트를 Open
    하여 서비스를 하는지 알아내기 위한 방법으로 포트번호 0 번부터 65,535 번
    포트까지 순차적 또는 무순위로 Data를 보내어 서버가 ICMP로 응답하는 것을
    확인한다.
    0 byte UDP (User Datagram Protocol) Packet을 이용하여 대상 system 의 OS
    정보 및 현재 사용중인 Server Port등의 정보를 알아낼 수 있으며(대상 port
    에서 unreachable message 가 오는가의 여부로 알 수 있다.)
    이를 이용해 30000번 이상의 port 정보도 알아낼 수 있다. 단, 대부분의 OS
    에서 시간당 생성 가능한 unreachable message 개수를 제약하고 있기 때문에,
    scanning 속도가 굉장히 늦다.

    방법 : Root 권한으로 #>nmap -sU 211.41.170.28 실행(버전 : nmap 2.53)

    ▲ 탐지방법
    ① 공격자가 보낸 Packet에서 UDP를 분석한다.
    ② UDP Loopback, Snork Attack을 확인하여 탐지되지 않으면 UDP Port Scan
    공격으로 간주한다.
    ③ 공격자가 보내는 Packet의 횟수를 Count하여 공격인정 시간내에 공격인정
    회수이면 UDP Port Scan으로 탐지한다

    ▲ 조치방법
    관리자에게 이러한 사실을 알리고, 관리자는 서버의 불필요한 서비스 포트를
    Disable함으로서 공격의 피해를 최소화 할 수 있다. 또한 방화벽(F/W)에서
    불필요한 서비스를 Close한다.


    ● FingerPrint (OS Scan)

    ▲ 공격방법
    TCP/IP의 패킷을 구현함에 있어서 OS 마다 구현 방식이 다른 점을 이용하여
    여러가지 TCP/IP 패킷을 특정서버에 보내어 응답되는 패킷을 분석하여 서버
    의 OS를 파악한 다음 해킹의 자료로 사용한다.

    ▲ 탐지방법
    ① 공격자가 보낸 Packet에서 TCP를 분석한다.
    ② TCP Header의 flag에 TH_BOG이거나 TH_PUSH이거나 TH_SYN, TH_FIN, TH_RST
    조합이거나 TH_URG이거나 TH_SYN이고 TH_FIN, TH_RST조합이면 TCP OS Scan
    (FingerPrint) 공격으로 간주한다.
    ③ 공격자가 보내는 Packet의 횟수를 Count하여 공격인정 시간내에 공격인정
    회수이면 TCP OS Scan(FingerPrint)으로 탐지한다.

    ▲ 조치방법
    FingerPrint로 탐지되면 SNIPER가 클라이언트에게 예상하지 못하는 패킷을
    보내어 OS를 파악하지 못하도록 한다. 또한 이러한 정보를 System, Network
    관리자에게 알리어 집중 관리하도록 한다.


    반응형

    댓글

Designed by Tistory.