본문 바로가기
보안

[보안] 2/16 강의정리 (Sniffer TCP Dump, ARP/ICMP 리다이렉트, 파밍, 피싱, IP 스푸핑, DNS 스푸핑, DoS/DDoS, 구글 해킹, 세션 하이재킹)

by z.1nee 2021. 2. 16.
SMALL

Sniffer TCP Dump 

리눇스에서 가장 기본이 되는, 하지만 강력한 스니핑 툴

처음에는 네트워크 관리를 위해 개발 되었기 때문에 관리자 느낌이 강함

TCP Dump로 획득한 증거 자료는 법적 효력이 있음

tcpdump -i eth0 -xX host 192.168.0.2

 

 

ARP 리다이렉트(redirect)

공격자가 자신을 라우터라고 속이는 것 (2계층 공격으로, LAN에서 공격)

공격자가 자신이 라우터인 것처럼 MAC 주소를 위조해 ARP reply 패킷을 해당 네트워크에 브로드캐스트

로컬 네트워크의 모든 호스트 사이의 트래픽을 스니핑

공격자가 받은 모든 패킷은 IP Forward로 다시 라우터로 릴레이 해줌

 

 

ICMP 리다이렉트

게이트웨이 이중화에서 로드밸런싱을 위해 ICMP redirect 방법을 이용

 

***ICMP Redirect (Type 5)

라우터가 송신시스템이 특정 목적지로 가는 더 짧은 경로를 아릴고자 할 경우 사용

같은 서브넷에 존재하여야 함

 

 

ICMP 리다이렉트 공격

스니핑 시스템(공격자 시스템)을 네트워크에 존재하는 또 다른 라우터로 알림

3계층에서 패킷을 주고받기 때문에 랜이 아니더라도 공격이 가능

최근에는 운영체제에서 ICMP 리다이렉트를 기본적으로 차단함

 

 

정리

스니핑

: 정보 도청 공격

 

ARP Redirect

:공격 대상의 ARP Cache 테이블을 변조하여 스니핑

 

ICMP Redirect

:공격 대상의 라우터 테이블을 변조하여 스니핑

 

 

Sniffer Fragrouter(프래그라우터)

스니핑을 보조해주는 툴로, 받은 패킷을 전달하는 역할

스니핑을 하거나 세션을 가로챘을 때 공격자에게 온 패킷을 정상적으로 전달하려면 패킷 릴레이가 반드시 필요함

fragrouter

 

 

Sniffer DSniff(디스니프)

스니핑을 위한 다양한 툴이 패키지처럼 만들어진 것

알트보어와 함께 대표적인 스니핑 툴로 알려져 있음

암호화된 계정과 패스워드까지 읽어낼 수 있음

 

 

 

파밍과 피싱

 

 

 

IP 스푸핑

- 자신의 IP를 속이는 행위 : 공격자가 자신의 IP 주소를 공격하고자 하는 소스 IP 주소로 변조하여 해킹

- 공격자가 자신의 IP 주소가 아닌 신뢰관계를 가진 시스템 주소로 위장하여 공격 대상 서버로부터 정보를 가로채는 방식

- 신뢰관계 : 아이디 패스워드 기반의 로그인이 아닌 신뢰관계에 있는 IP를 등록하여 해당 IP로 접근하는 것을 허용해주는 방식

: IP 주소로 인증하고 로그인 없이 접속이 가능하도록 해주는 방식

 

 

IP 스푸핑의 보안 대책

가장 좋은 보안 대책은 트러스트를 사용하지 않는 것

트러스트를 사용해야 한다면 트러스트된 시스템의 MAC 주소를 static으로 지정

* SSO(Single Sign On) : 트러스트에 대한 약점이 알려지면서 개발됨

 

 

 

DNS Spoofing

DNS 서버보다 공격 대상에게 DNS Response 패킷을 보내, 공격 대상이 잘못된 IP 주소로 접속을 유도하는 공격

Web Spoofing과 비슷한 의미로 해석 : 중간자 공격

* Web Spoofing : DNS Spoofing 성공 시 위조된 사이트로의 이동을 유도

: 정상적인 웹 서비스 접근 차단

 

 

