SK shieldus Rookies 16기 (네트워크 보안 #04)

만두다섯개·2023년 11월 17일
0

SK 루키즈 16기

목록 보기
19/52

주요 정보

  • 교육 과정명 : 클라우드기반 스마트융합보안 과정 16기
  • 교육 회차 정보 : '23. 11. 16. 네트워크 보안 #04
    강의자료[05. 네트워크 공격과 패킷 분석 실습] - 실습 환경 세팅
  1. VMware Workstation 설치
  • VMware Workstation 17 PRO 라이센스 키 공개되었음. 해당 키 사용. (Git 허브)
  • Edit – 권한 실행 후 모든 네트워크 삭제
  • Add Network 로 VMnet08 추가 – NAT 네트워크 설정, DHCP 비활성화
  • NAT Settings에서 Gateway IP 설정

  • Kali Linux 불러오기 (2022.04버전 압축 해제)
  • Open a Virtual Machine
  • Devices 더블클릭 – Network Adapter – Custome – VMnet08 선택

  • power On (Kali linux 열기)
  • 우측 상단 RJ45 아이콘 우클릭 – Network Connections – Wired connection 1 – IPv4 Settings – Method : Manual (추후 연결 불량시 해당 옵션 확인) 설정
  • Address 추가, DNS servers 추가 - save

  • 인터넷 연결 아이콘이 RJ45 아이콘으로 변경되면 - CMD – ifconfig 명령어로 Kali linux IP 주소가 192.168.10.10인지 확인.
  • 추가로 외부 웹 페이지(네이버) 접속 확인

  • Metasploitable 불러오기
  • Linux 2.0 버전 압축 해제
  • Open a Virtual Machine로 불러오기
  • Description 에서는 해당 OS의 계정 정보를 확인 가능하다

  • Devices 더블클릭 – Network Adapter – Custom – VMnet08 선택
  • Metasploitable 은 LAN 카드가 2개 존재해 Network Adapter 가 2개 존재한다.

  • power On Metasploitable linux 열기) - copy it 선택
  • 참고 [ Ctrl + Alt ] 누르면 가상머신 밖으로 나간다.
  • 로그인 – cd /etc/network - sudo nano interfaces – 아래 사진처럼 세팅 후 Ctrl + O, Ctrl + X(나오기)
  • 다시 들어가서 세팅 값 확인한다.

  • sudo ifdown eth0 ( 비밀번호 요구 시 : mfsadmin)
  • sudo ifup eth0 (비밀번호 요구 시: mfsadmin)
  • sudo shutdown –r now
  • ifconfig 및 ping 192.168.10.10 핑 테스트 (192.168.10.10 는 Kali Linux 라 해당 OS가 켜져 있어야 한다.)
  • 윈도우 10 설치
  • Create a vritual machine – Cutome – next - I will install os later -

  • virtual machine name : client – Location – 여유공간 설치(나는 D드라이브 Clinet 폴더 생성 후 사용) - Firmware type ,BIOS 선택 – Processors, Number of processors: 2, Number of cores per processor : 2 선택 – Memory for this virtual machine, 4096MB 설정 – NAT 선택 - LSI Logic SAS 선택 – NVMe 선택 – Maximum disk size 60GB 선택, Store virtual disk as a single file 선택 – Finish
  • 명시하지 않은 설정은 추천 설정 사용 또는 그대로 두고 넘긴다. 설치 후에도 virtual machine setting에서 교환 가능
  • Devices 더블클릭 – Network Adapter – Custome – VMnet08 선택

  • OS 설치
  • ISO 이미지 파일을 사용해 OS 설치하는 과정이다.
  • CD/DVD – Connection – Use ISO image file – 다운로드받은 윈도우 ISO 파일 열기

  • 윈도우 기본 설정으로 (aaaa / 비번 없음)
  • 윈도우 10 OS 인터넷 설정
  • IP : 192.168.10.30
  • 서브넷마스크 :255.255.255.0
  • 게이트웨이 : 192.168.10.2
  • DNS : 192.168.10.2
  • CMD – ipconfig에서 설정 네트워크 값 확인

  • 윈도우 OS의 경우에는 방화벽에서 막혀 설정한 네트워크로의 ping 이 나가지 않을 수도 있다.
  • 제어판 – 시스템 및 보안 – Windows Defender 방화벽 - Windows Defender 설정 및 해제
  • 방화벽을 모두 사용 안 함 설정한다
  • 이 설정을 왜 할까? (Kali Linux <-> WIN 10 OS 간 핑 작업)


