Scanning

김성현·2020년 8월 28일

모의해킹

목록 보기
6/9

★Scanning

○ 탐색(Scan, Scanning)

  • Footprint 단계에서 수집한 정보의 사실 유무 확인 및 누락된 정보 확인
  • 대상 시스템에 직접적으로 데이터를 전송하여 확인함 -> 대상 시스템에 Log를 남길 확률이 높음 고로 공격자, 모의해컹의 흔적이 노출됨
  • 침투 대상의 네트워크에서 실제 동작 중인 시스템, 서비스, 프로그램, OS확인
  • 확인된 시스템 및 프로그램의 취약점 정보 수집

○ Active Host Scanning

  • 목적 : 침투 대상이 될 수 있는 시스템을 식별 -> 실제 동작중인 시스템 확인
  • 추가로 시스템의 기본적인 정보를 확인함 : 데이터 전송 시간, OS 종류, IP주소, MAC주소..
  • 주의 -> 방화벽에 의해 정확한 정보를 획득 못할 수 있음
  • 종류
    ICMP echo ping : ICMP 메시지를 이용해 동작중인 호스트를 식별함
    ARPing : ARP 패킷을 이용해 동작중인 호스트를 식별함
    TCP ping : TCP 패킷을 이용해 동작중인 호스트를 식별함
    UDP ping : UDP 패킷을 이용해 동작중인 호스트를 식별함

○ Active Host Scanning 도구

  • ping
  • arping
  • netenum, fping
  • atk6-alive6(IPv6)
  • nbtscan, nmap(zenmap), hping3, nping

○ Port Scanning

  • 목적 : 침투 대상이 될 수 있는 서비스(Port)를 식별 -> 공격데이터를 전송할 수 있는
    프로그램 식별

  • 주의 -> 방화벽에 의해 정확한 정보를 획득 못할 수 있음

  • 종류
    UDP Port Scanning : ICMP 메시지를 이용해 동작중인 호스트를 식별함
    TCP Port Scanning
    Connect() Scan(Full Connection Scanning)
    SYN Stealth Scan(Half Open Scanning)
    X-MAS Scan, FIN Scan, NULL Scan
    IDLE Scan
    FTP Bounce Scanning
    ○ NMAP(Network MAPper)

  • 운영체제, 장치종류, 운영시간, 서비스 소프트웨어 제품, 제품의 정확한 버전, 방화벽 기술의 존재와 근거리 네트워크에서 네트워크 카드의 공급자 정보를 알아냄

  • 옵션
    sT : TCP Connet() Scanning
    sS : TCP SYN Scanning
    sF : TCP FIN Scanning
    sX : TCP X-Mas Scanning
    sN : TCP Null Scanning
    sU : UDP Scanning
    sO : Protocol Scanning
    PO : Scan 하기전에 ping을 보내지 않음
    O : OS Detection
    v : 스캔 세부사항 표시
    p : Port 지정
    f : Packet 분할

○ UDP Port Scanning

  • UDP Packet을 이용해 대상 시스템 Post Scan
  • Close Port -> ICMP Destination Unreachable 응답
  • Open Port -> 응답 없음
  • 단점 : UDP 혹은 ICMP의 경우 필터링 장치에 의해 차단될 가능성 높음
    응답이 없을 경우 Open으로 인식해, 방화벽에 의해 패킷이 차단된 경우 여부가 불분명
  • 장점 : 정상적인 통신이 아니어서 Log가 남지 않음

○ TCP Port Scanning

  • TCP Packet을 이용해 대상 시스템 Port Scan
  • TCP의 Flag를 이용해 다양한 방법으로 Scan을 수행

○ TCP Flag 용도 및 종류

  • URG : 긴급히 처리할 경우'
  • ACK : 응답
  • PSH : 데이터를 Buffering 하지 않고 즉시 Application에게 전달
  • RST : 연결 강제 종료
  • SYN : 연결 요청
  • FIN : 데이터 전송 종료

