- ARP(Address Resolution Protocol)
IP 주소 → MAC 주소
* RARP : MAC 주소 → IP 주소
* ARP Operation Code
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
- CSMA/CD
유선 LAN 의 메세지 송수신 방법
전송 가능 확인 → 전송시작, Broadcast → 목적지는 unicast 응답, 나머지는 폐기
서로 다른 host에서 동시에 프레임 전송할 경우 collision 발생, Jam Signal 발송
→ 호스트들은 일정 시간 후에 재전송 → 리피터 및 허브에서만 발생
Switch 는 collision 막을 수 있음, Broadcast 는 못막음
Router는 Broadcast 막을 수 있음
- CSMA/CA
무선 LAN 메세지 송수신
CTS 신호를 통한 프레임 전송
- DOS 공격 : 소프트웨어 취약점, IP Header 변조하는 조직 공격, 무작위 패킷 플러딩
* Trinoo : UDP Flooding, 암호화 없음, 27665/tcp, 27444/udp, 313335/udp
* TFN : UDP, ICMP, SYN Flood, Smurf, 암호화 없음, Telnet 등, ICMP echo Request, ICMP echo Request
* Stachldraht : UDP, ICMP, SYN Flood, Smurf, 암호화 가능, 1660/tcp(암호화), ICMP echo Reply 및 65000/tcp, ICMP echo Reply
- TCP SYN Flooding
SYN 을 이용한 Flooding 기법, 시스템 서비스 중단(서버 대기 큐 가득 참)
→ 출발지 위조하여 전송
* 대응 방법
방화벽에서 IP 당 PPS 임계치 조정
First SYN Drop : 클라에서 보낸 처음 SYN Drop 후 재요청 여부 확인하여 검증
TCP 세션 연결 차단
Back Queue 증가 → sysctl -w net.ipv4.tcp_max_syn_backlog = 1024
라우터에서 Watch Mode, Intercept Mode
#Watch Mode : 일정 시간 동안 연결 이뤄지지 않으면 라우터가 차단
#Intercept Mode : SYN 요청을 라우터가 가로챔
# DRDOS 는 다수 서버에 SYN 전송 → 공격대상 서버로 다수의 서버가 SYN+ACK 전송
- ICMP Flooding(Smurf Attack)
서비스 및 포트 필요 없음, 출발지로 공격대상 IP 위조하여 ICMP Request 를 서브 네트워크에 전송, 다수의 호스트가 ICMP Echo Reply 를 공격대상에게 전송
# SourceQuench(4), TimeToLive(11), DestinationUnreacheble(3)
* 대응
ACL 이용한 차단, Inbound 패킷 PPS 수치 조정, ICMP 차단
- Tear Drop : Fragment 관련, offset 조작하여 조립할 수 없도록
* Tiny Fragment : Fragment 를 아주 작게 만들어 IDS 등의 장비 우회
* Fragment Overlap : IDS 의 Fragment 처리 방법과 재조합, Overwrite 처리 이용
첫번째는 허용된 포트(80 등) 전송 다음 패킷에 작은 fragment 연속으로 보내어 보안장비가 허용되도록, 패킷 결합 시 첫번째 보낸 포트(80 등) 이 다음 패킷에 overwrite 됨
* IP Fragmentation 을 통한 DOS
- Ping of Death : 엄청 큰 ICMP
5000byte 전송 시 1480 씩 증가하며 분할됨
- Tear Drop : offset 필드 값 중첩되는 데이터 패킷 전송
- Land Attack : 송신자 IP 를 수신자 IP 와 동일하게
RAW Socket 을 통한 공격 구현, s_addr, daddr
대응 : 송 수신 같은 IP 트래픽 차단
- HTTP GET Flooding
3way-handshaking 이후 공격, IP 변조 안함
HTTP Request 를 계속 호출하는 방법
* 대응
연결 요청 모니터링 후 비정상적 트래픽 차단(IP 변조 불가 하므로)
IP 당 콘텐츠 요청횟수 임계치 설정
시간대별 분석 후 이상 IP 차단
Web Scraping 기법을 통한 차단 → 요청 패킷에 대한 쿠키값이나 자바 스크립트 보냄
→ 웹사이트에서 원하는 데이터를 추출하는 행위
- Slow HTTP GET Flooding
HTTP Header 를 변조하여 크기를 작은 단위로 보내 수신 대기 상태에 빠지도록 함
- Cache Control
no-cache 가 설정되면 항상 최신의 페이지를 요청
→ 이를 통한 서버의 부하 → Cache Control Attack
* 대응 : 임계치 설정
- Slow HTTP GET/POST Attack
1. Slow HTTP GET //HTTP 헤더의 content-length 필드에 큰 값 입력
정상 IP 기반, 소량 트래픽
2. Slow HTTP Post //HTTP 헤더의 content-length 필드에 큰 값 입력
대량의 데이터를 장기간에 걸쳐 Post 가 모두 수신되지 않으면 연결 장시간 유지
3. Slow HTTP Read Dos
TCP 윈도우 크기 0으로 만듦, 데이터 처리율을 감소시킨 후 HTTP 데이터 송신
4. Slow HTTP Header Dos(Slowloris)
HTTP 헤더 비정상 조작, 헤더정보가 모두 전달되지 않은 것으로 판단→웹로그 기록안함
\r\n\r\n 구분(헤더와 바디) → \r\n 만 전송
* 대응 방법
- 접속 임계치 설정, Connection Timeout 설정, KeepAliveTime 설정, RequestReadTimeout 설정
- iptables 의 concurrent connection 제한
iptables -A INPUT -p tcp --dport 80 -m connlimit -above 30 -j DROP
- Hash Dos
해시테이블의 인덱스 정보가 중복되도록 유도
해시 충돌 : 서로 다른 키값이 인덱스 값으로 매핑되는 현상
* 대응 방안
Post 파라미터 수 제한, Post 메세지 키 크기 제한
php.ini 에서 max_input_var 를 통해 최대 post request 설정
- Halk Dos
공격대상 URL 을 지속적으로 변경하여 차단정책 우회, 임계치 제한 방어 힘듦
* 대응
발신 IP 기준 동시 접속 개수 제한, HOST 필드 값의 제한
302-Redirect 이용, 대부분의 DDOS 툴은 반응 못함
- 스캐닝
- 포트스캐닝
NMAP Port SCAN
TCP Connection Scan |
3way-handshake 수립하여 탐지 쉬움 |
-sT |
TCP SYN Scan |
SYN/ACK 받으면 open → RST로 응답, RST/ACK 받으면 close, Half open 또는 Stealth 스캔 |
-sS |
TCP FIN Scan |
포트 개방이면 무시, 닫혀있으면 RST |
-sF |
TCP NULL |
모든 플래그 지움, 포트 개방이면 무시, 닫혀 있으면 RST |
-sN |
TCP X-MAS SCAN |
FIN, URG, PSH 플래그 전송, 개방이면 무시, 닫혀 있으면 RST |
-sX |
-sU : UDP Scan → 개방 무시, 닫히면 ICMP Unreachable
-sA : ACK Scan → 방화벽 규칙 세트 정밀 표시, 개방인지 닫혀있는지 구별 힘듦
-sW : window Scan, -sI : IDLE Scan, -sO : IP Protocol scan
-b : FTP bounce scan
* 포트 옵션
-p ssh, -p 80, 443, -p 1-1023, -p 1024-, -p-, -p T:80, U:53
-p- : 0번 제외한 모든 포트
#TCP Fragmentation
20byte 의 헤더를 2개로 분할해 보안장비 우회 → 1번 IP 주소, 2번 포트 정보
- 스니핑 : Promisc 모드 → ifconfig eth0 promisc
tcpdump 를 통한 스니핑
* tcp dump 옵션
-c : count 만큼 패킷 기록
-e : MAC 주소 형태
-F : 파일 확장자
-i : 특정 인터페이스 지정
-g : 간결히 표시
-w : 파일로 저장
-r : 저장된 파일 읽음
-t : timestamp
-v : 자세히 표시
- 세션 하이재킹 : 세션 훔침, RST 패킷으로 일시적 세션 끊음, 시퀀스 넘버 새로 생성하여 세션 훔치고 인증 회피
* 원인 : 암호화 되지 않은 프로토콜에서 정보를 평문으로 전송, 길이가 짧은 Session ID, 세션 타임아웃 부제
* 도구 : Hunt, Arpspoof, IP Watcher, Ferret, Hamster, paros, Cain & Abel, Wireshark
- 스푸핑 공격 : 자신의 IP를 속임
시퀀스 넘버 추측, SYN Flooding, Hijacking 등 수행
* 대응
불법적 IP 차단, 시퀀스 넘버 랜덤하게 생성, R-command 취약점 제거, 외부에서 내부주소를 가지고 시도하는 접속 차단, 암호화 프로토콜
#DNS Spoofing : 특정 도메인의 IP 주소를 바꾸어 엉뚱한 사이트로 접속되게
#Web Spoofing : 가짜 홈페이지를 만들어 로그인 유도
- ARP Spoofing : 공격자가 MAC 주소를 변조
ARP Reply 를 통해 ARP Cache 업데이트 되는점 이용
변조된 ARP Reply 지속 전송
arp spoofing 도구
arpspoof -i eth0 -t 주소 게이트웨이
* 대응 : 정적 ARP 테이블 운영
- 원격 접속 공격 : RDP, TeamViewer, VNC, NetCat
VNC : 원격으로 시스템 모니터링 및 관리
NetCat : 원격 연결하여 명령 실행
* RDP : 무작위 공격 대비하여 강화된 패스워드 적용
포트 번호 변경 : HKLM\SYSTEM\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber
* VNC : 패스워드 복잡도 준수, 3-6개월 주기로 패스워드 변경
기본포트 5800/tcp, 5900/tcp 를 다른 포트번호로 변경
# Targra Attack : 단편화 → 큰 오프셋을 더해 오버플로우 발생
# 리버스 텔넷 : 내부망에서 Telnet 을 통해 외부 PC 로 접근
'자격증 > 보안기사' 카테고리의 다른 글
03_애플리케이션 보안_1 (0) | 2021.01.27 |
---|---|
02_네트워크_3 (0) | 2021.01.23 |
02_네트워크_1 (0) | 2021.01.22 |
01_시스템 보안 정리_3 (0) | 2021.01.22 |
01_시스템 보안 정리_2 (0) | 2021.01.21 |
댓글