프로토콜 분석

1. Telnet 프로토콜

1) 개요

- 텔넷은 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜(원격 제어 터미널)

- 프로토콜의 클라이언트 일부 기능이 추가된 소프트웨어

- 텔넷 클라이언트는 대부분의 유닉스 시스템에서 사용

- 최근 텔넷의 보안 문제로 사용률 감소 (SSH로 대체)

- 23번 포트를 주요 사용

2) 실습

 

2. FTP 프로토콜

1) 개요

- 파일 전송 프로토콜의 약자

- TCP/IP 프로토콜을 가지고 서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜

- 응용 계층에 속함

- 최초의 FTP 클라이언트 애플리케이션들은 운영 체제가 그래픽 사용자 인터페이스를 갖추기 이전에 개발된 CUI 프로그램으로 현재 대부분의 윈도우, 유닉스, 리눅스 운영 체제에 기본 포함

- 그 뒤로 수많은 FTP 클라이언트 및 오토메이션 유틸리티들이 데스크톱, 서버, 모바일 장치, 하드웨어용으로 개발되고 있으며, FTP는 웹 페이지 편집기와 같은 생산성 응용 프로그램들에 통합

명령/데이터 전송 연결

명령 연결

  - 서버 21번 포트

  - 명령을 위한 연결 생성 후 여기를 통해 클라이언트에서 지시하는 명령어 전달

데이터 전송용 연결

  - 실제 파일 전송은 필요할 때 새로운 연결

능동/수동 모드

능동 모드

  - 20번 포트에서 클라이언트가 지정한 지점으로 데이터 연결

  - 클라이언트가 방화벽, NAT 등을 사용하는 환경일 때 동작 X

수동 모드

  - 클라이언트가 서버의 지정한 포트로 연결

  - 보통 1023보다 큰 포트 사용

2) 실습

 

3. ARP/ICMP 프로토콜

1) 개요

ARP(주소 결정 프로토콜)

- 네트워크 상에서 ip 주소를 물리적 네트워크 주소로 대응시키기 위해 사용되는 프로토콜

 

- ARP 통신 방식

     : 호스트 A가 호스트 B에게 IP 패킷 전송

     : ARP 프로토콜 사용

     : 호스트 B는 자신의 IP 주소가 목적지에 있는 ARP 패킷 수신

     : 자신의 물리 주소를 A에게 응답

- ARP Table

     : IP 호스트의 ARP 캐시라 불리는 메모리에 테이블 형태로 저장

     : 패킷을 전송할 때 다시 사용

- ARP와 반대로 IP 호스트가 자신의 물리 네트워크 주소는 알지만 IP 주소는 모르는 경우 서버로부터 IP 주소를 요청하기 위해 RARP를 사용

 

ICMP(인터넷 제어 메시지 프로토콜)

- ICMP 필요성

     : IP는 최선형 전달 서비스만 지원하기 때문에 IP 패킷이 전송되는 목적지에 전달되지 못함

     : 전달되더라도 원하는 서비스 포트가 존재하지 않는 경우가 존재하지 않는 경우도 발생

     : 오류에 대한 보고 기능과 네트워크 상태 진단 기능을 통해 IP를 보조하는 기능을 수행

     : ICMPIP로 캡슐화되며 IP 헤더의 프로토콜 필드값을 1로 설정하여 ICMP 메시지임을 나타냄

ICMP 포맷

메시지 타입 필드 : ICMP 메시지 종류를 기술

코드 필드 : 메시지 타입에 따라 세분화가 필요할 때 사용

체크섬 필드 : ICMP메시지에 대해 체크섬을 계산한 값이 삽입

 

2) 실습

 

4. HTTP/DNS 프로토콜

1) 개요

HTTP

- HTTPWWW 상에서 정보를 주고받을 수 있는 프로토콜

- 주로 HTML 문서를 주고받는 데 쓰임

- HTTP는 클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜

- 전달되는 자료는 http:로 시작하는 URL로 조회

요청 메소드

설명

GET

URL에 해당하는 자료의 전송 요청

HEAD

GET과 같은 요청이지만 자료에 대한 정보만을 받음

POST

서버가 처리할 수 있는 자료 전송

PUT

해당 URL에 자료를 저장

DELETE

해당 URL의 자료를 삭제

TRACE

이전에 요청한 내용을 들을 것을 요청

OPTIONS

서버가 특정 URL에 대해 어떠한 HTTP Method를 지원하는지 확인

CONNECT

프록시가 사용하는 요청

PATCH

리소스에 대한 부분적인 수정을 적용

DNS(도메인 네임 시스템)

- 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행

- 특정 컴퓨터의 주소를 찾기 위해 사람이 이해하기 쉬운 도메인 이름을 숫자로 된 식별 번호로 변환

- IP 주소로 변환하고 라우팅 정보를 제공하는 분산형 데이터베이스 시스템

- 전화번호부와 비슷한 기능

 

2) 실습

 

5. SMB 프로토콜

1) 개요

- 도스나 윈도우에서 파일이나 디렉터리 및 주변 장치들을 공유하는데 사용되는 메시지 형식
- NetBIOS는 SMB 형식에 기반을 두고 있으며, 많은 네트워크 제품들도 SMB를 사용
(랜매니저, 윈도우 포 워크그룹(Windows for Workgroups), 윈도우 NT, 그리고 랜 서버(Lan Server) 등)
- 서로 다른 운영체제 사이에 파일을 공유할 수 있도록 하기 위해 SMB를 사용
- SMB는 대부분 마이크로소프트 윈도우를 실행하고 있는 컴퓨터에서 이용
- 윈도우 2003, win7, vista 이상

 

 

