본문 바로가기

정보보호/정보보호론(박승철)

정보보호론-(2) 정보 수집 단계, 사회공학 공격, 패스워드 깨기 공격

정보보호론-(2) 정보 수집 단계, 사회공학 공격, 패스워드 깨기 공격

정보 수집 단계
- 풋프린팅(Foot Printing)
- 스캐닝(Scanning)

풋 프린팅(Foot Printing)
- 공격대상에 대한 정보를 수집하기 위해 공격대상에 대해 흔적처럼 흘려진 정보들을 하나씩 채집하여 모으는 작업
- 주소 정보 : IP 주소, DNS 서버 주소, URL 주소, 이메일
- 사용자 정보 : 조직도, 사용자 ID, 이름, 전화번호, 주민등록정보
- 구성 정보 : 네트워크 구성, 장비 공급자 정보, DBMS 정보, 운영체제 정보
- 관리 정보 : 보안정책, 개인 인증 절차

풋 프린팅 방법
- 쓰레기통 뒤지기(Dumpster Driving)
- 웹 사이트 조사
- whois 도구 이용

스캐닝(Scanning)
- 네트워크 상에서 동작하는 도구를 사용하여 네트워크 상이 시스템 정보를 구체적으로 수집하는 작업
- nmap, nessus와 같은 도구를 사용하는 것이 주된 방법

스캐닝의 방법
- ICMP Scanning
- UDP Scanning
- TCP Full Scaning
- TCP Half-open Scanning(=TCP SYN Scanning)
- TCP Stealth Scanning
- IP Fragmentation Scanning
- X-mas Scanning
- NULL Scanning
- OS fingerprinting

ICMP Scanning
- ICMP(Internet Control Message Protocol) 프로토콜을 사용하여 네트워크 상에 동작하고 있는 시스템을 파악하는 공격

<그림 1: ICMP Scanning>

- 주로 ping 명령어를 사용한다.

UDP Scanning
- UDP를 사용하는 응용 서버에게 해당 포트로 UDP 패킷을 전송하고, 오류 메시지(포트 도달불가)의 회신 여부를 판단하여 시스템의 동작여부를 확인
- 해당 포트의 개방 여부를 확인

<그림 2: UDP Scanning>

- UDP는 TCP와 다르게 연결을 확인하지 않는다.(=3-way handshaking이 없다.)
- 포트가 열려있는 경우 아무런 메시지를 수신하지 못함.
- 포트가 닫혀있는 경우 ICMP unreachable 메시지를 수신

TCP Full Open Scanning
- TCP 연결 설정을 위해 교환하는 SYN(싱크) 세그먼트를 목표 시스템에 전송하고 회신결과 확인을 통해 목표 시스템의 상태를 파악
- 3-way Handshaking을 정상적으로 수행함.

<그림 3: TCP Full Open Scanning>

- 그러나, TCP Full Open Scanning방식은 정보 수집을 했다는 흔적이 남게됨.(3-way handshaking을 모두 완료했기 때문)

TCP Half Open Scanning
- 목표 시스템으로부터 회신을 받는 즉시 연결을 끊는 RST(리셋) 세그먼트를 송신함으로써 연결 설정을 중단
- TCP 연결 설정 기록을 남기지 않음으로써 스캐닝 공격의 흔적을 남기지 않게하기 위함.

<그림 4: TCP Half Open Scanning>

TCP Stealth Scanning
- 공격자가 SYN 세그먼트를 목표 시스템에게 직접 전송하는 대신 중간 시스템을 이용하여 IP 주소를 스푸핑(spoofing)함으로써 스스로를 숨김
- IP 통신이 전혀 없는 한가한(Idle) 시스템을 중간 시스템으로 선택(=Idle Scanning)
- 특정 시스템에서 생성되는 IP 데이터그램들을 유일하게 구분하는 식별자(Identification) 필드 값이 순서대로 증가하는 원리를 이용하는 기법

<그림 5: IP datagram>

- <그림 5>의 Identification 필드 값이 해당 시스템에서 IP 데이터그램을 하나 씩 생성할 때마다 1씩 증가하는 구조이다.

<그림 6: TCP Stealth Scanning>

TCP Stealth Scanning의 절차
(1) 공격자가 중간 시스템에 TCP SYN을 전달.
(2) 중간 시스템이 이에대한 응답으로 TCP SYN+ACK를 전달. 이때 IP 데이터그램의 Identification 필드 값이 X인 것을 확인
(3) 공격자가 목표 시스템에 TCP SYN을 전달(그러나, 이때 IP 데이터그램의 출발 IP 주소를 중간 시스템의 IP 주소 값으로 변경함, spoofed[위조, 속이다] SYN)
(4) 목표 시스템은 TCP SYN+ACK 응답을 중간 시스템으로 전달.
(5) 중간 시스템은 TCP SYN요청을 목표 시스템에 보낸 적이 없으므로 TCP RST를 목표 시스템에 전달. 이때, IP 데이터그램의 Identification 필드값은 X+1.
(6) 공격자가 중간 시스템에 TCP SYN을 전달
(7) 중간 시스템은 TCP SYN + ACK을 전달(이때 IP 데이터그램의 Identification의 값을 보고 목표 시스템의 해당 포트가 작동중인지 작동중이지 않은지 판단할 수 있음.)

