- 수동적 공격 : 직접적인 피해 X
- 능동적 공격 : 직접적인 피해 O
공격 목적의 정보 수집을 위한 활동
1. Foot printing : 사회공학기법/ 다양한 정보 수집
2. Scanning : 대상 NW 구조
3. Enumeration : 목록화
사회공학기법
, network 및 시스템 주변 조사
을 통해 IP
, 이름 및 계정
, 전화번호
등을 수집network 구조
, 시스템이 제공하는 서비스 등의 정보를 취득Foot printing
, scanning
을 통해 수집한 정보를 바탕으로 더 구체적이고 실용적인 정보를 취득공유자원 목록화
, 사용자 및 그룹 목록화
, 응용 프로그램 목록화
Scanning 에서 파악하는 정보
Scan 종류
- Sweep : System 작동 유무 (ICMP, TCP, UDP)
- Open Scan : port service 여부 (TCP, SYN, UDP)
- Stealth Scan : port service 여부 (session connectionless)
내가 공격하고 싶은, 내가 정보를 수집하고 싶은 상대방 시스템이 지금 살아있나? 확인
IP 주소
와 network 범위
파악ping
-> 응답이 있다 -> 해당 system 활성화TCP ACK
TCP SYN
well known port
요청 -> 응답이 있다 -> 해당 system 활성화ICMP Port Unreachable
오지 않는다 -> 해당 system 활성화3-way handshaking
-> 해당 port open 판단 가능세션로그
남기지 않는다SYN 패킷
전송 -> SYN/ACK 패킷
수신 -> 해당 port open 판단 가능SYN/ACK 패킷
수신 -> RST 패킷
전송ICMP Port Unreachable
온다 -> 해당 port 비활성화 확인 c.f
UDP sweep :ICMP Port Unreachable
오지 않는다 -> 해당 system 활성화 확인
( UDP 이용하여 msg send )
세션을 완전히 성립하지 않고 대상 시스템의 port 활성화 여부를 알아내므로 대상 시스템에 로그가 남지 않음
SYN SCAN
은 Stealth scan 이다 (O)
SYN SCAN
은 Open scan 이다 (O)
TCP header
의 flag 부분
을 비정상적으로 설정해서 전송scanner 주소
를 식별할 수 없도록 다양한 주소
로 위조한 상태로 scanspoofing
한 주소Nmap (Network Mapper)
목적 : 컴퓨터와 서비스 찾기
활용 : network 검색, 보안 진단
OS 종류
, 사용 서비스 정보
, FTP 서버의 취약점
을 이용한 공격 가능
Open source
몰래 엿듣는 행위
Network traffic
을 도청
하는 행위 허브(Hub) : 더미 허브(Dummy Hub) 또는 수동 허브
리피터(Repeater) : 입력으로 전달받은 패킷을 나머지 모든 포트로 단순히 전달
공격방법
NIC
에서 무차별 모드(Promiscuous Mode)
로 설정
나의 MAC 주소가 아닌 패킷도 전달받는 모드
MAC addr
이용하여 패킷을 해당 목적지로만 전달
-> 무차별 모드
sniffing이 불가능
모니터링 포트(Monitoring Port) : 스위치를 통과하는 모든 패킷의 내용을 전달하는 포트
목적 : 정상적인 관리
network 장비 자체 제공
물리적으로
스위치에 접근 후, 모니터링 포트
에 공격자 pc
를 연결 => 모든 패킷 sniffing 가능
IP addr
-> MAC addr
를 위해 내부적으로 관리하는 테이블
최대 저장 개수를 초과하면, 브로드캐스팅(Broadcasting)
모드로 전환
브로드캐스팅 모드 : 자신이 전달받은 패킷을 연결된 모든 단말기에 전달
더미 허브
처럼 동작 -> 통신 속도 down
갑자기 NW 통신 속도가 down인 상황
-> 합리적 의심 = Switch Jamming
스푸핑 Spoofing : 공격자가 마치 자신이 수신자인 것처럼 "위장"
능동적 공격
ARP 스푸핑
특정 host의 MAC 주소
를 자신의 MAC 주소
로 위조ARP Reply 패킷
을 지속적으로 전송ARP table
에 host의 MAC 주소
가 공격자의 MAC
으로 변경공격자
가 패킷을 sniffing
IP 주소
를 물리적인 network 주소
로 대응시키기 위해 사용MAC 주소
Example.
A : (ARP request) C'IP 에 대한 C'MAC이 없는데, C'IP 사용하고 있는 사람?
C : (ARP response) It's ME.
같은 LAN, 목적지 단말이 있는 경우
데이터 전송 : A -> B
A 상황
A' ARP request = B' MAC 모르기 때문에 switch' MAC 에 요청
Switch's Broadcast = ARP request를 받으면, 자신에 접속된 모든 단말
에게 ARP request
를 Broadcast
B' ARP reply = Broadcast를 받은 B는 ARP reply
A' ARP table update = ARP response 전달 받은 후, ARP 테이블에 B' MAC 추가
외부 network, 목적지 단말이 있는 경우
데이터 전송 : A -> B
A' ARP request = dest MAC addr 를 Router' MAC addr로 설정
Router
source MAC addr = Router' MAC addr
dest MAC addr = B' MAC addr
스스로 Router인 것 처럼 MAC 주소를 위조한 ARP Relay 패킷 생성
ARP Reply 패킷을 broadcast
해당 NW의 모든 host로부터 패킷을 sniffing
sniffing한 패킷을 Router에게 forwarding 함으로써 탐지 회피
공격자가 스스로 또다른 Router라고 알린다 (ICMP redirect packet)
victime system의 Routing Table을 변조
packet의 흐름을 바꾼다
sniffing 하는 것을 막을 수 X, But sniffing 후 data를 볼 수 X
암호화 : sniffing에 가장 효과적인 대처 방안
HTTPS
= HTTP
웹 표준 프로토콜 + SSL/TLS
암호화 통신 프로토콜
PGP, S/MIME : 이메일 환경
이메일에 암호화 관련 보안성 제공 대표적인 방식
SSH : 원격 접속
user_id
와 password
유출 가능VPN Virtual Private Network 가상사설망
논리적으로 전용선 이용, 물리적으로 인터넷 이용
공개망을 사용 (Internet) + 전용망을 사용하는 효과
중간에 있는 VPN 장비 = 인증, 암호화 수행 => 전용망 사용 효과
터널링 기술 Tunneling : 두 종단 End to end에 가상적인 터널 생성
VPN 통신 프로토콜 : PPTP/L2F/L2TP
, IPSec
, SOCKSS V5
등
Q. VPN은 물리적으로 전용선을 이용한다 (X)
Sniffing 공격자를 찾아내자, Sniffing 탐지
존재하지 않는 IP 주소
에 대한 요청에 응답이 오는지 확인무차별 모드
호스트는 존재하지 않는 IP 주소에 대한 요청에도 응답ping과 유사
존재하지 않은 IP 주소
로 ARP 요청
응답 여부로 sniffing 판단
응답 O -> ?? 찾아봐!!!
응답 X -> ?? 찾아봐!!!
존재하지 않는 IP
를 대상으로 pingInverse-DNS Loopup
이 오는지 확인특정 의심되는 PC + PC에 직접 접속하여 다음과 같은 명령어 실행
의심되는 PC나 서버에서 직접 실제 명령을 실행
리눅스/유닉스
ifconfig
-> PROMISC
현재 호스트가 무차별 모드로 설정되어 있음 => sniffing 가능성 매우 크다
윈도우
promiscdetect