TeamH4C_ProjectH4C/세미나

[TeamH4C_부엉이 세미나] Network Hacking!

P4P3R_H 2021. 1. 17. 02:12

안녕하십니까! TeamH4C에서 진행하는 ProjectH4C 3기 과정 BlackList 팀입니다.

1월 15일 (금) 21:00시부터 TeamH4C에서 진행한 제1회 해킹하는 부엉이들 웹 세미나(온라인 학술회)에서 들었던 세미나 두 번째 주제였던 [Network Hacking is too fun!]을 조별과제로 다루겠습니다.

크게 아래 3가지 주제로 정리하였습니다.

- 배경지식

- 해킹 기법

- 대응방안

 

1. 배경지식

네트워크 : 서로 떨어져 있는 컴퓨터끼리 연결하는 도로(망)

프로토콜 : 컴퓨터 사이에 메시지를 주고받기 위한 통신방법에 대한 규칙과 약속

  • ex) 한국인은 한국어 미국인은 영어를 사용하듯이 컴퓨터들의 언어가 필요

  • ※ 유의 - 프로그래밍 언어와는 다른 형태

패킷 : 통신을 할 때 전송되는 내용물

  • ex) 한글로 패킷은 소포. 데이터를 보내는 소포라고 생각하면 좋을 듯합니다.

HTTP(Hyper Text Transfer Protocol) : 클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜. 주로 웹 통신을 할 때 사용.

2. 네트워크 해킹 기법

DoS Attack

DoS(Denial of Service) : 서비스 거부 공격

  • 특정 서버에게 수많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스하지 못하게 하는 공격.
  • 자원이 한정적이기에 처리할 수 있는 접속인원도 한정적. 악의적으로 많은 사람이 접속하는 척하면 정상적인 다른 사람들은 접속 불가.(자원이 고갈되어 더 이상 서비스 불가)

SYN flood : 서로 연결하는 과정에서 피연결측에서 접속을 받아들이기 위해 메모리에 일정 공간을 할당한 상태로 대기. 이때 공격자가 많은 SYN 패킷을 보내서 피해자의 메모리가 꽉 차게 만들어 더 이상 연결을 받아들일 수 없게 만드는 공격 기법

  • ex) “팀장님에게 연결할게요”(SYN 패킷 전송)하고도 계속적으로 연결 시도(SYN패킷 전송)를 하게 되면 팀장님 컴퓨터 공간이 엄청 많이 할당됩니다. 결국 다른 메시지는 못 받게 합니다.
  • 명령어 > hping3 -S --flood [타깃 IP]

ICMP flood : ICMP(Internet Control Message Protocol : 인터넷 제어 메시지 프로토콜) 목적지까지 가는 패킷. 패킷의 크기를 최대한 키우고 보내면 패킷은 잘게 쪼개져서 공격 대상에게 전달된다. 공격 대상은 쪼개진 패킷을 모두 처리해야 하므로 부하가 걸리게 된다.

  • 명령어 > hping3 --icmp --flood [타깃 IP] -d [패킷 크기]

DDoS(Distributed Denial of Service) : 분산 서비스 거부 공격

  • 다수의 시스템을 통해 공격을 시도. 악성코드나 바이러스 등을 통해 일반 사용자 pc를 감염시켜 DDos 공격이 수행
  • 공격자 : 좀비 pc에게 특정 웹 사이트에 대한 접속 지시합니다. > 웹서버의 자원고갈 > 일반 사용자는 접속이 안됩니다. > 웹서버 : 한정된 수용인원을 넘게 되어 서비스 불가.

DRDoS(Distributed Reflection Denial of Service) : 분산 반사 서비스 거부 공격

  • DDoS 보다 발전된 기술. 서버를 통해서 공격
  • 송신자 IP 주소를 피해자의 IP로 조작하여 정상적으로 서비스를 하는 다수의 서버들에게 서비스 요청. 서버들은 패킷의 송신자 IP를 보고 그 IP로 응답을 하는데 이로 인해 서비스를 요구하지도 않은 피해자에게 모든 응답이 되돌아가게 됩니다.
  • ex) 공격자 : 저 A인데 제 말 들리세요?(IP Spoofing) > 서버들 : 네 들려요 > A : 난 아닌데?

 

ARP Spoofing

ARP(Address Resolution Protocol) : 주소 결정 프로토콜.

  • 네트워크 상에서 IP 주소를 물리적 네트워크(MAC) 주소로 대응시키기 위해 사용되는 프로토콜.
  • ※ MAC 주소 : 하드웨어 주소 , Spoofing : 속이다.

