39일차 복습

1. 네트워크 3대 보안 요소

1. 기밀성 : 허락되지 않은 사용자 또는 객체가 정보의 내용을 알 수 없도록 하는 것
기밀성 공격 : 스니핑(sniffing) : 네트워크상의 패킷을 무작위로 읽어 패킷의 내용을 알 수 있게 하는 것

2. 무결성 : 공격자가 정보를 함부로 수정할 수 없도록 하는 것
네트워크에서의 무결성은 '클라이언트와 서버 간의 데이터가 변조되지 않고 온전히 전송되는가'와 관련
무결성 공격 : 세션 하이재킹 : 중간에 유요한 다른 연결을 빼았는 것, 
							MITM 공격 : 두 시스템 간의 데이터를 중간에 변조

3. 가용성 : **허락된 사용자** 또는 객체가 정보에 접근할 때 방해받지 않도록 하는 것
가용성 공격 : Dos : 서비스를 해킹해 사용자들이 웹서버를 사용하지 못하는 것

2. 프로토콜

1. 프로토콜 개념 : 컴퓨터 전송 간 해석 체계

2. 프로토콜 종류 : TCP,UDP 등 

3. 프로토콜 기능 : 
-1) 주소 설정 : 서로 다른 시스템의 두 개체가 통신을 하는 경우 필요
-2) 순서 제어(Sequence Control) : 프로토콜 데이터 단위를 전송할 때 보내는 순서를 명시
-3) 캡슐화(Encapsulation) : 데이터에 제어 정보를 덧붙이는 것
-4) 연결 제어(Connection Control) : 연결 설정, 데이터 접속을 연결 해제에 대한 통제 수행
등 [나무 위키 찾아보기\\]

3. whois 와 DNS 조사

whois : 도메인 확인 프로토콜

whois 서버로 얻을 수 있는 정보
- 도메인 등록 및 관련 기관 정보 및 레코드 생성 및 갱신 시기
- 네트워크 주소와 IP주소, 할당 지역 위치
- 등록자,관리자,기술 관리자의 이름,연락처,이메일 계정 등

DNS(Domain Name System) : 네트워크 주소인 IP주소를 사람이 이해하기 쉬운 명칭인 도메인 이름으로 매칭시켜주는 시스템

DNS 계층 구조 
root domain : '.' ( www.naver.com**.) -> 보통 생략**
top-level domain : 국가나 조직체 특성(co.kr, com)
second-level domain : naver같은 주소의 대표 이름
sub domain : 보통 맨 압이며 자신의 DNS서버에서 지정한 www.ftp와 같은 특정 서버이름

FQDN(= Full Qualified Domain)  : 모든 계층을 모은 주소 ( www.google.com.)
root : .
top-level : com
second-level : google
sub : www

DNS 동작원리 (1)

DNS 서버 등록 ,hosts 파일에 대한 이해

DNS 서버는 : MASTER/SLAVE DNS 서버가 존재함..
보통 Slave DNS서버로 사용하고 Master DNS는 저장소 개념으로 사용한다.
-> DNS 서버의 보안 문제는 전송하려는 대상이 DNS서버를 Slave DNS로 제한하지 않아서 발생한다.

현재 이용중인 DNS 서버 확인 리눅스 : ifconfig /all
													 윈도우 : ipconfig /all

리눅스 계열 DNS 서버 등록 주소 경로 : /etc/resolv.conf
	
Hosts파일 : 사용자의 기본 설정이 존재함
리눅스 계열 hosts파일 주소 경로 : /etc/hosts

4. IP 주소 추적 이해

1. 메일 서비스
2. p2p 서비스 : 카카오톡 같은 메신저나 보이스톡같은 개인 간 통신서비스, 토렌트같은 파일 공유 프로그램 
/Peer To Peer, 즉 당사자 간의 통신이라는 특성으로 서비스를 이용하는 사용자의 IP정보가 노출될 수 있다.
3. 웹 해킹 공격 : 웹 서버의 취약점을 이용해 사용자들이 사용하는 웹 서버를 공격
4. traceroute : 패킷이 목적지까지 도달하는 동안 거쳐가는 라우터의 IP를 확인하는 툴
/UDP,ICMP,IP의 TTL값을 이용해 상대방이 속한 인터넷 구성 등을 짐작할 수 있음.
윈도우 계열 : /cmd > tracert [원하는 주소] 
리눅스 계열 : traceroute [원하는 주소]

