1. 기밀성 : 허락되지 않은 사용자 또는 객체가 정보의 내용을 알 수 없도록 하는 것
기밀성 공격 : 스니핑(sniffing) : 네트워크상의 패킷을 무작위로 읽어 패킷의 내용을 알 수 있게 하는 것
2. 무결성 : 공격자가 정보를 함부로 수정할 수 없도록 하는 것
네트워크에서의 무결성은 '클라이언트와 서버 간의 데이터가 변조되지 않고 온전히 전송되는가'와 관련
무결성 공격 : 세션 하이재킹 : 중간에 유요한 다른 연결을 빼았는 것,
MITM 공격 : 두 시스템 간의 데이터를 중간에 변조
3. 가용성 : **허락된 사용자** 또는 객체가 정보에 접근할 때 방해받지 않도록 하는 것
가용성 공격 : Dos : 서비스를 해킹해 사용자들이 웹서버를 사용하지 못하는 것
1. 프로토콜 개념 : 컴퓨터 전송 간 해석 체계
2. 프로토콜 종류 : TCP,UDP 등
3. 프로토콜 기능 :
-1) 주소 설정 : 서로 다른 시스템의 두 개체가 통신을 하는 경우 필요
-2) 순서 제어(Sequence Control) : 프로토콜 데이터 단위를 전송할 때 보내는 순서를 명시
-3) 캡슐화(Encapsulation) : 데이터에 제어 정보를 덧붙이는 것
-4) 연결 제어(Connection Control) : 연결 설정, 데이터 접속을 연결 해제에 대한 통제 수행
등 [나무 위키 찾아보기\\]
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 서버는 : MASTER/SLAVE DNS 서버가 존재함..
보통 Slave DNS서버로 사용하고 Master DNS는 저장소 개념으로 사용한다.
-> DNS 서버의 보안 문제는 전송하려는 대상이 DNS서버를 Slave DNS로 제한하지 않아서 발생한다.
현재 이용중인 DNS 서버 확인 리눅스 : ifconfig /all
윈도우 : ipconfig /all
리눅스 계열 DNS 서버 등록 주소 경로 : /etc/resolv.conf
Hosts파일 : 사용자의 기본 설정이 존재함
리눅스 계열 hosts파일 주소 경로 : /etc/hosts
1. 메일 서비스
2. p2p 서비스 : 카카오톡 같은 메신저나 보이스톡같은 개인 간 통신서비스, 토렌트같은 파일 공유 프로그램
/Peer To Peer, 즉 당사자 간의 통신이라는 특성으로 서비스를 이용하는 사용자의 IP정보가 노출될 수 있다.
3. 웹 해킹 공격 : 웹 서버의 취약점을 이용해 사용자들이 사용하는 웹 서버를 공격
4. traceroute : 패킷이 목적지까지 도달하는 동안 거쳐가는 라우터의 IP를 확인하는 툴
/UDP,ICMP,IP의 TTL값을 이용해 상대방이 속한 인터넷 구성 등을 짐작할 수 있음.
윈도우 계열 : /cmd > tracert [원하는 주소]
리눅스 계열 : traceroute [원하는 주소]
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의 환경 : 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 : 보낼 파일 크기
tcp open 스캔 : 열린 포트에 대해 SYN신호를 보내면 SYN+ACK 플래그로 상태를 확인
-> ACK로 반응
장점 : 다음 단계를 수행할 수 있다.
단점 : 흔적이 남는다.
STEALTH SCAN : 흔적을 남기지 않고, 공격 대상으로부터 수