일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 가상 사설망
- 사설망
- firewall
- Zerto Trust Architecture
- Cross Site Scripting
- Steganography
- It
- Command Injection
- Web Hack
- security
- Cryptography
- dvwa
- Web Application Firewall
- Zero Trust Model
- hping
- OpenVPN
- 고전 암호
- MISC
- 보안
- Crypto
- Web Hacking
- 비즈네르
- 보안 솔루션
- web
- network
- write up
- packet
- hacking
- SOLUTION
- ZTA
- Today
- Total
어 나 정현욱.
DoS / DDoS 개념 및 실습 본문
DoS ( Denial of Service )
서비스 거부 공격
DoS를 직역하면 위와 같습니다.
공격 대상의 시스템 리소스를 부족하게 하여 서비스 불가 상태로 만드는 것이 DoS 공격입니다.
DoS 공격으로는 다음과 같은 공격 기법이 있습니다.
Ping Of Death
- ICMP 패킷을 정상적인 크기보다 매우 크게 생성하여 전송하는 공격 기법입니다.
- 위와 같은 경우에 MTU( 패킷 최대 전송 크기 )에 의하여 패킷의 단편화( Fragment )가 발생합니다.
- 공격 대상은 단편화된 패킷을 다시 재조립하는 과정에서 많은 부하가 발생하여, 정상적인 서비스가 불가능합니다.
Land Attack
- 출발지 IP 주소와 목적지 IP 주소를 같게 만들어 전송하는 공격 기법입니다.
- 자기 자신을 호출하기 때문에 무한 루프로 인해 자원이 고갈되어 서비스를 불가능하게 합니다.
- 현재는 대부분의 운영체제에서 출발지와 목적지 IP가 같은 패킷을 DROP 시키기 때문에 잘 사용되지 않습니다.
Smurf Attack
- 출발지 IP를 공격 대상 IP로 변경하고 특정 네트워크에 ICMP Echo Request를 브로드캐스트로 보내는 공격입니다.
- Request를 받은 모든 호스트들이 공격 대상 IP에 응답을 보낼 때 많은 부하가 발생하여 서비스를 불가능하게 합니다.
Teardrop Attack
- 공격 대상에 패킷을 전달할 때 Fragment Offset을 틀리게 설정하여 전달하는 공격 기법입니다.
- 공격 대상이 받은 패킷을 재조립할 때 오류가 발생하여 정상적인 서비스를 불가능하게 합니다.
DDoS ( Distuributed Denial of Service )
분산 서비스 거부 공격
DDoS는 DoS와는 다르게 앞에 "분산"이라는 단어가 붙습니다.
그 이유는 통상 좀비 PC라고 불리는 다수의 호스트를 이용하여 공격을 하기 때문입니다.
DDoS의 공격 흐름은 다음과 같습니다.
1) 정X직( 공격자 )이 C&C 서버에 DDoS를 명령합니다.
2) C&C 서버는 정X직으로부터 받은 명령을 분산되어 있는 좀비 PC들에게 전달합니다.
3) 좀비 PC는 C&C 서버로부터 받은 명령을 수행하여 Target을 공격하게 됩니다.
DDoS 공격으로는 다음과 같은 공격 기법이 있습니다.
TCP SYN Flooding
- 3-Way Handshake 과정에서 TCP SYN 패킷을 다량으로 전송하는 공격 기법입니다.
- 3-Way Handshake 과정에서 클라이언트와 연결이 성립되지 않으면 Backlog Queue에 저장된 상태가 됩니다.
- 위 과정이 반복되어 Backlog Queue가 가득 차면, 정상적인 연결도 불가능해집니다.
HTTP GET Flooding
- 공격 대상에게 다량의 HTTP GET 요청을 전송하는 공격 기법입니다.
- 콘서트 티켓팅이나 수강 신청할 때 서버가 느려지는 이유와 같은 원리입니다.
TCP SYN Flooding 실습
해당 내용은 제가 구축한 모의환경에서 실습한 내용입니다.
실제 서비스되고 있는 환경에서 사용하시면 안 됩니다.
hping3와 wireshark를 이용해서 TCP SYN Flooding을 직접 실습해 보겠습니다.
-S : SYN 패킷을 보냅니다.
-d 64 : 패킷의 사이즈를 설정합니다.
192.168.221.134 : 공격 대상의 IP입니다.
-p 80 : 80번 포트로 패킷을 전송합니다.
--flood : 최대한 많은 패킷을 전송합니다.
--rand-source : 출발지 IP를 무작위로 설정하여 전송합니다.
다음은 해당 공격을 받은 리눅스에서 wireshark로 패킷을 캡처한 화면입니다.
무작위 IP에서 TCP SYN 패킷이 짧은 시간에 다량으로 전송된 것을 알 수 있습니다.
이와 같은 공격이 TCP SYN Flooding입니다.
이 글이 DoS와 DDoS를 이해하시는데 도움이 됐으면 좋겠습니다.
더 궁금하신 내용이 있다면 댓글에 남겨주시면 감사하겠습니다. 😉
'Network' 카테고리의 다른 글
TTL ( Time To Live ) (2) | 2023.07.14 |
---|---|
방화벽 ( FireWall ) (2) | 2023.07.07 |
VPN은 이상한 거 볼 때 쓰는게 아닙니다. (2) | 2023.06.30 |
OSI 7계층 아직도 모르면 이거 봐라 ㅋㅋ (13) | 2023.06.29 |