본문 바로가기
category/해킹 실습

DOS 공격 실습

by 자운대고라니 2023. 2. 19.
반응형

1. Dos 공격 정의

 

DosDenial of service attack의 약자로 뜻 그대로 서비스 공격이다. 이는 특정한 공격을 지칭하는 것이 아닌 여러 종류의 서비스 공격을 포괄적으로 묶어놓은 개념이다. Dos 공격의 종류로는

 

ICMP Flood attack

SYN Flooding attack

tear drop attack

bonk attack

Peer 2 Peer attack

 

등 여러 형태의 공격이 존재하고, 보고서에서는 tear drop attackbonk attack에 대해서 상세하게 기술하겠다.

 

 

 

2. 공격 원리

 

앞서 언급했듯 DOS공격에는 여러 형태의 공격이 존재한다. 하지만 모든 공격의 원리는 서버의 사용량을 늘려서 서비스를 제한한다.”라는 기본을 깔고 있다.

그림 1. DoS 공격 원리

1번 그림은 DoS공격의 간단한 동작 방식을 보여 준다. DoS공격의 attacker는 수많은 트래픽을 서버에 요청시켜서 서버의 프로세스 등과 같은 자원을 고갈시키면 서버에서는 정상적으로 접근하는 트래픽을 충당할 수 없게 되고 할당량 제한으로 인해서 서비스를 이용하지 못하도록 방해한다.

 

3. 동작 과정

 

앞서 언급했듯 수많은 DoS 유형의 공격 중 bonk attack을 예시로 들어 설명하겠다. 우선

이를 이해하기 위해선 IP Fragmentation의 개념을 알아야 한다.

 

IP FragmentationIP 단편화를 뜻하는데, 네트워크를 통해 전송될 때, 전송되는 IP Datagram의 크기가 최대 크기인 MTU보다 클 경우에 여러개의 작은 패킷으로 쪼개어 전송해야 하는데, 이때 조각화되는 것을 IP Fragmentation이라고 한다.

그림 2. IP Header

그림 2에서 IP Header에 담긴 정보를 보여지고 있는데, Data의 크기를 변형시키고 Fragment Offset에 각자 다른 값을 넣어 몇 번째 데이터인지 표시한다.

그림 3. IP 단편화

그림 3과 같이 MTU의 길이를 벗어나지 않도록 Frament Offset을 각각 할당하여 Total Length660 660 220으로 나눠지게 만든다.

그림 4. 동작 과정

그림 4는 단편화와 재조립의 예시를 보여 준다. 해당 이미지는 FDDIEthernet이 연결된 경우의 분할/재조립 과정으로 FDDIPC에서 이더넷을 거쳐 다시 FDDI의 피시로 패킷이 전송되는 과정이다. 이더넷의 경우 MTU1500byte이며, FDDI의 경우 4352byte이다.

 

전송지(우측 PC)에서 FDDI1501byte의 크기를 가진 패킷이 발신지(좌측 PC)로 전송된다. 1500byte의 패킷이 이더넷을 향해 갈 때 패킷에는 단편화가 진행된다. 위의 이미지처럼 이더넷의 MTU에 맞춰 1500byte1byte의 크기로 나누어 전송된다. FDDI를 사용하는 발신지의 PC에 다다르면 패킷을 재조립 과정을 거치게 된다. 이 과정에서 패킷은 다시 1501byte의 크기로 합쳐지게 된다.

그림 5. kali에서 192.168.100.5로 ping을 보낼 경우
그림 6. 조각화

그림 5에서 ping을 보냈을 때 그림 6과같이 offset을 이용해 조각화 되는 것을 알 수 있다.

 

실습할 bonk attackPacketsequence number를 조작해서 수행하는 Dos 공격이다. 이와 비슷한 공격은 Tear drop 공격이 있는데 아래 그림에서 Sequence number을 어떻게 조작하는지 설명돼있다.

그림 7. 공격에 따른 Sequence number 조작

4. 실습 내용

 

1) 환경

attacker kali (192.168.201.131)

destination windows XP (192.168.201.132)

 

2) 공격 커맨드

3) 명령어 설명

--id 3200 : id3200으로 정한다.

--O 12345 : Offset12345로 지정한다.

-M 34343 :시퀸스 넘버를 34343으로 지정한다.

-p 21 : 21번 포트에 대해 패킷을 전송한다.

-d 320 : 전송하는 패킷의 길이는 320바이트로 지정한다.

--flood : 시스템이 생성 가능한 만큼 빠른 속도로 패킷을 보낸다.

 

4) 실행결과

Dos 공격으로 인해 웹페이지에 정상적으로 접속하지 못하는 현상이 발생했다. , 공격이 성공했다는 것을 알 수 있다.

 

5) 패킷 분석

일시정지를 이용해서 패킷 캡처를 했다.

Source Kali ip, Destination windows ip 임을 확인할 수 있다.

캡처된 패킷들을 모두 확인해보면 Seq: 1로 저장 즉, Bonk attack이 성공된 것을 알 수 있다.

반응형

'category > 해킹 실습' 카테고리의 다른 글

KALI를 활용한 침입 탐지 시나리오  (0) 2023.02.14

댓글