네트워크 보안 - Ch05(목록화)

Ch05 목록화

풋프린팅

  • 공격 대상의 정보를 모으는 방법 중 하나, 해킹 사전 준비 중 하나
  • 사회 공학 기법
    • 친구끼리 또는 지인끼리 정보를 주고 받을 때
    • 수첩이나 컴퓨터 옆에 적어 놓은 것들을 이용하는 해킹

스캔(Scan)

'스캔'이란?

  • 서비스를 제공하는 서버의 작동 여부와 서버가 제공하는 서비스를 확인하기 위한 작업
  • 요청(Request)을 보내면 응답(Response)을 보내는 것은 이용

ping

  • 네트워크와 시스템이 정상적으로 작동하는지 확인하기 위한 간단하 유틸리티
  • ICMP(Internet Control Message Protocol)을 사용한다.

ICMP를 이용해 공격 대상 시스템의 활성화 여부를 알아보는 방법

  • ICMP(Internet Control Message Protocol)란?
    • ICMP는 TCP/IP에서 IP 패킷을 처리할 때 발생되는 문제를 알려주는 프로토콜
    • ICMP는 해당 호스트가 없거나, 해당 포트에 대기중에 서버 프로그램이 없는 등의 에러 상황이 발생할 경우 IP헤더에 기록되어 있는 출발지 호스트로 이러한 에러에 대한 상황을 보내주는 역할을 수행한다.

1) Echo Request(Type8)와 Echo Reply(Type 0) 이용
2) Timestamp Request(Type 13)와 Timestamp Reply(Type 14) 이용하기
3) Information Request(Type 15)와 Information Reply(Type 16) 이용하기
4) ICMP Address Mask Request(Type 17)와 ICMP Address Mask Reply(Type 18) 이용하기

ICMP Echo Request 패킷이 막혔을 때 이용할 수 있는 방법

  • Timestamp Request 패킷 이용
  • Information Request 패킷 이용
  • ICMP Address Mask Request와 Reply 패킷을 이용

TCP Open 스캔

  • 공격자가 SYN 패킷을 보내고 포트가 열려있는 경우 SYN+ACK 패킷이 돌아오고 닫혀있는 경우 RST+ACK 패킷이 돌아온다.
  • 3-way handshaking 과정을 수행하여 정산적인 TCP 연결을 맺어서 신뢰성 있는 결과를 얻지만, 속도가 느리고 로그가 남는다.
  • 열려있는 Port가 몇개 없는데 닫혀 있는 Port를 계속 두드리는 IP가 있다면 해당 IP는 공격을 시도 중인 것이다.
  • Reverse Ident
    • 세션을 성립한 상태에서 원격지 서버에서 데몬을 실행하고 있는 프로세스의 소유권자를 확인하기 위한 것

스텔스(Stealth) 스캔

  • 로그를 남기지 않는 것만이 아니라, 공격 대상을 속이고 자신의 위치를 숨기는 스캔 모두를 통칭
  • TCP Half Open 스캔.
    • 세션을 완전히 연결하지 않고 포트의 활성화 여부를 판단한다.
    • 열린 포트에 SYN 패킷을 보내 SYN+ACK 패킷이 돌아와도 RST 패킷을 보냄으로서 세션을 맺지 않는다.
    • 로그를 남기지 않는다.
  • FIN(Finish) 스캔
    • 포트가 열린 경우 응답이 없고, 닫힌 경우 RST 패킷이 돌아옴.
  • NULL 스캔
    • 플래그 값을 설정하지 않고 보낸 패킷
  • XMAS 스캔
    • ACK, FIN, RST, SYN URG 플래그 모두를 설정하여 보낸 패킷

위의 FIN, NULL, XMAS 스캔은 열린포트의 경우 아무 응답이 없다.
즉, 샌션을 완전히 연결하지 않기 때문에 로그가 남지 않는다.


ACK 패킷을 이용한 스캔 - 스탤스 스캔

  • 모든 포트에 ACK 패킷을 보낸 후 이에 대한 RST 패킷을 받아 분석
  • 공격자는 RST 패킷의 TTL 값과 윈도우의 크기를 분석한다.
  • 포트가 열려있다면?
    • TTL 값이 64이하인 RST 패킷이 돌아오고, 윈도우 크기(한번에 보낼 수 있는 데이터의 양)가 0이 아닌 임의의 값을 가진 RST 패킷이 돌아온다.
  • 포트가 닫혀있다면?
    • TTL 값이 운영체제에 따라 일정하게 큰 값이며, 윈도우 크기(한번에 보낼 수 있는 데이터의 양)가 0인 RST 패킷이 돌아온다.
  • 방화벽의 종류 판단 목적이다.
  • 스캔이 필터링 되었을 경우 응답하지 않거나, ICMP 에러 메시지를 돌려준다.

