일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- zap 파일
- steghide
- Stored Cross-Site Scripting
- strcmp 취약점
- 주요정보통신기반시설 기술적 취약점 분석 평가 상세 가이드
- 포렌식
- zip 파일 구조
- DOS
- 보고서
- Whitespace Programming
- scapy
- Import/Export Wordpress Users
- Wordpress
- xcz
- Python
- forensic
- 취약점 진단
- reversing
- CVE
- 암호학
- 스테가노그래피
- volvolatility
- union sql injection
- wargame.kr
- multimedia
- 네트워크
- LifterLMS
- QR코드
- CSV Injection
- ctf-d
- Today
- Total
광팔이 보안이야기
[Scapy] Scapy 모듈(DOS[ping of death]) 본문
ping of death : ICMP 프로토콜을 이용한 공격 방법으로 보통의 ping(56bytes) 메시지가 아닌 IP패킷의 최대 사이즈인 65,535bytes65,535 bytes보다 크게 만들어진 패킷을 보냄을 반복함으로써 목표 대상을다운되게 만든다
[실습 환경]
공격자 : 우분투(랜덤으로 IP 지속적 공격)
피해자 : XP(172.30.1.50)
[tool]
*hping3 사용(따로 hping3 옵션 정리 할 것)
*hping3을 이용하여 172.30.1.50으로 ping of death 공격
hping3 [--icmp] [--rand-source] [172.30.1.50] [-d 10000] [--flood]
hping3 [프로토콜] [공격자 ip] [피해자 ip] [데이터 크기 설정] [최대 속도]
ping of death는 65,535 bytes보다 크게 만들어진 패킷을 보낸다고 되어 있지만, 여기서는 데이터 크기를 10000byte를 보내게 된다.
그 이유는 데이터를 전송할 수 있는 최대 전송 단위 MTU에 맞게 쪼개지는데 여기서는 1500Byte이기 때문이다.
wireshark를 봐도 1514로 크기가 나눠진 것을 볼 수 있다.
이제 피해자PC에서는 쪼개져 도착한 패킷들을 재조합하는 과정에서 부하가 발생하는 것이다.
[scapy를 이용한 코드]
코드를 직접 작성해보고 싶어 만들어봤지만 hiping3의 flood는 구현을 못했음...
*코드 해석
5. dst_ip : 목적지 ip를 입력받는다.
7 ~ 9. 함수 pod() 작성 : IP()와 ICMP() 프로토콜을 이용한다.
IP의 출발지를 랜덤 IP 함수를 주며, 목적지는 입력받은 dst_ip가 들어간다.
protocol은 icmp로 주어야 한다.(icmp 프로토콜로 전송하지 않는 것을 방지)
데이터를 강제적으로 a를 10000번을 줘 데이터 크기를 10000byte를 전송한다.
cpu 증가하는 것을 볼 수 있다.(너무 길게 하면 컴퓨터가 주금....)
'Programming > Network' 카테고리의 다른 글
[Scapy] Scapy 모듈(DOS[UDP Flooding]) (0) | 2021.03.01 |
---|---|
[Scapy] Scapy 모듈(DOS[SYN Flooding]) (0) | 2021.02.28 |
[Scapy] Scapy 모듈(DOS[land attack) (0) | 2021.02.28 |
[Scapy] Scapy 모듈(DOS[smurf attack]) (0) | 2021.02.26 |
[Scapy] Scapy 모듈(기본 설정) (0) | 2021.02.22 |