강의자료[05. 네트워크 공격과 패킷 분석 실습] - 자료 정리

네트워크 공격과 패킷 분석

네트워크 공격의 순서

  1. 정보 수집 단계 : 공격 호스트는 목표인 Target을 선정한다.
  • Kali Linux의 프로그램 중, [ 01 – Information Gathering ]을 사용한다.
  1. 취약점 점검 : 선정한 Target을 대상으로 취약점을 점검한다
  2. 취약점 공격 : 파괴, 데이터 유출, 도청 등..
  3. 로그 삭제
  4. 백도어 설치
  • 시스템 공격, 네트워크 공격은 다르다. 이번 실습에서는 네트워크 공격을 다룬다.
  • 네트워크 공격 방식 : Port 공격, Pharming 공격, DDoS 공격 종류 존재

#_1 Port 공격과 패킷 분석

Port 공격과 패킷 분석 과정

  • 정보 수집 단계에서 진행된다.
  • Kali Linux에서 관리자로 로그인 한다
  • sudo su - // root 권한을 사용한다.

  • Kali Linux에서 설치된 Wireshark 실행시킨다.
  • ifconfig 로 Lan 카드이름과 Wireshark에서 인터페이스를 선택한다.
  • 패킷 수집을 위해 빨간색 아이콘 클릭
  • CMD (이후 계속 root 권한) - fping –g 192,168.10.0/24
  • 패킷 수집을 위해 파란색 지느러미 아이콘 클릭
  • 약 5초 후, 패킷 수집 중단을 위해 빨간색 아이콘을 클릭한다.

fping 명령어로 alive 된 호스트 찾기

  • Kali Linux CMD – fping –g 192.168.10.0./24 (엔터 전)
  • WireShark 캡처 시작 – 명령어 엔터 - WireShark 캡처 종료
  • WireShark - ARP 북마크 검색
  • ping 전송 시, 컴퓨터의 MAC 주소가 필요하다.
  • 따라서 ARP Request 전송하고, ARP Response 받는다.

  • 해당 패킷은 ARP 프로토콜을 사용하고, OpCode값을 알 수 있다. (1 : Request/ 2: Relply)
  • Opcode 값을 우클릭 후 Prepare as Filter 로 지정 후, 값을 2로 변경하면, ARP Respnse를 알 수 있다. 즉, Reply 로 온 패킷 확인 가능하다.
  • 위 내용으로 알 수 있는 것은, fping을 보내면 (ping을 보내면) ping 명령어를 실행하면 ARP 패킷을 브로드캐스트 방식으로 전송하는 것을 확인 가능하다.

  • 10.0 대역에서, 10.1, 10.2, 10.10, 10.20, 10.30 이 현재 LAN에 있음을 알 수 있다.

Port Scan

  • 공격 대상의 포트를 스캔하여 추후 공격 방법 결정 시 사용하거나, 네트워크 구조, 시스템, 서비스 등의 정보를 얻기 위해 수행한다.
  • 포트 스캔 자체가 위법 행위가 될 수 있다.
  • Port Scan 종류는 아래 그림과 같다.
  • 해당 실습에서는 Open, Stealth Scan을 사용한다.
  • 두 방법의 차이는 3-way Handshaking 사용 여부이다.
  • Port Scan을 하기 위해 Kali Linux에서 nmap 툴을 사용한다

namp 사용

  • nmap 툴은 특정 호스트의 전체 포트(1 ~ 65535)를 스캔한다 (하나씩 문 열어보기)
  • 특정 프로토콜의 포트 개방 확인
  • 특정 포트의 사용으로 해당 포트를 사용하는 프로토콜, 다른 포트를 알 수 있다.
  • namp 툴의 종류는 아래와 같다

TCP Scan

  • TCP 프로토콜의 3-way-handshaking 방식을 사용한 스캔 방식이다.
  • 공격 대상의 포트가 열려 있는 경우 ACK/SYN 패킷을 수신받는다.
  • 속도가 느리고, 로그를 남긴다는 단점을 가진다.
  • 스캔 포트에 접속 및 완전한 TCP 연결을 맺으므로 신뢰성 있는 결과를 얻는 장점을 가진다.