ARP Spoofing : 공격자가 의도적으로 특정 IP주소의 MAC 주소를 자신의 MAC 주소로 변경하는 공격. 이 공격을 통해 공격자는 도청 가능

  • ex) B에게 A인척, A에게 B인척 자기 MAC 주소 보냅니다.
  • 공격자는 도청 중인 사실을 들키지 않기 위해 수신받은 데이터를 원래 목적지에 전송. (원래 목적지에 패킷을 재전송)
  • 명령어 > arpspoof -t [타깃 IP] [속일 IP]
  • ARP 테이블을 확인하기 위해서 터미널에서 arp -a 명령어를 사용합니다.
  • ARP테이블을 확인하면 게이트웨이 주소가 공격자의 물리적 주소로 변경된 것을 확인 가능할 것입니다.
  • 공격 사실을 은닉하기 위해 아래 명령어를 사용하여 원래 목적지에 데이터를 보냅니다.
  • 명령어 > fragrouter -B1
  • 피해자는 웹사이트 접속. 정보를 서버에 전송하려 합니다 > 중간에서 공격자가 도청 > 서버에게 전송 > 웹서버

 

DNS Spoofing

DNS란? Domain Name System의 약자로 IP주소를 우리가 편리하게 보거나 외울 수 있도록 영문 or 한글 주소로 바꿔주는 시스템

  • ex) 일반 사용자가 TeamH4C.com의 IP주소를 모르기 때문에 접속하고 싶으면 dns 서버에 물어봐서 IP주소를 받은 후 접속 가능

DNS Spoofing : 사용자가 DNS 서버에 보내는 질문을 가로챈 후 변조된 결과를 보냅니다.

2가지 기법이 있지만 1가지에 대해서만 알아보겠습니다.

→ 공격자가 일반 사용자에게 서버인 척 본인이 열어둔 IP주소를 알려주고 사용자는 이러한 IP를 통해 사이트에 접속하게 됩니다.

[DNS Spoofing이 이루어지는 과정]

1) DNS Spoofing을 하기 위해선 ARP Spoofing을 먼저 해주어야 합니다.

2) 공격자는 vi에디터로 hosts 파일을 생성한 후 내용에 [공격자의 웹 서버 IP] [속일 도메인]을 작성해줍니다.

  • 명령어 > vi hack.hosts

          <파일의 내용> 172.30.1.38  teamh4c.com

3) 아래의 명령어를 사용하여 피해자에게 위조된 결과를 Reply 합니다.

  • 명령어 > dnsspoof -i [인터페이스] -f [hosts 파일 위치]

4) 해커가 전송한 hosts 파일을 통해 변조된 IP주소의 사이트로 접속하였습니다.

5) 공격이 성공될 시 웹 사이트만 다르게 표시가 되고 도메인 주소는 모두 같습니다.

 

Evil Twin 

Evil Twin이란? 개인정보를 훔치기 위해 합법적인 네트워크인 것처럼 가장한 무선 네트워크

  • ex) 공격자는 일부러 도서관 와이파이와 동일한 이름을 사용하고 일반 사용자는 무엇이 진짜인지 알 수 없어 공격자의 와이파이에 접속하여 사용할 수 있습니다.
  • 이러한 공격으로 일반 사용자들의 신용카드 번호 등 개인정보를 훔칠 수 있고 도청까지 가능
  • ex) 스타벅스, KTX와 같은 장소에서 와이파이에 접속하게 되면 로그인하는 사이트에 개인정보나 비밀번호를 의심 없이 쉽게 제공하여 문제가 발생할 수 있습니다.

 

TCP Session Hijacking

TCP(Transmission Control Protocol): 다른 컴퓨터와 데이터 통신을 하기 위한 프로토콜.

  • 데이터 통신 연결을 하기 위해 알리는 컴퓨터 간의 언어와 같은 역할을 합니다.

  • 통신을 하기 전 TCP를 주고받는 절차가 필요합니다.

 

Session Hijacking: 사용자가 이미 접속되어 있는 시스템의 상태(세션)를 가로채는 공격.

TCP Session Hijacking: TCP 세션을 훔쳐서 새로운 시퀀스 넘버를 보내 마치 클라이언트인척 연결을 이어나가는 공격

  • 원래 사용자와 웹 서버 간의 연결을 끊고 새로운 시퀀스 넘버 정보를 받아내면 사용자가 연결 중인 세션을 낚아 채 앞으로 오고 가는 정보는 공격자를 통하게 됩니다.

  • 이때 도청 중인 사실을 들키지 않기 위해 가로챈 웹 서버로부터 받은 정보를 원래 사용자에게 전송합니다.

 

3. 대응방안

  • 네트워크 장비의 취약점 및 강화 설정

  • 로그인 패스워드 강화 설정

  • 원격 접속 보안 강화 설정

  • 불필요한 서비스 제거

  • 불필요한 규칙 존재 여부 점검

  • 명확한 출발지와 목적지 지정 여부 점검

  • 패치

  • 패스워드 주기적으로 변경

  • 실시간 모니터링 및 경보 알림 기능 설정

  • 보안시스템을 우회하는 경로 여부 파악

  • 원격 접속을 허용한 IP 주소 설정

  • 원격 접속 보안 강화 설정

  • 지속적인 인증

 

이상으로 두 번째 주제였던 [Network Hacking is too fun!]의 발표정리였습니다. 감사합니다!