TCP 단편화(Fragmentation)

  • 크기가 20바이트인 TCP 헤더를 패킷 두 개로 나누어 보낸다.

시간차를 이용한 스캔

  • 아주 짧은 시간 동안 많은 패킷을 보내는 방법
    • IDS(Intrusion Detection System) : 침입 탐지 시스템
    • 방화벽과 IDS 처리 용량의 한계를 넘기는 방법
  • 아주 긴 시간 동안 패킷을 보내는 방법
    • 방화벽과 IDS가 패킷 패턴에 대한 정보를 얻기 힘들기 때문에 공격자의 스캔을 확인하기 힘들다.

UDP 스캔

  • 포트가 닫힌 경우 공격 대상이 ICMP Unreachable 패킷을 보내지만, 열린 경우에는 보내지 않는다.(신뢰성이 떨어진다)
  • ICMP Unreachable : 최종 목적지 호스트에 도달할 수 없을 때

운영체제 탐지

배너 그래빙(Banner Grabbing)

  • 상대 시스템의 운영체제를 확인하는 가장 기본적인 방법
  • 텔넷처럼 원격지 시스템에 로그인을 하면 뜨는 안내문과 비슷한 것으로 이 배너를 확인하는 기술이다.

TCP/IP 반응 살펴보기

  • FIN 스캔 이용 : 적용되는 운영체제는 윈도우, BSD, Cisco, IRIS
  • 세션 연결 시 TCP 패킷의 시퀀스 넘버 생성을 관찰

방화벽에 대한 이해

방화벽

  • 접속에 대한 허용과 차단을 결정
  • IDS(Intrusion Detection System)
    • 방화벽이 막을 수 없거나 차단에 실패한 공격을 탐지하여 관리자에게 알려주는 역할

방화벽 탐지

  • traceroute를 사용한다.

    • 실행하는 컴퓨터에서 데이터 패킷을 목적지 서버로 보내어 가는 네트워크 경로를 확인해 주는 명령어

    • 목적지까지 데이터 도달여부를 확인하는 도구

      ##여기서 ping과의 차이점!!##
      ping은 상대방 컴퓨터, 네트워크 장비, 서버까지 통신이 잘 되는지 확인하는 명령어이다. 대상 컴퓨터에 ICMP 에코 패킷을 보낸 후 에코 응답패킷을 수신하여 대상 컴퓨터의 연결 상태를 확인한다.

    • *만으로 표시되는 곳이 라우팅에서 필터링 해주고있거나 방화벽이 존재하는 것

  • firewalk(파이어워크)

    • 방화벽에는 관리나 작동상의 이유로 열린 포트가 있는데 포트 스캔을 통해 방화벽의 종류를 알 수 있다.
    • ACL(Access Control List)을 알아낼 수 있다.
    • ACL
      • 트래픽 필터링과 방화벽을 구축하는데 가장 중요한 요소로, 허가되지 않은 이용자가 라우터나 네트워크의 특정 자원을 접근하려고 하는 것을 차단한다.
      • 특정 패킷을 필터링 가능하고 발신지 주소, 목적지 주소, TCP/UDP 포트 번호 같은 사항들을 기반으로 허락과 거부를 할 수 있다.

SNMP에 대한 이해

SNMP(Simple Network Management Protocol)

  • TCP/IP 프로토콜을 사용하는 인터넷에서 장치들을 관리하기 위해 사용하는 프로토콜

SNMP 구성 요소

  • 관리 시스템과 관리 대상(Agent)로 나뉨
  • 에이전트의 구성
    • SNMP : 전송 프로토콜
    • MIB(Management Information Base) : 관리할 개체의 집합
    • SMI(Structure of Management Information) : 관리 방법
  • 관리 시스템과 에이전트 통신의 최소 일치 사항 : 버전, 커뮤니티, PDU 타입
  • SMI : 표준에 적합한 MIB를 생성하고 관리하는 기준
  • OID : MIB를 생성하려면 OID를 지정받아야 함

0개의 댓글