[네트워크 해킹] 08. DDoS 공격
DDoS(Distributed Denial of Service attack, 분산 서비스 거부 공격)는 기존 DoS(Denial of Service attack, 서비스 거부 공격) 공격을 여러 대의 IT 기기를 이용해 확대한 공격이기 때문에 이전 글인 DoS공격을 대량의 봇넷을 구성해서 한다고 보면 된다.
※ DoS 공격 이전글 :
2022.12.31 - [네트워크/네트워크 해킹 기술] - [네트워크 해킹] 07. DoS(Denial of Service, 서비스 거부) 공격
- DoS 공격 : 공격자가 직접 준비한 PC 혹은 IT 기기를 이용해 공격. 1대의 장비만 막으면 된다.
- DDoS 공격 : 먼저 다른 PC나 IT 장비를 공격해 악성코드를 감염시킨 후, 이 장비들을 좀비 PC나 좀비 단말로 만들어 ‘봇넷(botnet)’을 구성해 공격하는 방식. 수십에서 수천 대의 IT 장비를 모두 막아야 한다.
출처 : 보안뉴스
* bot : Robot이라는 의미. 원격에서 해당 시스템을 제어할 수 있는 프로그램. 악성 봇에 감염된 PC를 좀비 PC
* botnet : 악성 봇에 감염되어 공격자가 마음대로 제어할 수 있는 좀비 PC들로 구성된 네트워크
DDoS 공격 시 구성요소(4가지)
1) Attacker : 공격자. C&C 서버(C2서버)에 공격 명령을 전달
2) Master (C&C 서버 : Command & Control Server, C2 서버): 공격자에게 명령을 받는 시스템. 전달받은 명령은 관리하는 다수의 좀비 PC/봇에게 전달한다.
3) Agent (좀비 PC): 마스터의 명령을 받아 직접 공격을 하는 시스템.
4) Victim (target) : 희생자. 공격 대상이 되는 피해 시스템
공격 절차
1) 공격자(Attacker)가 봇(Bot)을 관리하고 명령을 내리는 C2서버(C&C서버)를 구축
2) 스팸 메일이나 악의적인 웹사이트 등을 통해 불특정 다수의 PC에 봇을 배포해 감염을 시도
3) 사용자가 봇 프로그램을 다운로드해 실행하면 봇에 감염된다.
4) 봇이 C&C 서버에 접속함으로써 감염 PC(좀비 PC)는 봇넷의 일원으로 추가된다.
5) 공격자가 C2서버에 명령을 내리면 C2서버는 봇에 명령을 전달한다.
6) 봇은 명령에 따라 다양한 공격을 수행하며 스스로 다른 PC로 봇의 전파를 시도한다.
실습
1) C2서버, 공격자 : Windows7(192.168.10.135)
2) 좀비 PC : XP(192.168.10.130)
3) 희생자 : CentOS(웹 서버)
4) 사용하는 툴 : MP_Tools_IPKiller 툴을 사용
5) 공격 방식 :
툴을 사용하여 공격자이나 C2서버인 윈도우7에서 감염시킬 악성코드를 만들고, xp를 해당 악성코드로 감염시켜 좀비 PC로 만든다. 감염이 된 좀비 PC는 C2 서버인 윈도우7에 연결이 된다. 좀비 PC를 이용해서, 192.168.10.133 주소의 웹 서버(CentOS)를 공격한다.
6) 공격 실습 내용
- 공격자
툴을 이용해서, 좀비 PC를 감염시킬 악성코드를 만든다.
이때, 좀비 PC들이 C2서버와 통신하기 위해서 C2의 IP 주소와 포트번호가 필요하다. 따라서 공격자가 직접 공격하지 않고 C2서버에 공격명령을 내리는 이유가 이 때문이다. ( 해당 실습에서는 C2서버가 공격자입니다)
사람들이 자주 사용하는 애플리케이션 이름으로 설치되도록 한다.
- 좀비 PC(윈도우XP)
해당 PC에 악성코드가 실행이 되어 설치가 완료된다면, 공격자 PC로 접속이 된다.
- 공격자
공격자 PC에서 좀비PC의 감염을 확인 가능
여기에서는 한대의 좀비 PC이지만 실제에서는 악성코드에 감염된 좀비 PC들을 이용하려 공격을 하게 됩니다. DoS 공격에서 다루었단 다양한 공격들이 여러대의 분산된 네트워크 환경 하에서 수많은 좀비 PC를 사용하여 공격이 가능하기에 매우 위험하다.
(이 실습에서는 HTTP GET Flooding 공격을 이용할 것입니다.)
- CentOS에 이미 만들어 놓은 웹사이트
- CentOS 웹 서버
<공격전>
<공격 후>
공격전과 공격 후의 웹 서버의 프로세스를 확인해 보면 전부 http를 요청받은 것을 확인할 수 있다.
패킷도 확인해 보면, 192.168.10.130이 192.168.10.133인 웹 사이트에게 수많은 HTTP GET 요청을 보냈다는 것을 볼 수 있으며
서버는 수많은 요청으로 요청을 전부 처리할 수 없어서 403 에러 발생한다. 이로 인해 일반 사용자가 해당 웹 사이트에서 제대로 된 서비스를 사용하지 못하도록 가용성을 해친다.
DDoS 공격 방지법
1. 인터넷 대역폭을 확보
2. 주요 콘텐츠, 데이터를 분산 배체
3. 인터넷 트래픽을 실시간 모니터링 하여 디도스가 발생한 경우 즉각 대응하는 방법