HTTP Get Flooding Attack (2)

Codren·2021년 5월 7일

HTTP Get Flooding Attack

목록 보기
2/2

컴퓨터 보안 HTTP Get Flooding Attack 실습


Section 1. 실습 전 준비사항

1. 서버 측

  • APMsetup Monitor 실행
  • WireShark 실행
  • IP 주소 획득 (CMD - ipconfig 명령어)



2. 클라이언트 측

  • Firefox Web Browser 실행
  • Terminal 실행
  • IP 주소 획득



3. 공격자 측

  • Terminal 실행
  • takeitdown.py 파일이 있는 디렉토리로 change directory
  • IP 주소 획득




Section 2. 정상적인 HTTP Get Request & Response

1. WireShark 설정

   ① 로컬 영역 연결 체크하고 Start 누르기


  ② 다음과 같이 Filter: 란에 서버와 클라이언트 ip 주소 입력 후 apply



2. Firefox로 확인

  • 클라이언트 측 Firefox 주소창에 192.168.126.130 입력 (서버 IP 주소)
    (아래 화면은 따로 만든 Main 홈페이지임, 다른 결과창이 떠도 OK)



3. Wget 명령어로 확인

  • Terminal 상에서 아래와 같이 wget 명령어 입력



4. WireShark로 확인

  • No. 416, 464, 465 : TCP 3-way handshaking
  • No. 466 : HTTP Get Request
  • No. 468 : HTTP Get Response



5. 결과

  • 서버가 정상적일 때 사용자의 HTTP Get Request에 대해 정상적으로 Response를 보내는 것을 확인할 수 있었다.



Section 3. HTTP Get Flooding Attack

1. 공격 원리

  • 수 많은 요청을 보내서 서버를 과부하 시키는 DOS 및 DDOS 공격
  • 서버로 수 많은 HTTP Get Request를 보내서 서버의 자원을 모두 소비하도록 과부하 시키면 일반 사용자가 서비스 요청에 응답해줄 수 없는 상황이 됨



2. WireShark 설정

  • Filter : ip.addr == 192.168.126.130 and ip.src == 192.168.126.132 and http



3. HTTP Get Flooding Attack 실행

  • 다음과 같은 공격 코드 입력 (--w option : 공격하는 workers or threads 수)

  • 공격 수행 화면



4. 서버 측 상황

  • 수 많은 HTTP Get 요청이 들어옴



5. 사용자 측 서비스 이용 불가 상황

  • 동일하게 wget 명령어로 Request를 보내지만 이번에는 refused 됨



6. 결과

  • 공격자가 takeitdown.py 공격 tool로 수 많은 HTTP Get 요청을 보내면
    서버는 해당 요청들을 모두 처리하기 위해 자신이 가지고 있는 자원을 모두 사용하게 되고 이 때 일반적인 사용자가 요청을 보내면 이에 대한 응답을 할 수 없는 상황이 발생하는 것을 확인할 수 있었다.

0개의 댓글