Download presentation
Presentation is loading. Please wait.
1
Chapter 05 목록화
2
01 풋프린팅 02 스캔 03 운영체제 탐지 04 방화벽 탐지 05 SNMP
3
풋프린팅이 무엇인지 안다. 포트와 서비스의 관계를 이해한다. 다양한 포트 스캔 기술을 이해하고 실행할 수 있다. 운영체제, 방화벽, IDS를 탐지할 수 있다. 사용자, 공유 정보, 응용 프로그램 등에 대한 목록화를 이해한다. SNMP에 대해 이해하고 SNMP를 이용한 목록화를 수행할 수 있다.
4
사회 공학 기법(Social Engineering)
1. 풋프린팅에 대한 이해 풋프린팅(Footprinting) 발자국을 살펴보는 일 공격 대상의 정보를 모으는 방법 중 하나 사회 공학 기법(Social Engineering) 친구끼리 사용자 계정이나 패스워드 정보를 주고 받거나, 패스워드를 잊지 않으려고 수첩이나 컴퓨터 옆에 적어 놓은 것들을 이용하는 해킹 실제로 패스워드가 노출되는 사건의 대부분이 사회 공학에 의한 것
5
풋프린팅 방법 : 스캔, 운영체제 탐지, 방화벽 탐지, SNMP 이용
1. 풋프린팅에 대한 이해 해킹을 위한 사전 준비 작업 자신의 노출을 막기 위한 방법 모색 풋프린팅을 이용하여 상대방의 정보를 취득하는 과정 1. 침투하고자 하는 시스템의 사용자 계정 : 웹 사이트 관리자, 사원의 계정 -> 웹메일 주소에 있는 계정으로 추측가능 예) 2. 패스워드를 찾기 위한 계정을 사용하는 사람의 정보 취득 : 이름, 전화번호, 생일, 주민 번호, 차량번호, 주소 등 3. 게시판에서 필요한 정보 취득 : 시스템 업그레이드, 문제점 등 4. 협력사나 계열사의 보안 조치 확인 : 신뢰관계가 있는 협력사 계정을 통해 침투 주의사항 접속 로그기록을 최소화해야 함 -> 공격 대상 사이트를 직접 접속하는 것보다 유틸리티 로 웹 페이지를 다운로드한 뒤 검색하는 것이 좋음. 풋프린팅 방법 : 스캔, 운영체제 탐지, 방화벽 탐지, SNMP 이용
6
2. 스캔 스캔(Scan) 서비스를 제공하는 서버의 작동 여부와 서버가 제공하는 서비스를 확인하는 작업 -> TCP 프로토콜의 전송-응답 과정을 이용 전화를 걸었을 때 한 쪽에서 ‘여보세요’라고 말하면 다른 쪽도 ‘여보세요’라고 말하며 서로를 확인하는 것과 같음. Ping(핑) 네트워크와 시스템이 정상적으로 작동하는지 확인하기 위한 간단한 유틸리티 ICMP(Internet Control Message Protocol)를 사용하며, 기본적으로 TCP/IP 네 트워크에서 사용
7
ICMP 스캔 : ICMP를 이용해 공격 대상 시스템의 활성화 여부를 알아보는 방법
Echo Request(Type 8)와 Echo Reply(Type 0) 이용하기 Timestamp Request(Type 13)와 Timestamp Reply(Type 14) 이용하기 Information Request(Type 15)와 Information Reply(Type 16) 이용하기 ICMP Address Mask Request(Type 17)와 ICMP Address Mask Reply(Type 18) 이용하기 → 가장 일반적인 방법은 Echo Request(Type 8)와 Echo Reply(Type 0)를 이용하 는 것(ping)
8
2. 스캔 2.3 ICMP 스캔 윈도우 실행 결과 ICMP 패킷의 길이를 나타냄(윈도우는 32바이트, 유닉스나 리눅스는 56바이트) 공격 대상에서 보내온 ICMP Echo Reply 패킷의 크기 Echo Request 패킷을 보낸 후 Reply 패킷을 받기까지의 시간 TTL(Time To Live) 값 Request 패킷의 개수, Reply 패킷의 개수, 손실된 패킷의 개수 Request 패킷을 보낸 후 Reply 패킷이 오기까지의 시간 정보
9
2. 스캔 2.3 ICMP 스캔 윈도우 실행 결과
10
2. 스캔 2.3 ICMP 스캔 우분투 실행 결과 리눅스는 중지 명령을 내리기 전까지 Request 패킷을 계속 보냄.
11
라우터에서 ICMP Echo Request 패킷이 막혔을 때 이용할 수 있는 방법
2. 스캔 2.3 ICMP 스캔 라우터에서 ICMP Echo Request 패킷이 막혔을 때 이용할 수 있는 방법 Timestamp Request(원격 시스템 시간정보 요구) 패킷 이용 Information Request(RARP용 IP주소 요청) 패킷을 이용 ICMP Address Mask Request와 Reply(서브넷 마스크정보 요청) 패킷을 이용 → ICMP를 이용한 ping은 시스템 하나를 조사하기에 적절하나 큰 네트워크에 있 는 활성시스템을 찾기에는 부적합 -> 스위핑을 이용함
12
2. 스캔 TCP Open 스캔 2.4 TCP와 UDP를 이용한 스캔 TCP를 이용한 가장 기본적인 스캔
3-way 핸드쉐이킹 과정이 완료되면 공격대상 시스템에 로그기록이 남음
13
2. 스캔 TCP Open 스캔 2.4 TCP와 UDP를 이용한 스캔
Reverse Ident : 세션을 성립한 상태에서 원격지 서버에서 데몬을 실행하고 있는 프로세스의 소유권자를 확인하기 위한 것 113번 포트는 사용자 인증을 위해 사용되지만, 보통 중지되어 있음.
14
2. 스캔 스텔스(Stealth) 스캔 2.4 TCP와 UDP를 이용한 스캔
로그를 남기지 않는 것만이 아니라, 공격 대상을 속이고 자신의 위치를 숨기는 스캔 모두를 통칭 대표적인 경우로 TCP Half Open 스캔이 있음.
15
2. 스캔 스텔스(Stealth) 스캔 2.4 TCP와 UDP를 이용한 스캔
FIN(Finish) 스캔 : 포트가 열린 경우 응답이 없고, 닫힌 경우 RST 패킷이 돌아옴. NULL 스캔 : 플래그(Flag) 값을 설정하지 않고 보낸 패킷 XMAS 스캔 : ACK, FIN, RST, SYN, URG 플래그 모두를 설정하여 보낸 패킷
16
2. 스캔 ACK 패킷을 이용한 스캔 TCP 패킷을 이용한 스캔 2.4 TCP와 UDP를 이용한 스캔
모든 포트에 ACK 패킷을 보낸 후, 이에 대한 RST 패킷의 TTL값과 윈도우 크기 를 분석 포트가 열린 경우 : TTL 값이 64이하인 RST 패킷, 윈도우가 0이 아닌 임의의 값 을 가진 RST 패킷이 돌아옴 닫힌 경우 : TTL 값이 일정하게 큰 값이며, 윈도우 크기가 0인 RST 패킷이 돌 아옴 TCP 패킷을 이용한 스캔 모든 시스템에 동일하게 적용되지 않으며, 많이 알려져서 거의 적용되지 않음. SYN 패킷을 이용한 스캔 방법은 세션을 성립하기 위한 정당한 패킷과 구별할 수 없기 때문에 아직도 유효하며 아주 효과적
17
TCP 단편화(Fragmentation)
2. 스캔 2.4 TCP와 UDP를 이용한 스캔 TCP 단편화(Fragmentation) 크기가 20바이트인 TCP 헤더를 패킷 두 개로 나누어 보냄(첫 번째 패킷은 출발 지와 도착지 IP주소, 두 번째 패킷에는 스캔하려는 포트 번호). 첫 번째 패킷은 TCP 포트에 대한 정보가 없어 방화벽을 통과하고, 두 번째 패 킷은 출발지와 목적지 주소가 없어 방화벽을 지날 수 있음. 시간차를 이용한 스캔 아주 짧은 시간 동안 많은 패킷을 보내는 방법 : 방화벽과 IDS 처리 용량의 한 계를 넘기는 방법 아주 긴 시간 동안 패킷을 보내는 방법 : IDS가 패킷 패턴을 찾기 어렵도록 하 기 위함
18
2. 스캔 시간차에 의한 공격의 구분 FTP 바운스(Bounce) 스캔 2.4 TCP와 UDP를 이용한 스캔
Paranoid : 5분이나 10분 간격으로 패킷을 하나씩 보냄. Sneaky : WAN에서는 15초 단위로, LAN에서는 5초 단위로 패킷을 보냄. Polite : 패킷을 0.4초 단위로 보냄. Normal : 정상적인 경우 Aggressive : 호스트에 대한 최대 타임아웃은 5분, 패킷당 1.25초까지 응답을 기 다림. Insane : 호스트에 대한 최대 타임아웃은 75초, 패킷당 0.3초까지 응답을 기다림. 방화벽과 IDS의 네트워크 카드가 100Mbps 이상이 아니면 탐지하지 못함. FTP 바운스(Bounce) 스캔 취약한 FTP 서버에서 PORT 명령어를 통해 다른 시스템의 포트 활성화 여부를 확인
19
2. 스캔 UDP 스캔 2.4 TCP와 UDP를 이용한 스캔
포트가 닫힌 경우 공격 대상이 ICMP Unreachable 패킷을 보내지만, 열린 경우 에는 보내지 않음(신뢰성이 떨어짐).
20
2. 스캔 관련 툴 설치하고 사용법 익히기 실습 5-1 다양한 방법으로 스캔하기
우분투에서 제공하는 패키지 설치 툴인 ‘apt-get’ 명령어를 이용해 설치 apt-get은 기본적으로 root 권한으로 실행 일반 사용자 계정 권한의 쉘에서 실행할 때에는 apt-get 명령 앞에 sudo를 붙임.
21
2. 스캔 실습 5-1 다양한 방법으로 스캔하기 관련 툴 설치하고 사용법 익히기 apt-get 사용법
22
2. 스캔 관련 툴 설치하고 사용법 익히기 실습 5-1 다양한 방법으로 스캔하기 fping 패키지 검색
sudo apt-cache search fping*
23
2. 스캔 관련 툴 설치하고 사용법 익히기 실습 5-1 다양한 방법으로 스캔하기 fping 확인
sudo apt- cache show fping
24
2. 스캔 관련 툴 설치하고 사용법 익히기 실습 5-1 다양한 방법으로 스캔하기 fping 설치
sudo apt-get install fping
25
2. 스캔 fping을 이용해 스캔하기 실습 5-1 다양한 방법으로 스캔하기
Ping은 하나의 IP주소에만 적용하지만 fping은 IP주소대역에 대해 적용가능 스캔 전에 네트워크의 시스템 목록을 확인할 때 사용 -q : ICMP Request와 Reply를 숨김. -a : 활성화되어 있는 시스템을 보여줌. -s : 스캔이 끝난 후 결과를 정리해서 보여줌.
26
2. 스캔 fping을 이용해 스캔하기 실습 5-1 다양한 방법으로 스캔하기 fping 실행
fping -q -a -s -g /24
27
2. 스캔 nmap을 이용해 스캔하기 실습 5-1 다양한 방법으로 스캔하기 포트 스캔을 위해 흔하게 사용하는 가장 강력한 툴
호스트, 포트, 버전, 운영체제 스캔 가능 -sT 옵션 : TCP Open 스캔 nmap - sT
28
2. 스캔 nmap을 이용해 스캔하기 실습 5-1 다양한 방법으로 스캔하기 -sS 옵션 : SYN 스텔스 스캔
29
2. 스캔 nmap을 이용해 스캔하기 실습 5-1 다양한 방법으로 스캔하기 -p 옵션 : 특정 포트 스캔
nmap - sF - p 80,
30
2. 스캔 nmap을 이용해 스캔하기 실습 5-1 다양한 방법으로 스캔하기
-f 옵션 : 스캔하고자 하는 목적지 포트를 숨겨서 방화벽을 통과하기 위한 패킷 처음 패킷이 16바이트, 뒤의 패킷이 4바이트로 나뉨 윈도우 서버 2012를 대상으로 수행할 경우 해당 패킷은 필터됨. nmap -f - sS
31
2. 스캔 실습 5-1 다양한 방법으로 스캔하기 nmap을 이용해 스캔하기
32
2. 스캔 실습 5-1 다양한 방법으로 스캔하기 nmap을 이용해 스캔하기
33
2. 스캔 nmap을 이용해 스캔하기 실습 5-1 다양한 방법으로 스캔하기
윈도우 nmap은 운영체제의 종류, 상대방 시스템의 MAC 주소 등 네트워크 상 황에 따라 수집 가능한 다량의 정보를 얻을 수 있음.
34
배너 그래빙(Banner Grabbing)
3. 운영체제 탐지 3.1 운영체제 탐지에 대한 이해 배너 그래빙(Banner Grabbing) 상대 시스템의 운영체제를 확인하는 가장 기본적인 방법 텔넷처럼 원격지 시스템에 로그인을 하면 뜨는 안내문과 비슷한 배너를 확인 하는 기술
35
3. 운영체제 탐지 FTP에 대해 배너 그래빙하기 실습 5-2 배너 그래빙하기
- 배너 그래빙 : 원격 시스템의 운영체제를 알아보는 기본적인 방법 FTP에 대해 배너 그래빙하기 telnet ftp FTP demon
36
3. 운영체제 탐지 SMTP 포트에 대해 배너 그래빙하기 실습 5-2 배너 그래빙하기
telnet (SMTP) telnet (ssh) telnet (POP3) telnet (IMAP4)
37
SMTP 포트에 대해 배너 그래빙하기(서비스 데몬의 정상작동 확인)
3. 운영체제 탐지 실습 5-2 배너 그래빙하기 SMTP 포트에 대해 배너 그래빙하기(서비스 데몬의 정상작동 확인) telnet GET /iisstart.htm
38
3. 운영체제 탐지 TCP/IP 반응 살펴보기 3.1 운영체제 탐지에 대한 이해 TCP/IP에 대한 반응이 운영체제마다 다름
FIN 스캔 이용 : 적용되는 운영체제는 윈도우, BSD, Cisco, IRIS 등 세션 연결 시 TCP 패킷의 시퀀스 넘버 생성을 관찰 윈도우 : 시간에 따른 시퀀스 넘버 생성 리눅스 : 완전한 랜덤 FreeBSD, Digital-Unix, IRIX, 솔라리스 : 시간에 따른 랜덤한 증분
39
3. 운영체제 탐지 Netcraft 웹 사이트 이용하기 3.1 운영체제 탐지에 대한 이해
공격 대상의 운영체제에 대한 다양한 정보를 보여줌.
40
4. 방화벽 탐지 방화벽(Fire wall) 4.1 방화벽에 대한 이해 침입자를 차단하는 1차 방어선
접속에 대한 허용과 차단을 결정 침입 탐지 시스템(Intrusion Detection System, IDS) : 방화벽이 막을 수 없거나 차단에 실패한 공격을 탐지하여 관리자에게 알려주는 역할
41
4. 방화벽 탐지 방화벽 탐지 4.2 방화벽 탐지 방화벽 설치 여부를 알 수 있는 가장 손쉬운 방법은 traceroute
방화벽 확인 후 포트 스캔을 통해 종류를 확인함
42
4. 방화벽 탐지 firewalk(파이어워크) firewalk 원리 4.2 방화벽 탐지 방화벽의 열린 포트를 알아내는 방법
방화벽이 탐지되면 방화벽까지의 TTL보다 1만큼 더 큰 TTL 값을 생성하여 보냄. 방화벽이 패킷을 차단할 경우, 아무 패킷도 돌아오지 않음 방화벽이 패킷을 그대로 보내면 패킷은 다음 라우터에서 사라지고 라우터는 traceroute 과정처럼 ICMP Time Exceeded 메시지(Type 11)를 보냄. 공격자는 ICMP Time Exceeded 메시지 여부를 받은 포트에 대해 열린 포트임을 추측할 수 있음.
43
4. 방화벽 탐지 4.2 방화벽 탐지 방화벽이 닫힌 포트에 패킷을 보낸 경우 응답 패킷이 돌아오지 않음.
44
4. 방화벽 탐지 방화벽이 열린 포트에 패킷을 보낸 경우 4.2 방화벽 탐지
다음 라우터까지 전달된 후 ICMP Time Exceeded 메시지가 돌아옴.
45
SNMP(Simple Network Management Protocol)
중앙 집중적인 네트워크 관리 툴의 표준 프로토콜 SNMP 소개 SNMP 버전 1 1988년 IAB에서 표준화 작업을 거쳐 SGMP(Simple Gateway Monitoring Protocol)를 발전시켜 만든 것 보안 기능이 없어 해당 네트워크 장비의 모든 정보를 얻어낼 수 있음. SNMP 버전 2 1993년 PDU(Protocol Data Unit) 타입을 정의할 수 있고, DES와 MD5를 이용한 보안 기능을 추가하여 만듦. SNMP 버전 3 1999년 SNMP 버전 2에 인증 기능을 더함.
46
5. SNMP SNMP 구성 요소 5.1 SNMP에 대한 이해 관리 시스템과 관리 대상(Agent)으로 나뉨.
관리대상(에이전트)의 구성 SNMP(Simple Network Management Protocol) : 전송 프로토콜 MIB(Management Information Base) : 관리할 개체의 집합 SMI(Structure of Management Information) : 관리 방법 관리 시스템과 에이전트 통신의 최소 일치 사항 버전, 커뮤니티, PDU 타입
47
5. SNMP 5.1 SNMP에 대한 이해 관리 시스템과 에이전트 통신
48
5. SNMP 관리 시스템과 에이전트 통신 5.1 SNMP에 대한 이해
Get Request : 관리 시스템이 특정 변수 값을 읽음. Get Next Request : 관리 시스템이 이미 요청한 변수 다음의 변수 값을 요청 Set Request : 관리 시스템이 특정 변수 값의 변경을 요청 Get Response : 에이전트가 관리 시스템에 해당 변수 값을 전송 Trap : 에이전트의 특정 상황을 관리 시스템에 알림.
49
5. SNMP MIB 5.1 SNMP에 대한 이해 관리자가 조회하거나 설정할 수 있는 개체들의 데이터베이스
개체별로 트리 형식 구조를 이룸.
50
5. SNMP SMI OID 5.1 SNMP에 대한 이해 표준에 적합한 MIB를 생성하고 관리하는 기준(관리 정보 구조)
MIB를 생성하려면 OID를 지정받아야 함(IP 주소와 유사한 표기법 사용) 각 제조업체나 기관은 특정 번호를 할당받고 이 번호를 생산한 장비에 부여
51
5. SNMP 5.1 SNMP에 대한 이해 OID
52
5. SNMP SNMP의 취약점 5.2 SNMP 취약점을 이용한 정보 획득
기본적으로 누구라도 SNMP의 MIB정보를 볼 수 있음. 패킷이 UDP로 전송되어 연결의 신뢰도가 낮음. 데이터가 암호화되지 않은 평문으로 전송되어 스니핑 가능
53
5. SNMP 실습 5-3 SNMP를 이용해 정보 수집하기 SNMP 설치하기
54
SNMP Community String 설정하기
[Properties] 메뉴에서 [Security] 탭의 <Add>버튼을 클릭 권한은 ‘READ ONLY’, 커뮤니티 이름은 ‘public’으로 입력
55
SNMP Community String 설정하기
‘Accept SNMP packets from any host’를 체크하여 커뮤니티 등록
56
5. SNMP snmpwalk 설치하기 SNMP 스캐닝하기 실습 5-3 SNMP를 이용해 정보 수집하기
(sudo) apt- get install snmp SNMP 스캐닝하기 SNMP 서비스 포트 161가 열려 있는지 확인 nmap - sU - p
57
5. SNMP SNMP 스캐닝하기 실습 5-3 SNMP를 이용해 정보 수집하기 nmap로 Community String 크랙
nmap - sU - p script= snmp- brute
58
5. SNMP SNMP 스캐닝하기 실습 5-3 SNMP를 이용해 정보 수집하기
snmpwalk - v 1 - c public
59
5. SNMP SNMP 스캐닝하기 실습 5-3 SNMP를 이용해 정보 수집하기 SNMP로 얻을 수 있는 정보(윈도우 시스템)
System MIB : 호스트 이름, 설치된 운영체제 버전, 마지막 부팅 시각 등 Interfaces : 논리적인 인터페이스인 루프백(Loopback)과 실제 인터페이스 스위치의 경우 다수의 인터페이스에 대한 사항을 하나씩 모두 확인할 수 있음. Shared Printers : 공유된 프린터 확인 Services : 스캔한 시스템에서 운용하고 있는 서비스 목록 확인 Accounts : 사용 계정을 확인 Shares : 공유 자원 확인 TCP/IP Networks : 연결된 네트워크 목록 확인 Routes : 시스템의 라우팅 테이블 확인 UDP Services : 제공하고 있는 UDP 서비스 확인 TCP Connections : 스캔한 시스템의 현재 TCP 세션과 열린 포트를 확인
60
5. SNMP SNMP의 보안 대책 5.3 보안 대책 SNMP가 불필요하다면 SNMP 사용을 막음.
노출되지 않도록 관리 패킷을 주고받을 호스트를 설정하여 SNMP를 사용할 시스템의 IP를 등록
Similar presentations