본문 바로가기
보안

[보안] 2/15 강의정리 ( 공격 유형, 대칭키 암호화, 비대칭키 암호화, 해시, Metaspolitable, Kali, 스니핑, 스푸핑, ARP 스푸핑)

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

공격 유형

 

  • 능동형(Active) vs 수동형(Passive) 공격

능동형 공격 : 시스템의 자원을 바꾸거나 영향을 미침

ex) 악성 파일 심기, 데이터 변경, 네트워크 방해, 서비스 거부

 

수동형 공격 : 시스템 자원에 영향을 미치지 않는 대신 정보를 알아내거나 이용

ex) 도청, 트래픽 분석과 같은 수동형 공격은 네트워크에 실질적인 해를 가하지는 않지만 해커는 도청 기법을 사용해 능동형 공격에 필요한 정보를 획득함

 

 

  • 내부(Inside) vs 외부(Outside) 공격

보안 경계란 시스템이나 네트워크를 신뢰할 수 있는 부분과 그렇지 못한 부분으로 구분하는 개념

 

내부 공격 : 보안 경계 내부에서 시작해 허용되지 않은 형태로 자원에 접근하는 것으로 내부 직원에 의해 일어나는 경우가 많음

ex) 패스워드 훔치기, 산업 스파이, 단순한 오용

 

외부 공격 : 보안 경계 외부에서 허가되지 않은 사용자에 의해 시작되는 경우가 많음

ex) 원격 접근에 의해 이뤄지는 경우가 많음

 

 

 

  • 로컬(Local) vs 원격(Remote) 공격

로컬 공격 : 네트워크 상에 존재하는 컴퓨터 계정을 이용하여 공격

원격 공격 : 네트워크 외부에서 공격하는 것

 

 

 

  • 중간자 공격

공격자가 두 명의 유효한 사용자 사이에 끼어들어서 정보를 도청하거나 변조하는 형태의 공격

 

 

 

  • 치고 빠지기 (Hit-and-Run) 공격 vs 지속(Persistent) 공격

치고 빠지기 공격은 : 짧은 시간 동안 시스템을 혼란에 빠뜨림

지속 공격 : 공격이 오랜 시간 지속됨

 

 

 

  • 전수조사 공격

예 : 패스워드를 찾으려는 해커는 패스워드를 구성하는 모든 문자의 조합을 시도함으로써 해킹을 계속 시도

 

 

 

 

키 기반의 암호화

암호화의 역할 : Confidentiality(기밀성), Authenticity(신뢰성), Integrity(무결성)

-> Key를 이용한 암호화 기술로서 해결

 

 

 

대칭키 암호화 방식

- 암호화와 복호화키가 동일

- DES, 3DES 등의 프로토콜이 해당됨

 

 

 

대칭키 암호화 실습

VMware의 UbuntuServer 터미널 열기

 

암호화

echo 'this is the plain text' > p1.txt 		//평문 p1 생성
openssl enc -e -des3 -salt -in p1.txt -out cip.bin		//암호화

enc -e -des3 : des3 방식으로 암호화

-in p1.txt -out cip.bin : p1.txt 파일의 암호화한 결과를 cip.bin 파일에 저장

 

복호화

openssl enc -d -des3 -in cip.bin -out p2.txt

enc -d -des3 : cip.bin 파일을 p2.txt 파일로 복호화

 

 

 

 

비대칭키 암호화 방식

 

- 암호화키와 복호화키가 다름

 

 

 

비대칭키 암호화 실습

VMware의 UbuntuServer 터미널 열기

 

개인키 생성

openssl genrsa -out private.pem 2048

RSA로 개인키 private.pem 생성

pirvate.pem 키는 2048bit 길이로 이 숫자가 높을수록 안전

 

 

공개키 생성

openssl rsa -in private.pem -out public.pem -outform PEM -pubout

개인키 private.pem에 대한 공개키 public.pem 생성

공개키를 자신에게 정보를 제공할 사람에게 전송

 

공개키로 암호화

