Whois
후이즈(WHOIS)는 도메인 이름, IP 주소, 자율 시스템 등 인터넷 자원의 소유자와 범위를 검색하기 위한 통신 프로토콜 및 ICANN이 관여하는 도메인 관리 프로그램
Whois는 전세계적으로 모든 국가에는 ISO3166-1에 지정한 2문자로 된 국가코드가 부여되어 있다.
whois에서 얻을 수 있는 정보는 다음과 같다.
1. 등록 , 관리 기관
2. 도메인 이름, 도메인 관련 인터넷 자원 정보
3. 목표 사이트 네트워크주소와 ip주소
4. 등록자, 관리자, 기술 관리자의 이름 및 연락처, 이메일 계정
5. 레코드 생성 시기와 갱신 시기
6. 주 DNS서버와 보조 DNS서버
7. IP 주소의 할당 지역 위치
Hosts
호스트 이름에 대응하는 IP 주소가 저장되어 있어서 도메인 이름 시스템(DNS)에서 주소 정보를 제공받지 않고도 서버의 위치를 찾게 해주는 파일
이 hosts 파일에는 여러 줄이 올 수 있으며, 이 줄의 첫 문자 필드에는 IP 주소가, 그 다음에는 하나 이상의 호스트 이름이 위치한다. 각 필드는 흰 공백 탭으로 구별되는데, 역사적인 이유로 탭이 선호되지만 공백도 사용된다. 주석 줄을 포함할 수도 있는데 해시 문자(#)를 줄의 처음 위치에 놓으면 된다. 파일 내의 완전히 비어있는 줄들은 무시된다.
호스트 파일을 수정할 때에는 IP주소, 호스트 이름을 적어주면 적용되고 127.0.0.1은 기본적으로 자신의 컴퓨터 서버이다.
127.0.0.1 localhost loopback
::1 localhost
이 예는 오직 시스템과 시스템 호스트 이름의 루프백 주소를 위한 엔트리만 포함하고 있으며, 이것이 일반적인 기본 hosts 파일의 내용이다. 이 예는 IP 주소가 여러 개의 호스트 이름을 가질 수 있음을 나타내며(localhost, loopback) 호스트 이름은 IPv4와 IPv6 주소에 매핑할 수 있다.
이를 응용하여 해커들이 해킹에도 아주 많이 응용된다.
http://www.naver.com의 호스트를 특정 해킹 페이지의 IP로 지정하게되면 우리가 http://www.naver.com 으로 접속하려 할 때 해커들이 만든 naver.com으로 접속하게 되는 방식이다.
DNS
DNS라하면 인터넷망통신규약인 TCP/IP 네트워크상에서 사람이 기억하기 쉽게 문자로 만들어진 도메인을 컴퓨터가 처리할 수 있는 숫자로 된 인터넷주소(IP)로 바꾸는시스템인 Domain Name System을 일컫기도 하고, 이런역할을 하는 서버컴퓨터 즉 Domain Name Server라고 한다.
DNS 확인 프로세스에는 호스트 이름(예: www.example.com)을 컴퓨터 친화적인 IP 주소(예: 192.168.1.1)로 변환하는 과정이 포함된다. IP 주소는 인터넷의 각 기기에 제공되며, 거리 주소가 특정한 집을 찾는 데 사용되는 것처럼, 적절한 인터넷 기기를 찾기 위해서는 IP 주소가 필요하다. 사용자가 어떤 웹페이지를 로드하려고 할 때에는, 사용자가 웹브라우저에 입력한 내용(예: example.com)을 example.com 웹페이지를 찾는 데 필요한 컴퓨터 친화적 주소로 변환해야한다.
1) 도메인 네임 스페이스 (Domain Name Space)
DNS가 저장,관리하는 계층적 구조를 의미한다.
최상위에 루트 DNS 서버가 존재하고, 그 하위로 인터넷에 연결된 모든 노드(네모 표시)가 연속해서 이어진계층 구조로 구성되어 있다.
PC에서 사용하는 디렉토리 구조와 유사함을 알 수 있는데, 각 레벨(Top level, Second level 등)의 도메인은 그 하위 도메인 에 관한 정보를 관리하는 구조이다. (계층적 구조)
2) 네임 서버 (Name Server)
문자열로 표현된 도메인 이름을 실제 컴퓨터가 통신할 때 사용하는 숫자로 표현된 IP 주소로 변환시켜 주기 위해서는 도메인 네임 스페이스의 트리 구조 에 대한 정보가 필요하며, 이러한 정보를 가지고 있는 서버를 네임 서버라고 한다.
리졸버(Resolver)로부터 요청 받은 도메인 이름에 대한 IP 정보를 다시 리졸버로 전달해주는 역할을 수행한다.
3) 리졸버 (Resolver)
웹 브라우저와 같은 DNS 클라이언트의 요청을 네임 서버로 전달하고 네임 서버로부터 정보(도메인 이름과 IP 주소)를 받아 클라이언트에게 제공하는 기능을 수행한다.
하나의 네임 서버 에게 DNS 요청을 전달하고 해당 서버에 정보가 없으면 다른 네임 서버에게 요청을 보내 정보를 받아 온다.
수많은 네임 서버에 접근하여 사용자로부터 요청 받은 도메인의 IP 정보를 조회하는 기능을 수행할 수 있어야 한다.
Ping
핑은 IP 네트워크를 통해 특정한 호스트가 도달할 수 있는지의 여부를 테스트하는 데 쓰이는 컴퓨터 네트워크 도구중 하나이다.
IP 기반의 네트워크에 연결된 호스트끼리의 접속 성 확인에 사용되며 응답이 돌아올 때까지 반환 시간과, 상대방 도달 경로의 혼잡 상황도 알아낼 수 있는 매우 간편한 방법이다.
네트워크 상태를 확인하려는 대상(target) 컴퓨터(또는 네트워크 기기)를 향해 일정 크기의 패킷(packet, 네트워크의 최소 전송 단위)을 보낸 후(ICMP echo request), 대상 컴퓨터가 이에 대해 응답하는 메시지(ICMP echo reply)를 보내면 이를 수신, 분석하여 대상 컴퓨터가 작동하는지, 또는 대상 컴퓨터까지 도달하는 네트워크 상태가 어떠한지 파악할 수 있다.
IP address
IP Address는 32bit(4byte) 길이로 구성된 논리적인 주소체계로서 형태는 OOO.OOO.OOO.OOO (ex. 184.51.65.127)로 표기된다. 여기서 '.(dot)'으로 구분된 Octet(8bit / 1byte) 4개가 조합되어 IP주소를 나타나게 된다.
각 옥탯 별로 IP는 0~255까지의 범위를 가지게 되며, 부여할 수 있는 IP의 개수는 256개가 된다. 그리고 전체 IP의 수는 4,294,967,296개로 약 42억개 정도로 한정되어 있다.
주소 배정
인터넷이 상용화되어 사용자가 ISP(인터넷 서비스 제공자)를 통해 인터넷 서비스를 이용하게 되면서 IP 주소 관리기관이 ISP에 공인 IP 주소를 할당하고 ISP가 사용자에게 공인 IP 주소를 부여하고 있다. ISP가 IP 주소 관리기관으로부터 할당받은 공인 IP 주소를 인터넷 사용자에게 분배한다.
DHCP란 호스트의 IP주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동적으로 제공해주는 프로토콜을 말한다. DHCP에 대한 표준은 RFC문서에 정의되어 있으며, DHCP는 네트워크에 사용되는 IP주소를 DHCP서버가 중앙집중식으로 관리하는 클라이언트/서버 모델을 사용하게 된다. DHCP지원 클라이언트는 네트워크 부팅과정에서 DHCP서버에 IP주소를 요청하고 이를 얻을 수 있다.
주소 구분
-사용범위에 따라
공인 IP주소는 공인기관에서 인증한 공개형 IP주소
공인 IP주소는 외부에 공개되어 있어 이 IP주소를 통해 호스트 간 직접적으로 통신할 수 있게됨 따라서 공인 IP주소를 사용하려면 보안 장비가 반드시 필요.
가상 IP 주소는 외부에 공개되지 않은 패쇄형 IP 주소
이 IP주소만 가지고는 외부에서 직접적으로 통신할 수가 없음. 이 IP주소는 주소 대역이 3개로 고정되어 있다. 가상 IP주소는 인터넷 유무선 공유기를 사용할 때 흔히 접하게 된다. 왜냐하면 하나의 공인 IP주소를 공유하여 여러 대의 컴퓨터가 인터넷에 접속하게 하려면 가상 IP 주소가 필요하기 때문.
-할당방식에 따라
고정 IP 주소는 컴퓨터에서 명시적으로 IP주소를 설정하여 사용
따라서 공인 IP주소든 가상 IP주소든 상관없이 이 컴퓨터에 쓰이는 고정 IP주소를 할당해 줘야함. 공인 IP라면 인터넷 서비스 업체가 할당, 가상 IP 주소면 인터넷 공유기가 이 역할을 하게 된다.
유동 IP 주소는 IP 주소를 할당하는 특정 서버가 보내 주는 IP 주소 그대로 컴퓨터에 자동 설정되는 방식
이 방식을 'DHCP(Dynamic Host Configuration Protocol)' 서비스라 함
주소 클래스
IP주소에는 클래스라는 개념이 있고 이 클래스의 개념을 알아야 어디까지가 네트워크 영역이고 호스트IP 영역인지 알 수 있다. 즉, 다시말해 클래스는 하나의 IP주소에서 네트워크 영역과 호스트 영역을 나누는 방법이자, 약속이다.
IP주소 클래스의 종류에는 총 5개가 있으나 여기서는 A,B,C만 설명하겠다.
A Class의 경우 처음 8bit(1byte)가 Network ID이며, 나머지 24bit(3byte)가 Host ID로 사용된다. 비트가 0으로 시작하기에 네트워크 할당은 0~127이다. 즉, 128 곳에 가능하며, 최대 호스트 수는 16,777,214개이다.
하나의 네트워크가 가질 수 있는 호스트 수가 제일 많은 클래스
B Class의 경우 처음 16bit(2byte)가 Network ID이며, 나머지 16bit(2byte)가 Host ID로 사용된다. 비트가 10으로 시작하기에 네트워크 할당은 16,384 곳에 가능하며, 최대 호스트 수는 65,534개이다.
C Class의 경우 처음 24bit(3byte)가 Network ID이며, 나머지 8bit(1byte)가 Host ID로 사용된다. 비트가 110으로 시작하기에 네트워크 할당은 2,097,152 곳에 가능하며, 최대 호스트 수는 254개이다.
Burp Suite
web application을 공격하기 위한 통합 플랫폼
-web application의 분석, 스캔(취약점 파악)이 가능
-linux, windows 모두 사용가능
-웹 취약점 진단 도구로 많이 사용
1) proxy - burp suite는 proxy와 함께 사용되는데, default로 8080 포트에서 실행됨. 이 proxy를 사용하여 클라이언트 시스템에서 웹 응용 프로그램으로 흐르는 트래픽을 가로채서 수정.
2) spider - spider 기능은 새 링크, 콘텐츠 등을 찾는 데 사용 됨.
3) scanner - 웹 응용 프로그램을 scan하여 취약점을 찾는데 사용 됨. 검사의 종류는 passive, active, user-directed가 있음.
4) intruder - 이 기능은 브루트 포스 공격을 수행하거나 웹 응용 프로그램을 fuzzing하거나, 취약점을 exploite하는 것과 같은 다양한 목적을 위해 사용할 수 있음
5) repeater - 이 기능은 같은 요청을 많은 횟수로 수정해서 보내서, 응답을 분석할 때 사용 됨
6) sequencer - 이 기능은 주로 웹 응용 프로그램에서 제공 하는 세션 토큰의 임의성을 확인 할 때 사용 됨
7) decoder - 이 기능을 사용하여 암호화된 데이터를 다시 원래 형태로 해독하거나, 데이터를 암호화 하기 위하여 사용할 수 있음
8) comparer - 이 기능은 두 개의 요청, 응답 또는 다른 형태의 데이터 비교를 수행하는 데 사용됨
OWASP ZAP
웹 어플리케이션의 보안 취약점을 찾기 위한 통합 침투 테스트 도구이다.
웹취약점 진단기능 - 웹에 존재하고있는 기본적인 취약점을 분석하고 대응책을 보여준다.
Alerts 기능 - 취약점 진단기능을 통해서 찾은 웹의 취약점을 표시하고 취약점들의 해결방안을 제시하연준다.
Fuzzer기능 - Injection 공격을 자동으로 실행해주는 기능이다. 특히 DB의 종류와 하고싶은 공격의 종류별로 내장된 Set 이 있어서 초보자 들도 쉽게 사용할 수 있다.
출처: https://engkimbs.tistory.com/621 [새로비]
m.blog.naver.com/ldy8695/40200194043
출처: https://better-together.tistory.com/124 [변계사 Sam의 테크 스타트업!]
출처: https://jwprogramming.tistory.com/35 [개발자를 꿈꾸는 프로그래머]
출처: https://goddaehee.tistory.com/90 [갓대희의 작은공간]
www.cloudflare.com/ko-kr/learning/dns/what-is-dns/
[출처] whois 란 무엇인가|작성자 육항