나도 공대생

[개념] 목록화 (1) 본문

공부/네트워크 보안

[개념] 목록화 (1)

herbssssst 2024. 3. 14. 16:36

목록화란 실제 공격의 바로 전 단계로 얻어낸 정보를 잘 정리하는 것이다.

 

 

풋프린팅 (Footprinting)

풋프린팅은 정보 수집 방법 중에서 가장 간단한 방법으로 사회 공학을 통해 공격 대상의 정보를 모으는 해킹 기법이다.

본격적으로 해킹을 시도하기 위한 사전 준비 작업이라고 생각하면 된다.

 

사회 공학 기법 (Social Engineering)사람의 취약점을 이용하는 방법이라고 할 수 있는데, 쉽게 설명하기 위해 넷플릭스 계정을 예시로 들어 보겠다.

친구들끼리 넷플릭스 계정을 공유해서 사용하는 것을 주변에서 쉽게 볼 수 있다. 이때 친구들끼리 사용자 계정 정보를 주고받거나, 이 정보를 이조이 않기 위해 메모를 해둘 수 있는데, 이러한 정보를 주고받는 과정 또는 메모한 것을 이용하는 방법을 사회 공학 기법이라고 한다.

 

 

해킹에 필요한 정보에는 어떤 것이 있을까? 어떤 방법을 통해 정보를 모을 수 있을까?

1. 침투하고자 하는 시스템의 계정

- 가장 쉬운 방법은 웹 사이트 관리자나 사용자의 시스템 계정을 알아내는 것이다.

 

2. 패스워드를 찾기 위해 계정을 사용하는 사람의 정보

- 이름, 전화번호, 생일, 주민등록 번호 등을 추적

 

3. 협력사나 계열사의 보안 조치

- 보통 협력사와 계열사가 서로를 신뢰하며 원활한 정보 교환을 위해 특별한 보안 조치를 하지 않음

 

4. 사용자들이 사용하는 게시판 이용

 

 

이렇게 위와 같이 해킹을 위해 정보를 모을 때 주의해야 할 점이 있는데, 

로그와 접속 시도를 너무 많이 남기면 자신을 노출시키는 실마리가 되기에 자주 접속하는 것은 위험하다는 것이다. 그렇기에 공격 대상 사이트를 직접 접속하는 것보다는 유틸리티로 웹 사이트를 다운로드 한 뒤 검색하는 것이 좋다.

 

 


 

 

스캔 (Scan)

스캔은 서비스를 제공하는 서버의 작동 여부와 제공 서비스를 확인하기 위한 작업이다. 스캔하는 방법은 크게 3가지가 있다.

 

 

Ping

서버의 동작 여부를 알아보는 가장 기본적인 스캔으로 네트워크와 시스템이 정상적으로 작동하는지 확인하기 위한 간단한 툴이다.

ICMP를 사용하며 기본적으로 TCP/IP 네트워크에서 사용한다. 하지만 모든 네트워크에 PING이 있는 것이 아니기에 항상 사용할 수는 없다.

 

 

ICMP 스캔 

우선 ICMP 패킷을 이용한 방법이 모든 운영체제에서 작동하지 않는다. 그리고 ICMP를 이용한 ping은 시스템 하나를 조사하기에는 적절, 큰 네트워크에서 활성화 시스템을 찾는데는 큰 효과 없다.

 

관련된 ICMP 패킷은 다음과 같다.

1. Echo Request(Type 8)와 Echo Reply(Type 0)

- 가장 일반적인 방법으로 PING을 옵션없이 사용한다.

 

2. Timestamp Request(Type 13)와 Timestamp Reply(Type 14)

- 원격지 시스템의 현재 시각을 알아보기 위한 패킷이다

- 패킷을 보낸 시각(OT)과 패킷을 받은 시각(RT), 패킷을 전송하는 동안 걸린 시간(TT)으로 공격 대상의 현재 시스템 시각을 알 수 있다.

- Reply 패킷이 돌아온다는 것은 상대 시스템이 활성화된 상태라는 것을 알 수 있다.

 

3. Information Request(Type 15)와 Information Reply(Type 16)

- 부팅할 때, 디스크가 없는 시스템이 스스로 IP를 설정할 수 있도록 하는 패킷이다.

- 자신의 네트워크를 찾기 위해 개발되었고, 목적은 RARP, DHCP 같은 프로토콜과 같지만 다른 프로토콜을 이용한 방법에 비해 원시적이다.

 

4. ICMP Address Mask Request(Type 17)와 ICMP Mask Reply(Type 18)

- 부팅될 때 자신이 속한 네트워크의 서브넷 마스크를 알기 위해 보냄

- Reply 패킷이 돌아오는지 확인함으로써 상대 시스템의 활성화 여부를 확인

 

 

TCP/UDP를 이용한 스캔 

시스템 자체의 활성화 여부가 아닌 포트를 스캔하는 방법으로 포트가 열려있으면 활성화된 것이다.

 

1. TCP Open 스캔

출처 : 네트워크 해킹과 보안

- 열린 포트에 대해 완전한 세션을 성립시킴으로써 포트의 활성화 상태를 파악한다.

- 3-Way Handshake 과정을 모두 거쳐 상대방 시스템에 로그가 남는다.

 

2. 스텔스 스캔