echo 'coding everybody' > file.txt		//평문 file.txt 생성
openssl rsautl -encrypt -inkey public.pem -pubin -in file.txt -out file.ssl

file.txt의 내용을 RSA 방식으로 암호화한 파일 file.ssl 생성

 

개인키로 복호화

openssl rsautl -decrypt -inkey private.pem -in file.ssl -out decrypt.txt

 

 

 

해시(Hash)

하나의 문자열을 이를 상징하는 짧은 길이의 값이나 키로 변환하는 것

보안에서는 해시를 무결성 확인을 위한 알고리즘으로 사용

해시 값을 통해 해시 되기 전의 값을 추측하는 것이 불가능

 

***암호화 알고리즘 : 복원 가능(양방향성 알고리즘)

해쉬 알고리즘 : 복원 불가능(단방향성 알고리즘)

 

 

 

Public Key Infrastructure

- 메시지의 암호화 및 전자서명을 제공하는 복합적인 보안 시스템 환경

- 공개 키를 효과적으로 운용하기 위해 정해진 만은 규격이나 선택사양

: 디지털 인증서 생성, 관리, 저장, 배분, 취소(폐지)

에 필요한 하드웨어, 소프트웨어, 사람 , 정책 및 절차라고 정의

 

 

 

 

 

Metaspolitable(Target)

파일 다운로드 : sourceforge.net/projects/metasploitable/

 

Metasploitable

Download Metasploitable for free. Metasploitable is an intentionally vulnerable Linux virtual machine. This is Metasploitable2 (Linux) Metasploitable is an intentionally vulnerable Linux virtual machine. This VM can be used to conduct security training, te

sourceforge.net

VMware 부팅전 세팅 -> 네트워크 어댑터 VMnet0

 

ID&Password :msfadmin

 

터미널 열기

 

 

 

Kali (Attacker)

파일 다운로드 : www.offensive-security.com/kali-linux-vm-vmware-virtualbox-image-download/

 

Download Kali Linux Virtual Images | Offensive Security

Want to download Kali Linux custom images? We have generated several Kali Linux VMware and VirtualBox images which we would like to share with the community. Note that the images provided below are maintained on a “best effort” basis and all future up

www.offensive-security.com

Kali Linux 64-bit Vmware(Kali Linux VMware 64-Bit (7z)) 다운로드

 

VMware 부팅전 세팅 -> 네트워크 어댑터 VMnet0

 

ID&Password :kali

 

네트워크 설정

시계 옆의 네모 아이콘 우클릭 > Edit Connections... > Ethernet Device eth 0 > IPv4 Settings 탭 이동 >Method : Manual, IP address 192.168.10.50 /24,  게이트웨이 192.168.10.2, DNS 192.168.10.2

 

터미널 열기

sudo su - 
kali
vi /etc/apt/sources.list

deb-src http://http.kali.org/kali kali-rolling main 주석 제거

 

apt update
apt -y install dsniff

 

 

WinClient에서 Ping 테스트

Client 네트워크 설정은 

IP : 192.168.10.40

서브넷마스크 : /24

기본 게이트웨이 : 192.168.10.2

DNS 서버 : 192.168.10.2

 

 

스니핑 (Sniffing)

개념

:네트워크 트래픽을 도청하는 과정

: 네트워크 상에서 자신이 아닌 상대방의 패킷 교환을 엿듣는 것

: 데이터를 도청, 수집해서 데이터를 분석

: 수동적 공격 (직접적인 피해를 발생시키지는 않음)

 

용도

: 네트워크 패킷을 모니터링해서 송신지와 수신지의 IP 주소를 획득

: 포트 번호를 식별하고 송수신되는 메시지를 확인

: 클라이언트에 전송된 패킷에 대해서 서버가 어떤 식으로 반응하는지 확인 가능

 

 

스니핑 - 모드

일반 모드

: 자신의 컴퓨터로 전송되는 패킷만 수신 받고 관련 없는 패킷은 삭제(drop)

 

프러미스큐어스 모드

