9일차 - 침해사고 대응(A Data-Centric Approach) 03
* CDN (Content Delivery Network)
- 콘텐츠 전송 네트워크.
- 지리적으로 분산된 서버들을 연결한 네트워크로서 웹 컨텐츠의 복사본을 사용자에 가까운 곳에 두거나 동적 컨텐츠의 전달을 활성화하여 웹 성능 및 속도를 향상할 수 있게 함.
* BGP (Border Gateway Protocol)
- 경계 경로 프로토콜(BGP)은 인터넷의 우편 서비스
- 데이터 라우팅을 가능하게 함으로써 인터넷을 작동하게 하는 프로토콜
- 서로 다른 AS를 연결해주는 경계 게이트웨이 프로토콜
- ISP와 다른 외부 게이트웨이 프로토콜 EGP로 EGP의 단점을 보완해서 만든 프로토콜.
- 대규모의 네트워크 집단을 연결하기 위해서 OSPF, EIGRP 등과 같은 IGP(내부 게이트웨이 프로토콜)을 사용하면 네트워크 및 장비 부하 현상과 대역폭 고갈이라는 문제가 발생함. 따라서 BGP를 이용하여 연결하며, BGP는 대용량의 라우팅 정보를 교환할 수 있도록 최적화되어 있음.
* AS (Autonomous System) : 자율 시스템.
- 하나의 네트워크 관리자에 의해 관리되는 라우터 집단(그룹, 도메인)을 의미.
- 이런 대규모의 네트워크를 서로 연결해 주는 라우팅 프로토콜이 BGP. 전세계는 BGP 프로토콜을 이용하여 연결되어 있음.
- 인터넷은 네트워크의 네트워크로서 자율시스템(AS) 이라고 하는 수십만 개의 작은 네트워크로 나뉘어짐. 이들 각각의 네트워크는 기본적으로 하나의 조직이 운영하는 라우터들의 큰 집합.
cf) 참고
https://m.blog.naver.com/taeheon714/222384978033
BGP란? (Boarder Gateway Protocol)
BGP는 Border Gateway Protocol의 약자로 서로 다른 AS를 연결해 주는 경계 게이트웨이 프로토콜입...
blog.naver.com
* 웹 셸 (Web Shell)
- 웹서버에 명령을 실행하여 관리자 권한을 획득해 행하는 공격 방법.
cf) 참고 - 2017년, 2018년, 2019년 빗썸 APT
https://www.boannews.com/media/view.asp?idx=70963&kind=0
해킹사고 빗썸, 웹셸 다수 발견...결제승인 사칭 문자도 출현
해킹사고를 당한 국내 최대 규모 암호화폐 거래소 빗썸의 내부 서버 등에서 웹셸이 여러 개 발견된 것으로 알려졌다. 특히, 일부 웹쉘은 6월 이전에 심어진 것으로 드러나 실제 해킹 공격은 빗썸
www.boannews.com
https://www.hankookilbo.com/News/Read/201802131717373261
북한에 해킹 2번 당한 백신을 또다시 선택한 국방부 | 한국일보
www.hankookilbo.com
* 실습
edu8@edu:~$ dig kr ns
; <<>> DiG 9.11.3-1ubuntu1.18-Ubuntu <<>> kr ns
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14970
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;kr. IN NS
;; ANSWER SECTION:
kr. 7193 IN NS g.dns.kr.
kr. 7193 IN NS f.dns.kr.
kr. 7193 IN NS c.dns.kr.
kr. 7193 IN NS d.dns.kr.
kr. 7193 IN NS e.dns.kr.
kr. 7193 IN NS b.dns.kr.
;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Wed Mar 06 07:01:07 UTC 2024
;; MSG SIZE rcvd: 131
edu8@edu:~$ dig ns | awk '$4=="NS"{print $0}'
. 6355 IN NS k.root-servers.net.
. 6355 IN NS l.root-servers.net.
. 6355 IN NS i.root-servers.net.
. 6355 IN NS c.root-servers.net.
. 6355 IN NS e.root-servers.net.
. 6355 IN NS g.root-servers.net.
. 6355 IN NS a.root-servers.net.
. 6355 IN NS b.root-servers.net.
. 6355 IN NS m.root-servers.net.
. 6355 IN NS h.root-servers.net.
. 6355 IN NS d.root-servers.net.
. 6355 IN NS j.root-servers.net.
. 6355 IN NS f.root-servers.net.
edu8@edu:~$ dig ns | awk '$4=="NS"{print $0}' | wc -l
13
edu8@edu:~$ dig ns | awk '$4=="NS"{print $5}'
k.root-servers.net.
l.root-servers.net.
i.root-servers.net.
c.root-servers.net.
e.root-servers.net.
g.root-servers.net.
a.root-servers.net.
b.root-servers.net.
m.root-servers.net.
h.root-servers.net.
d.root-servers.net.
j.root-servers.net.
f.root-servers.net.
edu8@edu:~$ dig ns | awk '$4=="NS"{print $5}' | while read line
> do
> echo $line $(dig $line +short)
> done
k.root-servers.net. 193.0.14.129
l.root-servers.net. 199.7.83.42
i.root-servers.net. 192.36.148.17
c.root-servers.net. 192.33.4.12
e.root-servers.net. 192.203.230.10
g.root-servers.net. 192.112.36.4
a.root-servers.net. 198.41.0.4
b.root-servers.net. 170.247.170.2
m.root-servers.net. 202.12.27.33
h.root-servers.net. 198.97.190.53
d.root-servers.net. 199.7.91.13
j.root-servers.net. 192.58.128.30
f.root-servers.net. 192.5.5.241
edu8@edu:~$ dig ns | awk '$4=="NS"{print $5}' | while read line; do echo $line $(dig $line +short); done
k.root-servers.net. 193.0.14.129
l.root-servers.net. 199.7.83.42
i.root-servers.net. 192.36.148.17
c.root-servers.net. 192.33.4.12
e.root-servers.net. 192.203.230.10
g.root-servers.net. 192.112.36.4
a.root-servers.net. 198.41.0.4
b.root-servers.net. 170.247.170.2
m.root-servers.net. 202.12.27.33
h.root-servers.net. 198.97.190.53
d.root-servers.net. 199.7.91.13
j.root-servers.net. 192.58.128.30
f.root-servers.net. 192.5.5.241
edu8@edu:~$ dig @g.dns.kr. kr ns
; <<>> DiG 9.11.3-1ubuntu1.18-Ubuntu <<>> @g.dns.kr. kr ns
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38761
;; flags: qr aa rd; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;kr. IN NS
;; ANSWER SECTION:
kr. 86400 IN NS e.dns.kr.
kr. 86400 IN NS f.dns.kr.
kr. 86400 IN NS b.dns.kr.
kr. 86400 IN NS d.dns.kr.
kr. 86400 IN NS g.dns.kr.
kr. 86400 IN NS c.dns.kr.
;; Query time: 7 msec
;; SERVER: 202.31.190.1#53(202.31.190.1)
;; WHEN: Wed Mar 06 07:12:42 UTC 2024
;; MSG SIZE rcvd: 133
edu8@edu:~$ dig @ns1.naver.com www.naver.com
; <<>> DiG 9.11.3-1ubuntu1.18-Ubuntu <<>> @ns1.naver.com www.naver.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52259
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;www.naver.com. IN A
;; ANSWER SECTION:
www.naver.com. 21600 IN CNAME www.naver.com.nheos.com.
;; Query time: 5 msec
;; SERVER: 125.209.248.6#53(125.209.248.6)
;; WHEN: Wed Mar 06 07:14:25 UTC 2024
;; MSG SIZE rcvd: 79