[네트워크 분석 도구]

 

1. 시큐리티 오니언
- 침입 탐지, 네트워크 보안 모니터링 및 로그 관리를 위한 Linux 배포판
- Ubuntu를 기반
- Snort, Suricata, Bro, OSSEC, Sguil, Squert, ELSA, Xplico, NetworkMiner 및 기타 여러 보안
도구 포함
- 사용하기 쉬운 설치 마법사를 사용하면 몇 분 안에 기업의 분산 센서 군 구축


2. wireshark
- 세계에서 가장 널리 쓰이는 네트워크 분석 프로그램
- 네트워크상에서 캡처한 데이터에 대한 네트워크/상위 레이어 프로토콜의 정보를 제공
- 패킷을 캡처하기 위해 pcap 네트워크 라이브러리를 사용
- 장점 : 쉬운 설치, GUI를 이용한 간단한 사용법, 다양한 기능


3. xplico
- 목표 : 포함된 응용 프로그램 데이터를 인터넷 트래픽 캡처에서 추출
- pcap 파일에서 각 전자 메일, 모든 HTTP 내용, 각 VoIP 호출, FTP, TFTP 등을 추출
- 오픈 소스 네트워크 포렌식 분석 도구
- 지원되는 프로토콜 : HTTP, SIP, IMAP, POP, SMTP, TCP, UDP, IPv6 등
- 각 애플리케이션 프로토콜에 대한 PIPI
- SQLite 데이터베이스 또는 MySQL 데이터베이스 및 / 또는 파일에 데이터 및 정보 출력
- 재구성한 각 데이터에는 플로우를 고유하게 식별하는 XML 파일과 재구성된 데이터가 포함된 pcap 연결
- 외부 DNS 서버가 아닌 입력 파일에 포함된 DNS 패키지에서 역 DNS 조회
- 데이터 입력 또는 파일 입수 수에 제한 X
- 각 Xplico 구성 요소는 모듈 (모듈화)
- 가장 적절하고 유용하게 추출된 데이터를 구성하는 디스패처를 쉽게 생성할 수 있는 기능


4. networkminer
- Windows 용 Network Forensic Analysis Tool (NFAT)
- Linux / Mac OS X / FreeBSD에서도 호환
- 운영 체제, 세션, 호스트 이름, 열린 포트 등을 검색하기 위해 수동 네트워크 스니퍼/패킷 캡처 도구로 사용
- PCAP 파일에서 전송 된 파일 및 인증서를 다시 생성/재구성
- 직관적인 사용자 인터페이스에서 추출된 가공하여 고급 네트워크 트래픽 분석 (NTA)을 쉽게 수행
- YouTube와 같은 웹 사이트에서 네트워크를 통해 스트리밍되는 미디어 파일(예 : 오디오 또는 비디오 파일)
을 추출하고 저장하는 데 사용
- 파일 추출을 위해 지원되는 프로토콜 : FTP, TFTP, HTTP, SMB, SMB2, SMTP, POP3 및 IMAP


5. captipper
- Python으로 제작된 악성 트래픽 분석 도구
- 디지털 포렌식 분석을 하기 위한 기본 기능을 제공
    : 트래픽 내에서 파일 추출
    : 트래픽 흐름 분석
    : 패킷 헤더, 내용 분석
    : 헥사 뷰어
    : 기타 기능 제공
- 패킷 캡쳐 파일 흐름 재구성 기능 제공
    : log 명령으로 페이지 탐색 모니터링 가능
- 통신을 오브젝트 단위로 구별하여 분석 기능 제공
- 분석 보고서 생성 기능 제공(--report 옵션)


6. IDS 장비
① 스구일(Sguil)
- 네트워크 보안 모니터링 및 탐지 이벤트 분석 도구
- 일반 GUI 응용 프로그램
- TCL/TK 를 지원하는 모든 운영 체제에서 실행 가능
- Linux, MacOS, Window 등
② Quick Query
- ST / Src IP / Sport / Dst IP / Dport 값을 기준으로 데이터 베이스 결과를 출력
- 사용 방법 : 마우스 오른쪽 클릭 후 사용
- ST 필드는 카테고리를 기준으로 데이터를 검색
- Src IP, Dst IP, Sport, Dport는 해당 값들을 기준으로 데이터를 검색
③ 스노트(Snort)
- 스니퍼 : 네트워크 패킷 수집
- 패킷 디코더 : 전처리기와 탐지 엔진이 파싱 할 수 있도록 정규화
- 전처리기 : 특정 행위가 발견된 패킷을 탐지 엔진으로 전송
- 탐지엔진 : 전달받은 패킷을 스노트 규칙에 매칭되는 지 확인
- 경고/로깅 : 스노트 규칙에 매칭된 경우 경고 출력 및 기록


7. 바이러스 토탈
- 대표 온라인 분석 사이트
- 기존에 동일한 샘플코드들이 존재했는지 빠르게 확인
- 하루에도 수많은 악성코드가 나타나는 위협에 빠르게 대응
- swf나 exe등의 다양한 악성코드 분석 시 주로 이용
- 다양한 기능
    : 파일 전송 및 검색
    : 이미 제출된 파일 재검색
    : 파일 검사 보고서 가져오기
    : URL 보내기 및 스캔
    : URL 스캔 리포트 가져오기
    : IP 주소 보고서 검색
    : 도메인 보고서 검색
    : 파일 및 URL에 대한 의견을 달기
    : 공용 API와 상호 작용하는 스크립트

'2020 WINTER STUDY > Network' 카테고리의 다른 글

4주차  (0) 2021.02.12
3주차  (0) 2021.01.25
1주차  (0) 2021.01.11

+ Recent posts