DNS 스푸핑 보안 대책

Host 파일에 중요 사이트의 IP 주소를 등록

BIND를 최신 버전으로 바꿔서 해결

* BIND는 PTR 뿐만 아니라 PTR 레코드에 의한 A 레코드 정보까지 확인한 후 네임 서버의 데이터베이스 파일 변조 여부까지 판단 가능

* A 레코드 : 정방향영역 ,  문자주소 : IP

* PTR 레코드 : 역방향 영역  IP : 문자주소

 

 

DoS(Denial of Service(서비스 거부))

: 공격 대상이 수용할 수 있는 능력 이상의 정보를 제공하거나 사용자 또는 네트워크 용량을 초과시켜 정상적으로 작동하지 못하게 하는 공격

: 시스템에 과도한 부하를 일으켜 정보 시스템의 사용을 방해하는 공격 방식

 

DoS 공격의 특징

파괴 공격 : 디스크, 데이터, 시스템 파괴

시스템 자원 고갈 공격 : CPU, 메모리, 디스크의 과다한 사용으로 인한 부하 가중

네트워크 자원 고갈 공격 : 쓰레기 데이터로 네트워크 대역폭의 고갈

 

 

 

DDoS (Distributed Denial of Service(분산된 서비스 거부))

- 여러대의 컴퓨터를 일제히 동작 시켜 특정 사이트/시스템을 공격

- 엄청난 분량의 패킷을 동시에 범람 시켜 네트워크 성능 저하나 시스템 마비

- 최근의 분산 서비스 거부 공격은 악성코드와 결합하는 형태

: PC에서 전파가 가능한 형태의 악성 코드를 잣성

: 봇 - DDoS의 악성 코드가 인터넷을 통해 전파되도록 함

: 봇넷 - 좀비 PC( 악성 코드에 감염된 PC) 끼리 형성된 네트워크

- 공격자가 명령을 내리거나 정해진 공격 스케줄에 따라 봇넷으로 형성된 좀비

PC들이 일제히 공격 명령을 수행하여 대규모의 분산 서비스 거부 공격이 가능

 

 

 

ICMP Flooding Attack

3계층 프로토콜 기반의 DoS 공격

 

1. Ping of Death

- 특정 시스템에 다수의 ICMP echo request 패킷을 전송해 서비스를 마비시키는 공격

 

2. Smurf

- 에이전트를 통해 특정 시스템에 다수의 ICMP echo reply 패킷을 전송함으로써 서비스를 마비시키는 공격

 

 

4계층 프로토콜 기반의 DoS 공격

 

1. TCP SYN Flooding Attack

- 특정 시스템에 다수의 TCP SYN 패킷을 전송해 서비스를 마비 시키는 공격

 

2. UDP Flooding Attack

- 특정 시스템에 다수의 UDP 패킷을 전송해 서비스를 마비 시키는  공격

 

 

DoS/DDoS 공격 대응책

- 방화벽 설치와 운영

- 방화벽 룰셋(규칙 집합)

- 침입 차단 시스템의 설치와 운영

- 시스템 패치

- 서비스 별 대역폭 제한

 

 

 

구글해킹(Google Hacking)

FootPrirnting : 공격 대상의 정보 취득

- IT 기술을 기반

- IT 기술 없이도 가능한 공격 기법 (사회공학적 기법)

검색서비스를 이용해 서비스를 해킹하는 기술

검색 연산자를 이용해 Hacking

 

 

 

 

구글 해킹 주요 검색 인자

iletype : 파일의 확장자를 검색
 - filetype:[SYNTAX]

 

cache :구글에 캐쉬된 정보를 확인
 - cache:[URL]

index of : Directory Listing 취약점, 즉 Directory Browsing이 Enabled 된 페이지만 찾음
 - index of

intitle : 타이틀 내 해당하는 문자열을 찾음
 - intitle:[STRING]

inurl : URL 내 해당하는 문자열을 찾음
 - inurl:[STRING]

site : 해당 사이트의 페이지만 찾음
 - site:[URL]

주요 검색 인자
intitle:index of site:co.kr
intitle:admin site:co.kr
intitle:admin|관리자 site:co.kr
대외비 filetype:ppt site:co.kr
대외비 filetype:doc site:co.kr

 

 