5. 목록화

1. 풋프린팅  : 해킹하기 전 정보를 모으기 위해 사용하는 필수 작업 
	1) 사회 공학 기법(Social Engineering) : 실제로 패스워드가 노출되는 사건의 대부분이 사회공학에 의한 것
 예를 들어 친구끼리 사용자 계정이나 패스워드 정보를 주고 받거나, 패스워드를 잊지 않기 위해 컴퓨터 옆에 적은 정보를 이용한 해킹
	2) 해킹이 필요한 정보 : 사용자의 계정, 사용자의 정보, 게시판 이용
   
2. 스캔 : 서비스를 제공하는 서버의 작동 여부와 서버가 제공하는 서비스를 확인하기 위한 작업
 예를 들어 서비스를 제공하기 전 베타테스트를 통해 서비스 정상 작동 여부를 확인 
	1) ping : 네트워크와 시스템이 정상적으로 작동하는지 확인하는 간단한 유틸리티
		/ICMP를 사용하며, 기본적으로 TCIP/IP 네트워크에서 사용한다.
	2) ICMP 스캔을 이용해 시스템의 활성화 여부 알아보기
    -1. Echo Request/Reply 이용
		-2) Timestamp Request/Reply 이용
		-3) ICMP Echo Request 패킷이 막혔을 때 이용하는 방법
				1. Timestamp Requset 패킷 이용
				2. Information Request 패킷 이용

패킷을 원하는 형태로 생성하기 위한 도구 - hping3(Hacker’s Ping)

hping3의 환경 : kali

hping3의 장점 :
- 생성할 수 있는 프로토콜이 다양함 : IP / ICMP / UDP / TCP
- ping 생성시 시간의 다양한 간격 지정 : 매우 짧은 간격으로 전송 가능 (마이크로 초 단위로 지정)
- 여러가지 내용을 조작 가능 : 주소(보내고,받는) 
- 다른 데이터를 포함시켜 전송가능
- TCP 프로토콜을 사용할 경우 임의의 flag 조합을 지정할 수 있음.

형식 : hping3 [option...] [IP]

hping3 옵션
interval : -i u[간격(마이크로초단위)] 
							--fast : u10000
							--faster: u1000
							--flood: 최대한 빨리
프로토콜 : 다로적지 않을 경우 IP헤더까지만 생성
							-0 : IP
							-1 : ICMP
							-2 : UDP
							-8 : TCP 
IP 관련 설정 변경
							-a : 보내는 사람 IP를 지정된 IP로 변경
							-t : TTL 값 변경
							--rand-source : 패킷을 보내는 사람 IP를 임의의 IP로 지정
TCP 관련 설정 변경 
							-s : 보내는 사람의 Source Port 주소 변경
							-p : Destination Port 주소 지정
							-M : Sequence Number 값을 변경 
							-L : Ack Number 값을 변경
							-[플래그] : -U, -R, -S, -P, -A, -F 같은 플래그 
/TCP 플래그 종류 : NS, CWR, ECE, URG, ACK, PSH, RST, SYN, FIN

데이터 포함 전송 : 파일을 지정하여 내용 전송
							-d : 보낼 파일 크기

kali에서 centos의 서비스 스캐닝하기

TCP OPEN SCAN : 열린/닫힌 포트 스캐닝 구성도

Untitled

tcp open 스캔 : 열린 포트에 대해 SYN신호를 보내면 SYN+ACK 플래그로 상태를 확인
-> ACK로 반응
장점 : 다음 단계를 수행할 수 있다.
단점 : 흔적이 남는다.
STEALTH SCAN : 흔적을 남기지 않고, 공격 대상으로부터 수