TCP Full Open Scan

  • namp –sT 192.168.10.20

  • Port Scan 결과 135, 139, 445 TCP 포트가 개방되어 있다고 나온다.

  • 이중, 139,445 TCP 포트는 SMB 프로토콜에 사용된다.

  • Wireshark 에서도 동일한 결과가 나오는 것을 알 수 있다.

  • 3-way handshaking으로 개방된 포트에 연결한 공격 호트스가 [RST,ACK]를 사용해 강제 연결 해제를 시키는 것을 알 수 있다. 3개의 개방 포트를 발견해 연결 후에 연결 해제한다.

  • namp –sT –O 192.168.10.20 (알파벳 대문자 O 옵션 : OS 정보 포함 스캔)

  • 실행권한 root를 요구한다

  • 공격 대상 호스트의 운영체제를 알 수 있다.

  • 커널 버전은 확인 할 수 없다. (윈도우 버전을 알아도, 커널 버전은 OS와 별도로 업데이트된다)

  • 공격 대상까지의 거리 - Hop 수 확인 가능

TCP Full Open Scan 공격 방식의 단점

  • 3-way-handshaking 방식을 기반으로 수신호스트의 포트를 확인하기 위해 사용하는 방식이다. 따라서 열려있는 포트가 존재한다면, 해당 포트와 연결되어 세션이 수립되고, 이는 기록에 남아 어디서 접속했는지 알 수 있게되는 공격 호스트 노출의 단점이 있다.
  • TCP Port Scan은 보통 사내 망 관리자들이 자사의 서버에 대한 취약점 점검 목적으로 사용한다.

TCP Half Open Scan

  • 세션 로그가 남는 TCP Full Open Scan을 보완하기 위한 방법
  • 공격대상 포트가 열려있다는 답변이 오면, RST 패킷을 보내 연결을 끊는다. 연결이 수립되지 않아 세션이 없으므로, 로그가 남지 않는다.

TCP Half Open Scan 순서

  • nmap –sS 192.168.10.20

Stealth Scan

  • 3-way-handshaking을 사용한 기법이 아니다.
  • 따라서 세션을 성립하지 않고 활성화 포트를 알아내기 때문에 공격 대상 시스템에 로그를 남기지 않는다.
    Stealth Scan 결과로 닫힌 포트를 알 수 있다. 추후 공격 계획을 세울 때 해당 포트를 제외하고 공격 방식에 사용될 것이다.

Stealth Scan 결과로 알 수 있는 것 (공격 호스트 / 방어자 관점)

  • 공격 호스트: 열려있지 않은 포트 목록 확보 가능
  • 방어자 : [ RST, ACK ] 패킷이 한 수신지에서 여러 송신지 포트로 보내는 것은 Stealth Scan 발생 유추 가능.

Fin scan

  • nmap –sF 192.168.10.20
  • 공격 호스트의 여러 포트를 공격 대상 호스트의 한 포트에 여러번 FIN 패킷을 날린다.
  • 닫혀있는 경우 RST/ACK 패킷을 받고, 해당 포트들이 닫혀있음을 알 수 있다.

XMAS scan

  • XMAS 의미가 FIN, PSH, URG 플래그를 MARK해 보낸다는 의미이다. (풍성하다)
  • TCP 프로토콜로 개방된 포트와 연결하지 않으려는 의미임과 동시에, 아래 나와있는 것처럼 세가지 플래그는 같이 사용할 수 없는 플래그이다.
  • 공격 대상 호스트는 세 가지 플래그의 조합이 다량으로 들어오는 시그니처를 확인하면 XMAS 스캔을 유추해낼 수 있다.
  • FIN 플래그 MARK 의미 : TCP 연결 종료 시작을 알리는 플래그
  • PSH 플래그 MARK 의미 : 이 플래그를 가진 데이터는 버퍼에 쌓지 말고 바로 응용 프로그램에 사용해.
  • URG 플래그 MARK 시 : 이 플래그를 가진 데이터는 우선순위를 높혀 빨리 처리해 줘
  • 두 개의 상충되는(보통에서는 동시에 사용되지 않는 플래그를 동시에 사용한다)플래그를 사용해 스캔 시도하는 것을 알 수 있다.
  • 해당 포트가 잠겨있는 경우 RST/ACK 포트가 도착한다.