검색 엔진의 검색을 피하는 방법

가장 일반적인 대응법은 웹 서버의홈 디렉터리에 'robots.txt' 파일을 만들어 검색할 수 없게 만드는 것

robots.txt 파일 형식: 2개의 필드로 구성. User-agent와 Disallow를 이용 

- User-agent는 검색 엔진의 검색을 막고, Disallow는 특정 파일이나 디렉터리를 로봇이 검색하지 못하게 함.

 

 

 

세션 하이재킹(Session Hijacking)

- '세션 가로채기'라는 의미(세션 : 사용자와 컴퓨터, 또는 컴퓨터 간의 활성화 상태)

- 공격자가 인증 작업 등이 완료되어 정상적으로 통신이 이뤄지고 있는 사용자의 세션을 가로채서 별도의 인증 작업 없이 가로챈 세션으로 통신을 수행

: 인증 작업이 완료된 세션을 공격

: 패스워드 스니핑을 방지하기 위해 도입된 일회용 패스워드(OTP) 인증을 무력화 시키는 공격

 

 

 

TCP 세션 하이재킹

- 서버와 클라이언트가 통신 시 TCP의 시퀀스 넘버를 제어의 문제점을 이용

: TCP는 클라이언트/서버간 통신 시 연속성을 보장하기 위해 시퀀스 넘버 사용

: 시퀀스 넘버가 잘못되면 이를 바로 잡기 위한 작업 필요

: TCP 세션 하이재킹은 서버와 클라이언트에 각각 잘못된 시퀀스 넘버를 위조해서 연결된 세션에 잠시 혼란을 준 뒤 자신이 끼어들어가는 방식

 

 

  • 공격 순서

- 서버에 클라이언트 주소로 연결을 재설정 하기 위한 RST 패킷을 보냄

- 서버는 해당 패킷을 받고, 클라이언트의 시퀀스 넘버가 재설정된 것으로 판단

- TCP 쓰리웨어 핸드셰이킹을 수행

- 공격자는 클라이언트 대신 연결되어 있던 TCP 연결을 그대로 물려받음

 

 

 

 

TCP 세션 하이재킹의 보안 대책

가장 기본적인 보안 대책 : SSH와 같이 암호화된 연결을 사용하는 것

비동기화 상태 감지 : 서버와 시퀀스 넘버를 주기적으로 체크해 비동기화 상태에 빠지는지 탐지

패킷의 유실과 제전송 증가 탐지 : 공격자가 중간에 끼어서 동작을 하므로 패킷의 유실과 재전송이 발생

예상치 못한 접속의 리셋 : 세션 하이재킹에 대한 최우선의 대책은 데이터 전송의 암호화

 

 

 

MITM(Man In The Miiddle)

누군가의 사이에 끼어드는 공격

MITM은 해당 공격이 불가능한 경우, 이를 극복하기 위해 제안된 공격

ARP/ICMP 리다이렉트, ARP 스푸핑도 엄밀하게는 MITM 공격에 해당

암호화 채널에서의 끼어들기 공격이 MITM

MITM은 패킷 내용을 바꾸기 시도

 

 

MITM 공격 종류

SSH MITM

SSL MITM

- SSL Sniffing

- SSL Strip

 

 

 

 

SSH 암호화 통신에 대한 MITM 공격

1단계.

- 클라이언트가 서버에 SSH 접속을 요청

- 공격자는 공격자가 SSH 서버인 것처럼 자신의 공개키를 전송

- 공격자는 서버에게 자신이 클라이언트인 것처럼 공개키를 요청

 

2단계.

- 클라이언트가 서버에 암호화된 데이터를 보냄

- 공격자는 자신의 사설키와 클라이언트의 공개키로 복호화하고 내용 확인

- 내용 확인 후, 공격자 자신의 사설키와 서버의 공개키로 암호화해서 서버로 전송

 

3단계.

- 서버가 클라이언트로 데이터를 보냄

- 공격자는 서버가 전송한 데이터를 복호화한 후, 다시 암호화해서 클라이언트로 전송

댓글