겉바속촉
[보안] DNS 캐시 테이블 본문
이번에는 DNS에 대해 더 자세하게
살펴보도록 할게요.
개념에 대해서는 지난 번에
배웠습니다
!!!
2021/01/18 - [IT 일기 (상반기)/네트워크 및 시스템 보안] - [보안] DNS, DHCP, MAC, ARP, ping 개념
DNS 캐시 테이블
다음 명령어를 내려보면 DNS 캐시 테이블을 볼 수 있습니다:)
C:\Windows\system32>ipconfig /displaydns
Windows IP 구성
10.0.168.192.in-addr.arpa
----------------------------------------
데이터 이름 . . . . . : 10.0.168.192.in-addr.arpa.
데이터 유형 . . . . . : 12
TTL(Time To Live) . : 163375
데이터 길이 . . . . . : 8
섹션 . . . . . . . : 응답
PTR 레코드 . . . . . : host.docker.internal
데이터 이름 . . . . . : 10.0.168.192.in-addr.arpa.
데이터 유형 . . . . . : 12
TTL(Time To Live) . : 163375
데이터 길이 . . . . . : 8
섹션 . . . . . . . : 응답
PTR 레코드 . . . . . : gateway.docker.internal
1.0.0.127.in-addr.arpa
----------------------------------------
데이터 이름 . . . . . : 1.0.0.127.in-addr.arpa.
데이터 유형 . . . . . : 12
TTL(Time To Live) . : 163375
데이터 길이 . . . . . : 8
섹션 . . . . . . . : 응답
PTR 레코드 . . . . . : kubernetes.docker.internal
gateway.docker.internal
----------------------------------------
유형 AAAA의 레코드가 없습니다.
gateway.docker.internal
----------------------------------------
데이터 이름 . . . . . : gateway.docker.internal
데이터 유형 . . . . . : 1
TTL(Time To Live) . : 163375
데이터 길이 . . . . . : 4
섹션 . . . . . . . : 응답
(호스트) 레코드 . . . : 192.168.0.10
skin330001250.mshome.net
----------------------------------------
유형 AAAA의 레코드가 없습니다.
skin330001250.mshome.net
----------------------------------------
데이터 이름 . . . . . : SKIN330001250.mshome.net
데이터 유형 . . . . . : 1
TTL(Time To Live) . : 163375
데이터 길이 . . . . . : 4
섹션 . . . . . . . : 응답
(호스트) 레코드 . . . : 192.168.156.17
17.156.168.192.in-addr.arpa
----------------------------------------
데이터 이름 . . . . . : 17.156.168.192.in-addr.arpa.
데이터 유형 . . . . . : 12
TTL(Time To Live) . : 163375
데이터 길이 . . . . . : 8
섹션 . . . . . . . : 응답
PTR 레코드 . . . . . : SKIN330001250.mshome.net
kubernetes.docker.internal
----------------------------------------
유형 AAAA의 레코드가 없습니다.
kubernetes.docker.internal
----------------------------------------
데이터 이름 . . . . . : kubernetes.docker.internal
데이터 유형 . . . . . : 1
TTL(Time To Live) . : 163375
데이터 길이 . . . . . : 4
섹션 . . . . . . . : 응답
(호스트) 레코드 . . . : 127.0.0.1
host.docker.internal
----------------------------------------
유형 AAAA의 레코드가 없습니다.
host.docker.internal
----------------------------------------
데이터 이름 . . . . . : host.docker.internal
데이터 유형 . . . . . : 1
TTL(Time To Live) . : 163375
데이터 길이 . . . . . : 4
섹션 . . . . . . . : 응답
(호스트) 레코드 . . . : 192.168.0.10
google.com
----------------------------------------
데이터 이름 . . . . . : google.com
데이터 유형 . . . . . : 1
TTL(Time To Live) . : 48
데이터 길이 . . . . . : 4
섹션 . . . . . . . : 응답
(호스트) 레코드 . . . : 172.217.26.14
데이터 이름 . . . . . : ns1.google.com
데이터 유형 . . . . . : 1
TTL(Time To Live) . : 48
데이터 길이 . . . . . : 4
섹션 . . . . . . . : 추가
(호스트) 레코드 . . . : 216.239.32.10
데이터 이름 . . . . . : ns2.google.com
데이터 유형 . . . . . : 1
TTL(Time To Live) . : 48
데이터 길이 . . . . . : 4
섹션 . . . . . . . : 추가
(호스트) 레코드 . . . : 216.239.34.10
데이터 이름 . . . . . : ns3.google.com
데이터 유형 . . . . . : 1
TTL(Time To Live) . : 48
데이터 길이 . . . . . : 4
섹션 . . . . . . . : 추가
(호스트) 레코드 . . . : 216.239.36.10
데이터 이름 . . . . . : ns4.google.com
데이터 유형 . . . . . : 1
TTL(Time To Live) . : 48
데이터 길이 . . . . . : 4
섹션 . . . . . . . : 추가
(호스트) 레코드 . . . : 216.239.38.10
데이터 이름 . . . . . : ns1.google.com
데이터 유형 . . . . . : 28
TTL(Time To Live) . : 48
데이터 길이 . . . . . : 16
섹션 . . . . . . . : 추가
AAAA 레코드 . . . . . : 2001:4860:4802:32::a
데이터 이름 . . . . . : ns2.google.com
데이터 유형 . . . . . : 28
TTL(Time To Live) . : 48
데이터 길이 . . . . . : 16
섹션 . . . . . . . : 추가
AAAA 레코드 . . . . . : 2001:4860:4802:34::a
데이터 이름 . . . . . : ns3.google.com
데이터 유형 . . . . . : 28
TTL(Time To Live) . : 48
데이터 길이 . . . . . : 16
섹션 . . . . . . . : 추가
AAAA 레코드 . . . . . : 2001:4860:4802:36::a
데이터 이름 . . . . . : ns4.google.com
데이터 유형 . . . . . : 28
TTL(Time To Live) . : 48
데이터 길이 . . . . . : 16
섹션 . . . . . . . : 추가
AAAA 레코드 . . . . . : 2001:4860:4802:38::a
테이블을 지우고 싶다면 다음과 같이 명령 내려주세요:)
C:\Windows\system32>ipconfig /flushdns
Windows IP 구성
DNS 확인자 캐시를 플러시했습니다.
ping 명령을 통해 ping google.com을 해보겠습니다.
C:\Windows\system32>ping google.com
Ping google.com [172.217.26.14] 32바이트 데이터 사용:
172.217.26.14의 응답: 바이트=32 시간=38ms TTL=115
172.217.26.14의 응답: 바이트=32 시간=38ms TTL=115
172.217.26.14의 응답: 바이트=32 시간=37ms TTL=115
172.217.26.14의 응답: 바이트=32 시간=38ms TTL=115
172.217.26.14에 대한 Ping 통계:
패킷: 보냄 = 4, 받음 = 4, 손실 = 0 (0% 손실),
왕복 시간(밀리초):
최소 = 37ms, 최대 = 38ms, 평균 = 37ms
google.com 에 해당하는 것을 ip로 전환해야 하기 때문에 query를 날립니다:)
그러면 172.217.26.14 라고 알아오게 되는 거에요.
그럼 이 정보를 로컬 DNS 캐시에 정보를 업데이트 합니다
다시 ipconfig /displaydns 명령을 주면~ 다음과 같이 google.com 부분에서 확인할 수 있죠.
이제 다시 이렇게 query를 날리지 않고 로컬에 있는 정보를 활용하는 겁니다.
이제 이름을 ip주소로 변환해가는 과정을 알아볼게요:)
도메인 네임을 IP 주소로 변환하는 순서
#1 hosts 파일에서 해당 도메인을 검색
#2 로컬 DNS 캐시 테이블을 검색
#3 로컬 DNS 서버 IP 주소로 도메인 네임에 대한 질의를 요청
#4 로컬 DNS 서버로부터 도메인 네임에 대한 IP 주소를 응답받으면 해당 내용을 DNS 캐시 테이블에 반영
****여기서 드는 의문***** 우리가 임의로 DNS 캐시 테이블을 수정해버리면... 즉, 다른 IP주소로 가게 고쳐버린다면 잘못된 주소로 날라가지 않을까요?? 그래서 한 번 해봤습니다:) windows XP 가상머신 내에서 해보도록 하겠습니다 1. 다음과 같은 경로로 hosts 파일을 찾아서 들어가 메모장으로 옮겨서 열어볼게요:)
|
이런식으로 host파일 변조를 통해
사용자 접속을 유도하고 입력을 유도해서 사용자 정보를 빼가기도 하는데요
이런 공격기법이 바로 피싱, 즉 dns 스푸핑입니다:)
'IT 일기 (상반기) > 네트워크 및 시스템 보안' 카테고리의 다른 글
[보안] OSI 7계층 (0) | 2021.01.18 |
---|---|
[보안] UDP 및 TCP 방식, port (0) | 2021.01.18 |
[보안] Kali Linux 가상머신 (0) | 2021.01.18 |
[보안] DNS, DHCP, MAC, ARP, ping 개념 (0) | 2021.01.18 |
[보안] Windows XP 가상머신 다루기 (0) | 2021.01.18 |