반응형

DDOS(Distributed Denial of Service)


서버가 허용할 수 있는 초당 트래픽 양은 정해져있다. 하지만 이를 넘어서서 패킷을 집중적으로 보낼 경우 서버는 이를 버티지 못하고 마비가 된다.

이러한 점을 이용하여 하나의 컴퓨터로 공격하는 것을 DoS(Denial of Service)이라 하고, 이를 분산화시켜 집중 공격 시키는 것이 DDoS(Distributed Denial of Service)이다.




DDOS 공격 원리


1. 해킹에 취약한(취약점이 있는) PC를 좀비PC로 만든다.

- 예를들어 특정 PC에 port가 방화벽 없이 열려있는 경우 패킷을 보내보고 패킷이 돌아온다면

  그 PC는 좀비PC가 될 수 있는 후보군이 된다.

2. Attacker이 특정 서버를 공격하기 위해 좀비PC에 명령을 내린다.

3. 특정 서버는 집중적으로 들어오는 트래픽을 버티지 못하고 죽게 된다.



DDOS를 막을 수 없는 이유


디도스는 백신 같은 것으로 사실상 막을 수 없다. 


그 이유는 집중적으로 서버에 쏟아지는 패킷이 사용자에 의한 것인지, 

좀비PC가 감염돼서 그런 것인지 증명해낼 방법이 없기 때문이다.


하지만 ip추적은 가능한데, 이러한 방법마저도 IP Spoofing을 이용하면 추적하기 힘들어진다.



DoS Attack 구현

현재 좀비PC가 없으므로 DDoS가 아닌 DoS공격을 시행하고자 한다.

Ettercap(etterfilter)를 이용한 DoS 공격방법은 다음과 같다.



1. dos.elt 파일 생성


1
2
3
4
5
6
7
if (ip.src == '192.168.248.***' || ip.dst == '192.168.248.***')
{
    drop();
    kill();
    msg("Now attack");
}
 
cs


위의 파일을 생성 할 때 ‘IP Address 부분에는 자신이 공격하고자 하는 IP를 입력한다.


이때 ip.src와 ip.dst를 모두 설정해야하는 이유는 


해당하는 IP가 서버라고 생각했을 때 패킷을 받는 경우가 있고 패킷을 보내는 경우가 있기 때문이다.



이때 IP Address 부분에 Ubuntu 가상 머신 IP주소를 이용해보았다.






2. dos.ef 파일 생성


etterfilter dos.elt -o dos.ef 명령어로 dos.ef 파일을 생성하고 확인한다.






3. DoS 공격 실행


우선 공격 전 타겟의 네트워크 정상 연결 상태를 확인한다.


현재 정상적으로 핑이 잘 가고 있음을 알 수 있다.




이제 Ubuntu -> Window(실제 PC)로 ping을 보내며 확인하고 Kali -> Ubuntu로 DoS 공격을 감행한다.

명령어는 etterfilter dos.elt -o dos.ef를 이용한다.


이때 명령어 옵션 의미는 다음과 같다.


명령어 

설명 

옵션 

etterfilter 

패킷변조, 스니핑, MITM 등의 기능 제공 

-T :: text 모드로 실행

-G :: GUI 모드로 실행

-q :: Quiet mode,  패킷 내용 출력을 하지않는다.

-M :: mode 지정(ARP,...)

-F :: 필터파일 지정





우분투에서 윈도우로 보내는 핑이 멈추었고, Kali는 우분투에 DoS 공격을 계속 감행함을 알 수 있다.




공격을 멈추니 다시 패킷을 보내는 과정이 확인된다.






반응형