Null scan

  • TCP 헤더 내 플래그 값을 설정하지 않고 [ None ]으로 표시 패킷을 전송한다.

  • 해당 포트가 잠겨있는 경우 RST/ACK 포트가 도착한다.

UDP Scan

  • 3-way handshake 같은 절차가 없다
  • UDP 패킷을 전송 시 열린 포트로부터 특정 UDP 응답값(ICMP Unreachable) 수신한다.
  • 닫혀있는 포트로부터 ICMP Port Unreachable 에러 메시지를 통해 포트 활성화 유무를 확인한다.

UDP Scan

  • 시간이 오래 걸린다.
  • ICMP Port Unreachable 에러 메시지 수신으로 닫혀있는 포트를 알 수 있다.

ICMP Unreachable 메시지 Code

  • ICMP Unreachable : Port unreachable – Type : 3, Code : 3
  • UDP 스캔 결과로 (Port Unreachable)
  • ICMP 북마크 검색
  • 패킷 중, ICMP 프로토콜 응답이 많다면, 이는 UDP 포트 스캔 공격이 진행됨을 알 수 있다.

#_2 Pharming 공격

  • 피싱(Phishing) + 조작(Farming)의 합성어
  • 정상 사이트 접속 시도 시, 피싱 사이트로 접속이 유도되어 금융거래 등, 중요 정보를 빼낸다. 금전적인 피해를 주는 사기 수법에 사용된다.
  • Spoofing, 피싱 사이트를 사용한다.

Spoofing

  • Spoof : 속이다. 즉, 공격 대상 호스트를 속이는 행위이다.
  • 인터넷, 로컬 존재하는 모든 연결에 스푸핑 가능하다.
  • 정보를 얻어내기 위한 중단 단계 기술이다.
  • ARP Spoofing, DNS Spoofing 2종류가 있다.

Pharming 공격 실습

  • 실습 환경에서는 아래 그림과 같이 공격 대상 호스트, 공격 호스트가 같은 LAN에 속해있다고 가정한다.
  1. 피싱 사이트를 생성하고, 해당 피싱 사이트에 직접 접속한다. (피싱 사이트 생성)
  2. 피싱 사이트 생성, ARP, DNS Spoofing을 통해 정상 사이트 접속 시도 시, 피싱 사이트로 접속한다. (Pharming 공격)

1. 피싱 사이트 생성 및 직접 접속 방법

  • CMD – sudo su –i 권한으로 실행한다. (Pharming 공격 포함)

  • Kali Linux - setoolkit 사용한다.

  • setoolkit 1 – 2 – 3 – 2 - (10.10 IP에 클론 웹 사이트를 생성할지 질의, 엔터 입력시, 현재 주소에 클론 웹 사이트를 생성 ) - 동작~

  • Ctrl + C 로 중단할 때까지 작동한다. 공격 호스트 층 CMD 창에서는 클론 사이트 요청이 출력

  • 공격대상 호스트(윈도우 OS)에서 공격 호스트 호스트(Kali Linux)의 IP를 입력하면, 클론 페이지(피싱 사이트)로 접속한다.
  • 이 경우에는 공격 대상 호스트가 공격 호스트로 직접 접근한 것이다.
  • 페이지의 인증서 관련한 내용도 복사해 오기 때문에 특정 사이트의 클론 생성은 굉장히 오래 걸릴 수 있다.(naver 오래걸림)

ARP Spoofing 개요

  • 공격 대상 호스트의 MAC 주소를 속인다. [ 정상 IP ] <-> [ 잘못된 MAC ]

  • 공격 조건 : 2계층에서 작동해 공격 대상이 같은 LAN에 있어야 한다.

  • ARP 프로토콜의 특징 : ARP Request 보내지 않아도, ARP Response 오면, 추후 사용을 위해 ARP Cache Table 업데이트 및 추후 사용한다. 즉, ARP 프로토콜은 인증과정이 없다.

  • ARP Spoofing, DNS Spoofing 공격으로 피싱 사이트 접속 유도방식을 하기 위해서는 공격 호스트는 미리 공격 대상의 ARP, DNS Cache Table을 세팅시켜놔야 한다.

