[SK쉴더스 루키즈 24기] 네트워크 보안(6) 풋프린팅, 스캔 및 탐지, 스니핑

아굥·2025년 1월 20일
1

SK Shieldus Rookies

목록 보기
20/32

이론 설명

1. 풋프린팅

공격 대상의 정보를 모으는 방법 중 하나

1) 사회 공학 기법

  • 친구끼리 사요자 계정 정보를 주고 받거나, 패스워드를 메모해두는 것을 이용
    ㄴ> 실제로 패스워드 노출 대부분이 사회 공학에 의한 것

2) 필요한 정보

  • 침입하고자 하는 사용자의 계정
  • 패스워드를 찾기 위한 계정을 사용하는 사람의 정보
  • 게시판 이용
  • 협력사나 계열사의 보안 조치 확인

=> 공격 대상 사이트를 직접 접속하는 것보다 유틸리티로 사이트를 다운로드한 뒤, 검색하는 것이 좋음


2. 스캔

서비스를 제공하는 서버의 작동 여부뫄 서버가 제공하는 서비스를 확인

1) Ping

  • 네트워크, 시스템이 정상 작동하는지 확인하는 유틸리티
  • ICMP, TCP/IP 네트워크에서 사용

2) ICMP 스캔

  • ICMP를 이용하여 공격 대상 시스템의 활성화 여부 확인

방법

  • Echo Request(Type 8)와 Echo Reply(Type 0)
  • Timestamp Request(Type 13)와 Timestamp Reply(Type 14)
  • Information Request(Type 15)와 Information Reply(Type 16)
  • ICMP Address Mask Request(Type 17)와 ICMP Address Mask
    Reply(Type 18)

=> 가장 일반적인 방법은 Echo Request(Type 8)와 Echo Reply(Type 0) 이용

3) TCP Open 스캔

  • 3-Way HandShake, 4-Way HandShake
  • Reverse Ident: (세션 성립 상태) 원격지 서버에서 데몬을 실행하고 있는 프로세스의 소유권자를 확인하기 위한 것

4) 스텔스 스캔

  • 공격 대상을 속이고 자신의 위치를 숨기는 모든 스캔 -> 로그도 남기지 않음
    ex. TCP Half Open 스캔

종류

  • FIN 스캔: 포트가 열린 경우 응답이 없고, 닫힌 경우 RST 패킷이 돌아옴
  • NULL 스캔: 플래그(Flag) 값을 설정하지 않고 보낸 패킷
  • XMAS 스캔: ACK, FIN, RST, SYN, URG 플래그 모두를 설정하여 보낸 패킷

5) ACK 패킷 이용한 스캔

  • 모든 포트에 ACK 패킷을 보냄 -> 이에 대한 RST 패킷을 받아 분석
  • 포트가 열린 경우 TTL 값이 64 이하 RST 패킷, 윈도우가 0이 아닌 임의의 값을 가진 RST 패킷 리턴

6) TCP 패킷을 이용한 스캔

  • SYN 패킷을 이용한 스캔 방법은 세션을 성립하기 위한 정당한 패킷과 구별할 수 없음 -> 아직도 유효하며 아주 효과적

7) TCP 단편화

8) 시간차를 이용한 스캔

  • 아주 짧은 시간 동안 많은 패킷을 보내는 방법: 방화벽과 IDS 처리 용량의 한계를 넘김
  • 아주 긴 시간 동안 패킷을 보내는 방법

9) FTP 바운스 스캔

  • 취약한 FTP 서버에서 PORT 명령어를 통해 다른 시스템의 포트 활성화 여부를 확인

10) UDP 스캔

  • 포트가 닫힌 경우 공격 대상이 ICMP Unreachable 패킷을 보냄 -> 열린 경우에는 보내지 않음

3. 운영체제 탐지

1) 배너 그래빙

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

2) TCP/IP 반응 살펴보기

  • FIN 스캔 이용 : 적용되는 운영체제는 윈도우, BSD, Cisco, IRIS 등
  • 세션 연결 시 TCP 패킷의 시퀀스 넘버 생성을 관찰
    ㄴ> 세션: 연결 유지되고 있음을 알려주는 것?

3) Netcraft 이용하기

  • 공격 대상의 운영체제에 대한 다양한 정보를 보여줌

4. 방화벽 탐지

침입자를 차단하는 1차 방어선이며, 접속에 대한 허용/차단을 결정함

  • traceroute: 방화벽 설치 여부 확인

1) firewalk

  • 방화벽의 ACL(Access Control List)를 알아냄