- 세션을 완전히 성립하지 않고 공격 대상 시스템의 포트 활성화 여부를 알아내기에 공격 대상 시스템에 로그가 남지 않는다.

- 공격 대상의 시스템 관리자는 어떤 IP를 가진 공격자가 스캔했는지 확인 불가능하다.

- 단순히 로그를 남기지 않는 것만 아니라, 공격 대상을 속이고 자신의 위치를 숨기는 스캔 모두를 통칭한다.

- 종류 : TCP Half Open 스캔, FIN/NULL/XMAS 스, ACK/TCP 패킷을 이용한 스캔, TCP 단편화, 시간 차를 이용한 스캔, FTP 바운스 스캔 

 

3. UDP 스캔

출처 : 네트워크 해킹과 보안

- 포트가 닫힌 경우 공격 대상이 ICMP Unreachable 패킷을 보내지만, 열린 경우에는 보내지 않는다. 

- UDP 패킷이 네트워크를 통해 전달되는 동안 라우터나 방화벽에 의해 손실될 수 있어 신뢰성이 떨어진다.

 

 


 

 

운영체제 탐지

배너 그래빙 (Banner Grabbing)

상대 시스템의 운영체제를 확인하는 가장 기본적인 방법이다.

배너(Banner)란 텔넷처럼 원격지 시스템에 로그인하면 나타나는 안내문과 비슷한 것인데 배너그래빙은 이것을 확인하는 기술이다.

 

TCP/TP 반응 살펴보기

1. FIN 스캔을 이용하는 경우 : 윈도우, BSD, Cisco, IRIS 등

2. 세션 연결 시 TCP 패킷의 시퀀스 넘버 생성 관촬

- 윈도 : 시간에 따른 시퀀스 넘버 생성을 관찰

- 리눅스 : 완전 랜덤

- FreeBSD, Dogota;-Unix, IRIX, 솔라리스 : 시간에 따른 랜덤

 

Netcraft 이용하기

Netcraft 웹 사이트를 이용하는 방법이다. 시스템 갱신 주기, 현재 운영체제 버전, 웹 서비스 데몬의 종류와 버전, 마지막으로 갱신한 날짜와 IP 주소, 네트워크 소유자 등 다양한 정보 보여준다.

 

 


 

 

방화벽 탐지

방화벽은 침입자를 차단하는 1차 방어선이다. 클라이언트가 접속 시도 시 방화벽을 거치는 것이 원칙이며 접속에 대한 허용과 차단을 결정한다.

하지만, 방화벽이 완벽하게 막을 수 있는 것은 아니다. 이런 경우를 위해 IDS(침입 탐지 시스템)이 존재하는데,  방화벽이 막을 수 없거나 차단에 실패한 공격을 탐지하여 관리자에게 알린다.

 

traceroute/tracert 이용

방화벽 탐지는 설치 여부를 알아내는 것 가장 우선적으로 해야 할 일로, traceroute를 사용하면 방화벽 설치 여부를 쉽게 확인할 수 있다.

`tracert` 명령어 실행 시 * 만으로 표시되는 곳이 라우터에서 필터링되거나 방화벽이 존재하는 것이다.

 

방화벽 ACL(Access Control List) : firewalk

Firewalk은 추적 경로 기술과 TTL(Time to Live) 값을 이용하여 IP 패킷 응답을 분석하는 기술이다.

 

Firewalk 동작 과정

1. 방화벽이 탐지된 방화벽까지의 TTL보다 1만큼 더 큰 TTL 값을 생성하여 전송한다.

2. 방화벽이 패킷 차단할 경우 아무 패킷이 돌아오지 않는다.

3. 방화벽이 패킷을 그대로 전송할 경우, 패킷은 다음 라우터에서 사라지고 라우터는 ICMP Time Exceeded 메시지(Type 11)를 보낸다.

4. 공격자는 ICMP Time Exceeded 메시지 여부를 받은 포트에 대해 열린 포트임을 추측 가능하다.

 

 

방화벽 포트가 닫힌 경우, 닫힌 포트에 패킷을 보내는 경우에 응답 패킷이 돌아오지 않는다.

방화벽 포트가 열린 경우, 열린 포트로 패킷은 보낸 경우 다음 라우터까지 전달된 후 ICMP Time Exceeded 메시지가 돌아온다.

 


 

 

네트워크 해킹과 보안

이 책을 통해 네트워크 기본 개념을 빠르게 정리해보고 네트워크 해킹과 보안의 핵심 이론과 기법을 익힐 수 있다. 다양한 공격과 대응 실습을 통해 지능화된 보안 위협에도 대응할 수 있는 기

www.aladin.co.kr

본 내용은 위의 교재를 바탕으로 작성되었습니다.

 

 

포스트 이미지는 Unsplash의 무료 이미지를 사용하였습니다.

 

공부한 내용을 복습할 겸 블로그에 개념을 정리하게 되었는데

내용 상 문제가 되는 부분이 있을 시 알려주시면 수정 또는 비공개로 돌리겠습니다.

 

'공부 > 네트워크 보안' 카테고리의 다른 글

[개념] 스니핑 (Sniffing)  (1) 2024.03.16
[개념] 목록화 (2)  (0) 2024.03.14
[개념] DNS(Domain Name System) 란  (3) 2024.03.08
[개념] Hosts 란  (1) 2024.03.08
[개념] 3-Way Handshake, 4-Way Handshake  (0) 2024.03.08