: MAC 주소와 IP 주소에 관계없이 모든 패킷을 스니퍼에게 넘겨주는 것

: 리눅스나 유닉스 등의 운영체제에서는 랜 카드에 대한 모드 설정이 가능

: 윈도우에서는 스니핑을 위한 드라이버를 따로 설치 (wincap 또는 npcap)

 

바이패스 모드

: 패킷에 대한 분석까지 하드웨어로 구현되어있는 랜 카드

: 기가바이트(GByte) 단위의 백본 망에서 스니핑을 하기 위한 장비로 고가임

 

 

프러미스큐어스 모드로 변경

ifconfig eth0 promisc
ifconfig

 

 

 

Sniffer TCPDump

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

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

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

tcpdump -i eth0 -xX host 192.168.10.2

 

 

Sniffer Fragrouter(프래그 라우터)

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

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

fragrouter

 

 

Sniffer DSniff(디스니프)

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

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

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

dsniff

 

 

허브 환경에서 스니핑

허브는 flooding 기반의 데이터 전송 장비

Normal 모드인 경우 MAC주소를 보고 패킷은 버려지기 떄문에 트래픽 오버헤드는 발생하지 않음

프로미스큐어스 모드로 변환 후 동작 시 버려지는 패킷 없이 스니핑 가능

 

 

스위칭 환경에서의 스니핑

스위치는 각 장비의 MAC 주소를 확인하여 포트에 할당

자신에게 향하지 않은 패킷 외에는 받아볼 수 없어 스니핑을 막게됨

 

SPAN(Switch Port Analyzer)/Port Mirroring 기능

: 스위치를 통과하는 모든 트래픽을 볼 수 있는 기능

: 송신 포트의 트래픽을 분석 장비 포트로 자동 복사해주는 기술

: 관리적인 목적으로 사용하지만 공격자가 물리적으로 해당 포트에 접근 가능

 

* 태핑(tagging 또는 Splitter(스플리터))

: 허브와 같이 포트를 모니터링하기 위한 장비

: SPAN의 비효율적 모니터링 어려움을 해결 하기 위한 기술

 

 

스위치 재밍(Switch Jamming)

: MAC address Flooding 또는 MACOF(MAC Overflow) 공격

: MAC 주소 테이블의 버퍼를 오버플로우시켯서 승위치의 허브화 공격

: 스위치의 Fail Open 정책을 이용한 공격

* Fail Open 정책 : 장애 발생 시 모든 트래픽 전송을 허용하는 정책 (가용성을 보안성보다 우선 시 하는 정책)

* Fail Close 정챌 : 장애 발생 시 모든 트래픽 전송을 차단하는 정책 (가용성보다는 보안성을 우선시 하는 정책)

 

 

스푸핑(Spoofing)

'속이다'는 의미

인터넷이나 로컬에서 존재하는 모든 연결에 스푸핑 가능

공격자가 자신을 공격 대상자에게 노출 시키지 않고 제 3의 사용자인것처럼 MAC 주소, IP 주소 등을 속이는 작업

정보를 얻어내기 위한 중간 단계의 기술로 사용하는 것 외에 시스템을 마비 시키는데 사용할 수 있음 

 

 

ARP 스푸핑

MAC 주소를 속이는 것(2계층에서 작동해 공격 대상이 같은 랜에 있어야 함.)

- 클라이언트의 MAC 주소를 공격자가 자신의 MAC 주소로 변조

- ARP 테이블을 갱신하는 ARP 프로토콜의 취약점을 이용

- ARP 스푸핑 공격을 이용해 ARP 캐시 테이블의 공격 정보를 유지

- ARP 캐시 포이즈닝 : ARP 캐시 테이블 내용을 몰래 변경하는 작업

 

 

 

ARP 스푸핑 보안 대책

arp -a

현재 MAC 주소 테이블 확인

 

arp -s <IP주소> <MAC주소>

뒷부분에 PERMPermanet 또는 static이 있음

IP와 MAC 주소 값은 ARP 스푸핑 공격이 들어와도 변하지 않음

댓글