○ TCP Connect Scanning(Full Connection Scan)

  • 3 Way-Handshaking으로 대상 시스템의 포트 상태 확인
  • Port가 열려있을 경우 세션 수립/닫혔을 경우 RST Packet 수신
  • 결과가 정확하고 일반 계정으로 Scanning 가능함
  • Overhead가 크고 Log가 남아 발각이 쉬움

○ SYN Stealth Scanning(Half Open Scan)

  • 포트가 열려있을 경우 S/A Packet을 받은 후 RST Packet을 보내 연결을 끊는 방법
  • 닫혀 있을 경우 RST Packet을 수신
  • 세션이 수립되지 않게 ACK신호를 안 보내 비교적으로 Log를 조금 남김

○ FIN Scanning

  • RST Flag가 설정된 Packet을 확인함으로써 포트가 닫혔음을 판단
  • UNIX플랫폼일 경우만 IDS를 회피할 가능성이 높음
  • Open/Filter/오류의 결과가 불분명함

○ X-mas Scanning

  • FIN, PSH, URH Flag를 동시에 설정하여 scan함
  • UNIX/Linux 플랫폼일 시 IDS를 회피할 가능성이 높음
  • Open/Filter/오류의 결과가 불분명

○ NULL Scanning

  • 모든 Flag를 설정하지 않고 Scan
  • UNIX/Linux 플랫폼일 시 IDS를 회피할 가능성이 높음
  • Open/Filter/오류의 결과가 불분명함

★IDLE Scanning

○ IDLE Scanning

  • TCP Scanning의 일종, IDLE Host(Zombie PC)의 반응을 통해 침투 대상의 활성화된 port정보를 확인함
    -IP Header의 Identification필드를 지속적으로 모니터링하여 변화를 관찰 단 다른 프로그램이 동작 중이면 정확한 결과 확인이 어려움

○ IP의 ID 모니터링

  • IDLE Host(Zombie)의 ID값의 변화를 확인하기 위한 단계
  • Attacker -> 무조건 응답을 발생시킬 수 있는 임의의 요청을 전송 -> Null Flag TCP 요청(비정상TCP)
  • IDLE Host -> Null 요청에 대한 RST응답을 전송
  • RST를 encapsulation하는 IP헤더의 ID필드 값이 초기에는 Random값으로 선택되고 순차적으로 값이 증가함

○ Target에게 port scan 요청 전송

  • 출발지 IP를 IDLE PC로 변조하여 확인하고 싶은 서비스의 연결요청(SYN)을 전달함

○ Target의 Port가 Open일 경우

  • 연결 요청(SYN)에 대한 응답(SYN/ACK)을 출발지로 지정된 IDLE PC로 전송함
  • 비정상 TCP(SYN/ACK)을 요청 받은 IDLE Host(Windows)에서 RST를 응답으로 전송
  • 지속적으로 모니터링을 수행함 -> 모니터링 ID가 1씩 증가함

○ Target의 Port가 Close일 경우

  • 연결 요청(SYN)에 대한 응답(SYN/ACK)을 출발지로 지정된 IDLE PC로 전송함
  • RST 요청 받은 IDLE Host(Windows)에서 RST에 대한 응답을 발생시키지 않음
  • 지속적으로 모니터링을 수행함 -> 모니터링 ID가 1씩 증가함

○ Hping3를 이용한 IDLE Scanning

  • TCP/IP packet generator
  • Header 값을 옵션을 통해 지정/변경 할 수 있게 만들어주는 네트워크 보안 테스트 툴
  • port scanning, hid pinging, Dos Attack, firewall rull test등 네트워크 성능과 보안을 검증하기 위해 사용

○ 사용법

  • hping3 [options]

  • option
    -r : ID 모니터링
    -p : 목적지 Port 주소 설정
    -a : 출발지 IP 주소 변조
    -S : TCP flag에서 SYN 셋팅

    ○ IDLE host 상태 모니터링
    -ex)
    hping3 -r 20.20.20.100

    ○ Target 시스템 Port Scan 요청 전송
    -ex)
    hping3 -a 20.20.20.100 23.0.0.200 -p 80 -S

0개의 댓글