ARP Spoofing 공격 과정

  1. 공격 대상 호스트는 ARP 프로토콜을 사용해 접속하고자 하는 MAC 주소가 필요하다. 이때 ARP Request를 브로드캐스트로 전송한다.
  2. ARP Request를 브로드캐스트로 전송받은 허브는 해당 패킷을 플로딩한다. 이때, 게이트웨이 뿐 아니라 같은 LAN에 존재하는 공격 호스트에도 해당 패킷이 전달된다.
  3. 공격 호스트는 해당 패킷을 자신의 ARP Cache Table에 저장한다.(공격 호스트가 아니라도 ARP 프로토콜의 작동 방식이다) 그리고 [ 정상 IP ] ↔ [ 잘못된 MAC ] 으로 ARP Response를 생성 후 공격 대상에게 전송.
  4. 공격 대상 호스트는 ARP Response를 받고, 자신의 ARP Cache Table에 저장한다. 이후 접속하고자 하는 IP 주소를 입력하면, ARP 프로토콜을 사용해 잘못된 MAC 주소를 사용하게 되어 공격 호스트가 설정한 피싱 사이트에 접속하거나, 공격 호스트를 거쳐 정상 목적지로 접근한다(리다이렉션)

공격 호스트의 ARP Response 도착 후 정상 ARP Response 도착하면 어떻게 될까?

  1. 리눅스, 칼리 리눅스 :빠르게 응답한 ARP Response를 우선적으로 사용한다.
  2. 윈도우 : 먼저 온 ARP Respons 사용
  3. Cisco 장비 : 먼저 온 ARP Respons
    따라서, 해당 실습의 공격 대상 호스트는 윈도우 10이다. 먼저 온 ARP Response를 사용한다.

2. Pharming 공격

Pharming 공격 과정

  • 피싱 사이트 생성, ARP, DNS Spoofing을 통해 정상 사이트 접속 시도 시, 피싱 사이트로 접속하도록 공격하는 방법이다.
  • 3가지 공격 방법을 사용하고 툴이 중단되면 안된다. 따라서 CMD 창 3개를 사용한다.
  1. 공격 대상 호스트는 www.naver.com 처럼 외부의 LAN에 접속하기 위해 ARP 프로토콜을 사용해 현재 속해있는 Gateway MAC 주소를 목적지로 사용해 ARP Request 전송한다.
  2. ARP Request 패킷은 브로드캐스트 전송으로 허브에 전달되고, 허브는 패킷을 플로딩한다.
  3. 게이트웨이뿐 아니라 공격 호스트도 해당 패킷을 받는다.
    가. 공격 호스트는 해당 패킷을 자신의 ARP Cache Table에 저장
    나. ARP Response를 생성 후 공격 대상 호스트로 전송한다. [ 정상 IP ] + [ 잘못된 MAC 주소], 이때 잘못된 MAC 주소는 공격 호스트 MAC 주소이다
  4. 공격 대상 호스트는 공격 호스트가 전송한 ARP Response를 사용해 자신의 ARP Cache Table을 채워 넣는다.

1. 피싱 사이트 생성

  • setoolkit 으로 [ www.google.com ] 라는 피싱 사이트를 생성한다.

2. ARP Spoofing

  1. 공격 호스트(10.30)의 CMD창에서 ARP –a 명령어로 공격 전 ARP Cache Table를 확인

  • Gateway(10.2), 공격 호스트 호스트(10.20)의 IP, MAC 주소가 다르다.
  1. 공격 호스트의 IP, MAC 주소를 확인한다

  • 공격대상 호스트 [IP : 192.168.10.10 / MAC : a5: 25 ]
  1. 공격 호스트(Kali Linux)에서 Spoofing 공격 실행
  • spoofing 명령어 사용 전 spoofing 명령어 사용 시, 관련 파일 다운로드 필요
  • apt update / apt install –y dsniff
  • 공격 명령어 입력한다.
  • arpspoof –i eth0 –t 192.168.10.30 192.168.10.2
  • arpspoof 명령어를 eth0 인터페이스를 사용하고, -t 별도의 중단 시도 까지 계속한다. 192.168.10.2 (게이트웨이)를 192.168.10.30(공격자) MAC으로 덮어씌운다.
  • 중단시 Ctrl + C 사용한다.
  • arpspoof 명령 후 ARP Reply 다수 전송한다(받는다) 확인할 것
  1. 공격 대상 호스트 ARP Cache Table 확인한다
  • 게이트웨이 MAC 주소가 공격 호스트의 MAC 주소로 변경이 된 것을 확인할 수 있다.
  • 추후 공격 대상 호스트가 ARP Cache Table 참조 해 게이트웨이로 접근 시, 공격 호스트의 MAC 주소를 수신 주소로 사용하게 된다.
  • ARP 스푸핑 공격은 추후 피싱사이트로 접근뿐 아니라, 공격 대상 호스트의 패킷이 공격를 거쳐 정상 사이트로 리다이렉트(보내주기)시, 스니핑도 가능하게 한다.