원리

  • 방화벽이 탐지 -> 방화벽까지의 TTL + 1 값을 생성하여 보냄
  • 방화벽이 패킷을 차단할 경우 -> 아무 패킷도 돌아오지 않음 -> 닫힌 포트에 패킷 보냈음을 의미
  • 방화벽이 패킷을 보내는 경우 -> 다음 라우터에서 사라짐 -> ICMP Time Exceeded 메시지(Type 11)를 보냄 -> 열린 포트에 패킷 보냈음을 의미

=> 공격자는 ICMP Time Exceeded 메시지 여부를 받은 포트가 열린 포트임을 추측 가능


5. SNMP

중앙 집중적인 관리 툴의 표준 프로토콜

1) 구성 요소

  • 관리 시스템/관리 대상(Agent)
  • Agent: SNMP, MIB, SMI

2) MIB(Management Information Base)

  • 관리자가 조회, 설정할 수 있는 개체들의 데이터베이스 -> 개체 별로 트리 형식 구조
  • MIB를 생성하려면 OID를 받아야 함
    ㄴ> 각 제조업체, 기관은 특정 번호 할당 -> 받은 번호를 생산한 장비에 부여

** OID: IP 주소와 유사한 표기법 사용

3) SMI(Structure of Management Information)

  • 표준에 적합한 MIB를 생성하고 관리하는 기준 -> 관리 정보 구조

4) 관리 시스템과 에이전트 통신 과정

  • Get Request: 관리 시스템이 특정 변수 값을 읽음
  • Get Next Request: 관리 시스템이 이미 요청한 변수의 다음 변수 값을 요청
  • Set Request: 관리 시스템이 특정 변수 값의 변경을 요청
  • Get Response: 에이전트가 관리 시스템에 해당 변수 값을 전송
  • Trap: 에이전트의 특정 상황을 관리 시스템에 알림 -> 환경정보 수집, SIEM 로그 수집, 중앙 집중화 관제 시 사용

5) 취약점

  • 아무나 MIB 정보 확인 가능
  • 패킷이 UDP로 전송 -> 연결의 신뢰도 낮음
  • 데이터가 평문으로 전송 -> 스니핑 가능

6) 보안 대책

  • 불필요한 경우 SNMP 사용을 막음
  • 사용할 경우 커뮤니티를 복잡하게 설정 -> 쉽게 노출되지 않도록
  • 패킷을 주고받을 호스트 설정 -> 사용할 시스템 IP 등록

6. 스니핑

전화선이나 UTP에 탭핑하여 전기 신호를 분석 -> 정보를 찾아냄

1) 프러미스큐어스 모드

  • MAC 주소와 IP 주소에 관계없이 모든 패킷을 스니퍼에게 전달
  • 리눅스, 유닉스: 랜 카드에 대한 모드 설정 가능
    ㄴ> 윈도우: 스니핑을 위한 드라이버 따로 설치

2) 바이패스 모드

  • 패킷에 대한 분석까지 하드웨어로 구현되어 있는 랜 카드
  • GByte 단위 백본 망에서 스니핑 하기 위한 장비

3) 공격 툴

  • TCP Dump: 리눅스에서 기본이 됨, 초기 네트워크 관리용으로 개발 -> 관리자 느낌 강함
  • Fragrouter: 스니핑 보조 툴, 받은 패킷을 전달
    • 스니핑, 세션 하이재킹 시, 공격자에게 온 패킷을 정상적으로 전달하려면 -> 패킷 릴레이 필수
  • DSniff: 스니핑을 위한 툴 패키지, 암호화된 계정/패스워드 읽기 가능

4) 스위칭 환경

스위치는 각 장비의 MAC 주소 확인 후 포트에 할당함 -> 즉, 자신에게 향하지 않은 패킷은 받을 수 없음 (=스니핑 방지)

  • ARP 리다이렉트: 공격자가 자신을 라우터로 속임 -> 2계층 공격
    • 공격자 -> 원래 라우터의 MAC 주소 알고 있어야 함 + 받은 패킷은 다시 라우터로 릴레이
      ** ARP 스푸핑: 호스트-호스트 / ARP 리다이렉트: 호스트-라우터
  • ICMP 리다이렉트: 공격 대상에게 패킷 전송 -> 라우터에 다시 릴레이시켜 스니핑
    • 3계층에서 패킷 주고받음 -> 랜 말고도 공격 가능
  • 스위치 재밍: 스위치 직접 공격 (ex. MAC 테이블 위한 캐시 공간에 버퍼 오버플로우)
    • 고가 스위치는 MAC 테이블/연산 장치가 사용하는 캐시가 나뉘어 있음 -> 공격 안 통함
  • SPAN 포트 태핑: 포트 미러링 이용, IDS 설치 시 사용
    • 많은 문제점으로 모니터링에 어려움 존재
      ** 포트 미러링: 각 포트에 전송되는 데이터를 미러링 포트에도 똑같이 전송
  • 태핑: 포트 모니터링을 위한 장비 (=Splitter)