목표 시스템이 작동중인 경우 중간 시스템은 (5)를 통해 Identification 값이 X+1, (7)로 응답할 때 X+2로 응답하게 됨.
> Identification값이 X+2이면 목표 시스템은 작동중

목표 시스템이 작동중이지 않은 경우 중간 시스템은 목표 시스템으로 부터 (4)에서 SYN + ACK대신 RST+ACK 응답을 받게되어 (5)에 해당하는 패킷을 전송하지 않음. 따라서, (7)로 응답할 때 X+1로 응답하게 됨
> Identification값이 X+1이면 목표 시스템은 작동중이지 않음.

IP Fragmentation Scanning
- 보안 장치에서는 IP 데이터그램의 특정부를 보고 필터링(filtering)작업을 수행하므로 IP 데이터그램을 매우 작은 단위로 쪼개어 보안장치가 필터링 할 수 없게하는 행위

X-max Scanning
- 크리스마스 트리처럼 TCP 패킷의 FIN, URG, PSH 플래그를 설정하여 패킷 전송

NULL Scanning
- TCP 패킷을 아무런 플래그 설정 없이 전송

OS Fingerprinting
- OS의 종류와 버전을 파악하기 위한 스캐닝 작업
- 운영체제의 버전에 따라 취약점의 유형이 다르기 때문에 공격자가 사용할 수 있는 공격수단에 차이가 있음
- 예를 들어, 운영체제 별로 CVE가 다르므로 목표 시스템의 운영체제 정보를 확인한 뒤 해당 운영체제 버전이 갖는 취약점을 파악 한뒤 그에 맞는 공격법을 사용할 수 있는 것
- 동작 원리 : 운영체제별 구현에 차이가 있는 기능을 포함하는 프로토콜 기능 수행을 시도하고 그 결과를 확인함으로써 운영체제의 버전을 확인함.
- TCP의 ISN, IP의 TTL, IP의 ToS 구현 방식은 표준이 정해져 있지 않아 운영체제별로 값이 다름-> 이 값을 확인하여 운영체제 정보를 확인할 수 있는 것

사회공학 공격(Social Engineering Attack)
- 신뢰할 수 있는 개인이나 조직을 사칭하여 공격 대상의 민감한 정보를 빼내는 작업
- 인간 기반 사회공학 공격, ICT기반 사회공학 공격(피싱, 파밍)

인간기반 사회공학 공격
- 공격 대상자에게 전화를 건 다음 조직의 보안 책임자 또는 위탁 보안 업체의 담당자로 사칭하여 보안 설정 변경 목적을 빙자한 사용자 ID, 패스워드 정보 탈취

ICT기반 사회공학 공격 - 피싱(Phishing)
- 신뢰할 만한 미끼 정보를 사용하여 공격 대상자를 유인한 후 민감한 개인 정보(Private Data)를 마치 낚시하듯이(fishing) 수집한다는 뜻
- Private Data + fishing => Phshing(피싱)
- 이메일 또는 SNS로 본 사이트와 유사하게 위조한 사이트의 URL을 첨부
- 예를 들어, tistory.com 웹 페이지와 똑같이 생긴 웹 페이지를 tist0ry.com으로 만들고 사용자 접근을 유인, 피싱 사이트에 아이디, 패스워드를 통해 로그인하면 해당 개인정보를 탈취하는 행위

ICT기반 사회공학 공격 - 파밍(Pharming)
- 민감한 개인 정보(Private Data)를 농장에서 곡식을 수확하듯이(farming) 수집한다는 의미.
- Private Data + farming => Pharming(파밍)
- 원본 사이트와 똑같이 생긴 위조 페이지를 생성한 뒤, 공격자가 tistory.com으로 접속해도 DNS 스푸핑 방식을 통해 위조 페이지로 접근하게 하는 행위

패스워드 깨기 공격(Cracking Attack)
- 패스워드 파일 복제(Password File Copy)
- 추측 공격(Guessing Attack)
- 사전 공격(Dictionary Attack)
- 무작위 대입 공격(Brute Force Attack)

패스워드 파일 복제(Password File Copy)
- 목표 시스템에 침투하여 관리자 권한을 획득한 뒤 패스워드 파일을 외부로 유출하는 행위
- 패스워드를 해싱하여 보관하거나 패스워드 파일을 안전한 곳(Shadow Password File)에 저장함으로써 대응할 수 있음

추측 공격(Guessing Attack)
- 특정 사용자의 패스워드 추측을 반복함으로써 패스워드를 알아내는 공격

사전 공격(Dictionary Attack)
- 사용자들이 주로(많이) 사용하는 패스워드 목록을 모아 파일로 저장한 뒤, 해당 사용자 ID에 후보군 패스워드를 모두 대입하여 공격하는 방식.
- 예를들어, qwe1234, 123456등 사용자들이 사용하기 쉬운 패스워드 목록을 만들 수 있음.

무작위 대입 공격(Brute Force Attack)
- 사용자가 선택할 수 있는 패스워드의 모든 경우의 수를 하나씩 차례대로 대입, 공격하는 방식

Reference
1. 

제2강+정보수집_사회공학_패스워드공격.pdf
0.58MB

2. https://www.youtube.com/watch?v=V2MmQGXf4uI