3. DNS Spoofing

  • 피싱 사이트 실습에서는 피싱 사이트를 생성하고, 공격 호스트 IP 주소를 직접 입력해 피싱사이트로 접속했다.
  • 그렇다면 Pharming 공격 목표인 공격 대상 호스트가, 외부 LAN 접속 시도 시, 피싱 사이트로 접근하게 하려면 어떻게 해야 할까?
  • 지금은 ARP Spoofing을 통해 공격 대상의 ARP Cache Table만 변경해 두었다. Pharming 목표를 이루기 위해서는 추가로 DNS Spoofing 공격이 필요하다.
  • 정상적인 DNS 프로토콜을 사용한다면, DNS Cache Table에서 [ 정상 IP 주소] 에 대응하는 [ 정상 도메인 주소]를 참조한다.
  • 그러나, DNS Spoofing 공격 후에는 [ 잘못된 IP 주소] 에 대응하는 [ 정상 도메인 주소 ]를 참조하게 된다. (역으로도 참조 가능하다)
  • 즉, 공격 호스트에서 URL에 [ 정상 도메인 주소 ] 를 입력하면, DNS 프로토콜로 해당 도메인 주소에 매칭되는 IP 목적지 주소를 참조켜 준다. 그러나 해당 IP 목적지 주소는 DNS Spoofing 공격으로 인해 [ 잘못된 IP 주소]를 참조하게 된다.
  • [ 잘못된 IP 주소] 는 ARP 프로토콜을 사용해 [ 잘못된 MAC 주소 ] 로 참조되고, 결국 [ 잘못된 MAC 주소 ]로 접근하면, 피싱 사이트로 접근을 하게 되는 것이다.
  1. 공격 호스트에서 DNS 위조 파일을 생성

  1. 위조된 DNS 파일로 공격 대상 호스트에 DNS Spoofing을 실행한다.

업로드중..

  1. 공격 대상 호스트는 [ 잘못된 IP 목적지 ] 에 대응하는 [ 도메인 주소]를 참조하게 된다.
  • ipconfig /flushdns
  • ping www.sks.com (원래 접속하려고한 LAN 외부 사이트)
  • 아래 그림과 같이, 공격 호스트의 IP 주소로 핑을 보내게 된다. 이는 공격 대상의 DNS Cache Table이 [ 잘못된 IP 목적지 ] 에 대응하는 [ 도메인 주소]를 참조함을 의미한다.

업로드중..

4. 공격 대상 호스트에서 www.sks.com 접속 시, 피싱사이트로 접속

  • 공격 대상 호스트의 웹 브라우저에서 접속하려고 했던 www.sks.com (도메인 주소)를 URL에 입력하면 아래 그림과 같은 피싱 사이트로 접근이 된다.

공격 호스트 관점에서의 내부 과정

  1. ARP Spoofing으로 잘못된 MAC 주소를 가지게 된다.
  2. DNS Spoofing으로 잘못된 IP 주소를 가지게 된다.
  3. 웹 브라우저에서 [ 정상 도메인 주소 ]로 외부 LAN에 존재하는 서버에 접속하려고 시도한다.
  • 수신지 IP 주소로 [ 잘못된 IP 주소 ]를 참조하게 된다. ( DNS Cache Table )
  • [ 잘못된 IP 주소 ]로 [ 잘못된 MAC 주소 ]를 참조한다. ( ARP Cache Table )
  1. 공격자의 피싱 사이트로 잘못 접속하고, 중요 정보를 입력해 해당 정보 탈취 및 추후 공격에 사용된다.

실습 환경에서 같은 LAN 환경에서 ping 이 나가지만 DNS는 안 뜨는이유?

  • ping 명령어는 IP, ICMP 프로토콜을 사용한다. DNS 캐시에 저장되려면, DNS 조회가 되어야 한다. 그러나 ping 명령어를 사용할 때는 도메인 주소를 사용하지 않으며 DNS 조회도 직접 하지 않는다.

Pharming 공격 과정 명령어 정리