5) 대응책

능동적 대응

  • ping 이용: 의심가는 호스트에 존재하지 않는 MAC 주소를 위장하여 보냄 -> ICMP Echo Reply 받으면 스니핑
  • ARP 이용: 의심가는 시스템에 위조 APR Request 전송 -> ARP Response 받으면 스니핑 (프러미스큐어스 모드로 동작 중)
  • DNS 이용: 대상 네트워크로 Ping Sweep 전송 -> 들어오는 Inverse-DNS lookup 확인
  • 유인 이용: 가짜 계정/패스워드 뿌림 -> 해당 계정으로 접속 시도하는 시스템 탐지
  • ARP Watch 이용: 초기 MAC 주소, IP 주소 매칭 값 저장 -> ARP 트래픽 모니터링 -> 해당 값을 변하게 하는 패킷 탐지 시 관리자 메일로 전송

수동적 대응

  • SSL(Secure Socket Layer): 암호화된 웹 서핑 가능
  • SSH(Secure Shell): 서비스 암호화(ex. telnet)
  • VPN(Virtual Private Network): 암호화 트래픽 제공
    • 사용 중인 시스템이 해킹 시 -> 암호화 이전에 데이터 스니핑 위험
  • PGP, PEM, S/MIME: 이메일 전송 시 사용하는 암호화
    • PGP: 기본적으로 ‘ Web of Trust’ 개념 사용
      • 내용 암호화: IDEA, IDEA 키, 전자서명
      • 알고리즘: RSARivest, Shamir, Addleman
    • PEM : 공개키 암호화 표준을 따름, CA에서 키를 관리
      • 데이터 암호화: DES-EDE
      • 키를 위한 암호화 알고리즘: RSA
      • 전자 인증을 위한 해시 함수: MD2, MD5
    • S/MIME: 이메일 표준인 MIME 형식에 암호화 서비스만을 추가한 것
      • PKCS 기반

기타 설명

PoC, BMT

  • PoC(Proof of Concept): 개념 검증 -> 특정 방식을 구현하여 타당성을 증명
  • BMT(Bench Mark Test): 성능 테스트 -> 기능을 비교할 수 있는 동일한 기준 내에서 테스트 진행
  • 문서화 되지 않은 것은 모의 해킹 X -> 문서를 작성해야 함

허니팟(honeypot, 허니 포트(honey pot))

  • 비정상적인 접근을 탐지하기 위해 의도적으로 설치해 둔 시스템
  • 네트워크 상에 특정 컴퓨터를 연결해 두고 해당 컴퓨터에 중요한 정보가 있는 것처럼 꾸밈 -> 공격자가 해당 컴퓨터에 접근하는지 탐지

Q&A

Q1. 회사 예산

  • 회사: 보안에 돈을 써야된다는 생각을 잘 못함, 중요하게 생각하지 않음
  • 마케팅적으로 생각 -> ex. 암호화폐

=> 회사에 얼마나 돈을 조달할 수 있을지에 대한 관점에서도 고민


토론 내용

1. 오전 토론

해킹 시나리오 기반의 보안 대응방안 작성 후 발표

  • 스마트 공장을 추진하는 제조기업의 보안강화 방안

1) 스마트 공장을 추진하는 제조기업의 보안강화 방안

  • 돈 X, 인력 X -> 오픈소스 쪽을 생각할 것
  • 스마트 공장 보안강화 가이드 참고

2) 변화한 업무환경을 위한 구조적 정보보호 대응방안 도출

  • 시야 확보 -> 가시성을 생각할 것
  • 제로 트러스트 2.0 가이드 참고

=> 회사 관점에서 대응방안 도출하는 걸 훈련하는 것이 좋음 (+ 공모전 준비)

2. 오후 토론

Untangle 기반 FW/NAC 정책 구성

Untangle이란?

  • Debian 기반의 UTM(unified Threat Management) 보안 솔루션
    ㄴ> 네트워크 관리 소프트웨어를 제공해주는 오픈소스 소프트웨어

진행한 실습 내용

  • 방화벽 정책 추가 (시나리오 기반)
  • 네트워크 접근 설정 (인증 요청 화면 설정)

참고자료

🔗 개인정보보호위원회 | 개인정보보호 모의재판 경연대회
https://www.pipc.go.kr/np/cop/bbs/selectBoardArticle.do?bbsId=BS061&mCode=C010010000&nttId=10238

profile
열심히 살아보아요

2개의 댓글

comment-user-thumbnail
2025년 1월 20일

와 sk쉴더스 ㄷㄷ 인생 피셨네요 선생님

1개의 답글