[Network]DoS 공격1 - Ping of Death 실습(feat.아직 두발 남았다...)

Hyenna·2023년 4월 27일
0

Security

목록 보기
4/10
post-thumbnail

🏴‍☠️DOS(Denial of Service, 서비스 거부)란?

공격 대상이 수용할 수 있는 능력 이상의 정보를 제공하거나 사용자 또는 네트워크 용량을 초과시켜 정상적으로 작동하지 못하게 하는 공격

DoS 공격의 특징

  • 파괴 공격 : 디스크, 데이터, 시스템 파괴
  • 시스템 자원 고갈 공격 : CPU, 메모리, 디스크의 과다한 사용으로 인한 부하 가중
  • 네트워크 자원 고갈 공격 : 쓰레기 데이터로 네트워크 대역폭의 고갈

🧛‍♂️Ping of Death 공격 원리

  1. ping을 이용하여 ICMP 패킷의 크기를 아주 크게 만든다.
  • ICMP 패킷의 최대 길이를 3000byte로 임의로 설정
    *ICMP는 TCP/IP 계층 모델 프로토콜에서 3 계층인 Network 계층
    (Internet Control Message Protocol: 인터넷 제어 메시지 프로토콜) 
  1. 이러한 패킷은 네트워크를 통해 라우팅되어 공격 네트워크에 도달하는 동안 아주 작게 나누어진다.
  • 패킷이 지나는 네트워크의 최대 전송 가능 길이가 100byte라면 패킷 하나가 30개로 분할
  1. 공격 대상은 조각화된 패킷을 모두 처리해야 하므로, 정상적인 ping보다 부하가 훨씬 많이 걸리게 된다.

🧛‍Ping of Death 공격 실습

  • 실습 환경
    • 공격자 PC : Linux Ubuntu 192.168.244.128
    • 희생자 PC : Windows server 2016 192.168.244.130
    • 필요 프로그램 : hping3, wireshark

1.실습 환경 설정

[Windows]
공격 가능하도록 방화벽 해제

[Ubuntu]

  • hping3 설치
    $ sudo apt install hping3
    *hping3 : TCP/IP 프로토콜용 무료 패킷 생성기 및 분석기
  • wireshark 설치
    $ sudo apt install wireshark
  • wireshark 실행
    $ sudo wireshark

2.공격 전

[Ping Test]
공격자 pc와 희생자 pc가 서로 ping되는지 확인

[Windows CPU, Network 상태 확인]

3.공격 실습

[Ubuntu]

$ sudo hping3 --icmp --rand-source hostIP -d 3000

* --rand-source : soure IP 랜덤으로 설정
* hostIP : 공격 대상 IP
* -d : 데이터 패킷 크기 설정 

4.공격 후 Windows CPUm, Network 상태 확인

5.결과 분석

  • source IP 랜덤하게 변경됨
  • 3000byte 데이터를 1480byte 단위로 나눠서 총 3번 전송
  • 패킷 길이(Length) 다름

🔰공격 대응 방안

1) 반복적으로 들어오는 일정 수 이상의 ICMP 패킷을 무시하도록 설정
2) ICMP Echo Reply 패킷을 차단하거나 rate-limit을 이용하여 서비스 품질을 설정
3) 최신 버전의 윈도우에서는 반복되는 ICMP 차단 기능 탑재 기능을 가지고 있으므로 지속적인 보안 패치 업데이트

0개의 댓글