ARP, DNS 프로토콜 공격시 의문점

Q. ARP 요청을 보내면, 공격자의 ARP 응답 뿐아니라, 정상 ARP 응답도 올 텐데, 그러면 추후에 오는 정상 ARP 응답이 공격 대상 호스트의 ARP Cache Table로 들어가지 않나?
A. ARP 응답을 사용하는 방법은 OS 마다 다르다. (윈도우 OS는 먼저 응답한 ARP를 우선 사용한다)
Q. DNS Spoofing 으로 공격 대상 호스트의 DNS Cache 테이블을 변경해도, 다시 정상적인 수신지 IP 주소를 가져오지 않을까?
A. 수신지 IP 조회 방법은 아래와 같다. 각 방법에서 원하는 테이블을 찾지 못하면 그 다음 방법을 사용하지만, 만약 원하는 테이블을 찾는다면 다른 방법을 사용하지 않는다.
1. DNS Cahe Table 조회
2. hosts.txt
3. DNS server (외부 LAN에 존재)

#_3 DDoS 공격과 패킷 분석

  • Dos 공격, DDoS 공격이 존재한다.

DDoS 공격

  • distributed deny of service 의 약자로, 과도한 트래픽을 공격대상에게 전송해 공격대상이 정상적인 서비스를 불가능하게 하는 공격 기법이다.
  • DDoS 공격은 과도한 트래픽, 과도한 부하를 발생시켜 정상적이 통신이 불가능하게 만든다.

DDoS 공격 목적

  • 핵티비즘 : 부적절한 사회성을 가진 개인의 신념으로 발생시킨다.
  • 사회 혼란 (전쟁 전)
  • 시스템 서비스 사용 불능
  • DNS 서버를 공격해 다운된다면, 사용자들은 DNS 서버가 아닌 네트워크에 문제가 있다고 생각한다. 이는 혼란을 야기시키기 좋다.

통신의 기본 3요소

  1. 전송매체(회선) : End-to-End 연결통로. (전송 회선) (1 계층)
  2. 정보원(송수신자) : End-to-End 연결 중계장비. (노트북, 스위치, 서버 등..) (7계층)
  3. 프로토콜(통신규약) : 정상 통신을 위해 정의된 규약에 맞게 데이터 송수신한다. ( 3,4 계층)

DDoS 공격 원리

  • 전송 매체 별 수용 가능 이상의 대역폭 이상의 트래픽을 사용할 경우, 해당 트래픽을 수용하지 못해 정상적인 통신이 불가능해진다.
  • UTP Cable (1G 수용 가능), Optical Cable (10 G 수용 가능)

DoS 공격

  • DoS 공격은 공격 호스트 : 공격 대상 호스트가 1대 1 관계에 있는 Denial service 공격이다.
  • DDoS 공격은 N : 1 관계로 분산된 여러 공격 호스트를 사용해 Dos 공격을 실행한다.

SYN Flooding Attack

  • hping3 —rand-source 192.168.10.20 –p 80 –S —flood
  • 10.20 / 80 번 포트를 대상으로 flood : 난사한다.
  • port 스캔과 차이점 : 공격 대상 호스트의 여러 포트 개방을 묻는게 아니다.
  • Source 의 IP를 계속 바꾸어 고정된 포트에 대해 개방을 확인한다. 이는 결국 서비스 자원을 고갈시켜 정상적인 서비스 사용을 저하시킨다.

Fragmentation Flooding Attack

  • 디폴트 핑 전송은 32바이트를 사용한다.
  • 단편화는 분할보다는 재조립 시에 더 많은 시간이 소요된다. 이 점을 노려 공격한다.
  • hping —icmp —rand-source 192.168.10.20 –d 65000 —flood
  • 위 명령어를 입력하면 32바이트가 아닌 65,000 바이트를 핑으로 전송한다. 해당 바이트는 공격 대상의 전송능력에 비해 큰 바이트를 받지 못해 단편화한다, 여기까지는 문제가 없으나, 큰 용량을 다시 바이트 해야하고, 해당 핑을 짧은 시간 내 여러번 보낸다면 이는 시스템 자원 고갈이라는 결과를 발생시킬 것이다.
  • IP 메시지가 분할된다. 추가로 패킷 시그니처(패턴)을 확인하면 연속해서 58을 사용한 것을 확인 가능하다

profile
磨斧爲針

0개의 댓글