[웹세미나] Network Hacking is too fun!

dyyoon11·2021년 1월 17일
1

seminar

목록 보기
1/1

✔ TeamH4C에서 주최한 해킹 웹세미나 '해킹하는 부엉이들'에서 2번째 세션인 'Network Hacking is too fun!'의 제목으로 네트워크 해킹에 대해서 발표해주신 김찬인님의 세미나를 들었다. 그리고 다음은 내가 속한 ProjectH4C 3기 2조 열정만수르 팀이 정리한 내용을 팀조장으로서 취합하여 정리한 것이다.

배경지식

• 네트워크 : 서로 떨어져 있는 컴퓨터끼리 연결되 있는 도로(망)
• 프로토콜 : 컴퓨터 사이에 메시지를 주고받기 위한 통신방법에 대한 규칙과 약속
• 패킷 : 통신할 때 전송되는 내용물. 데이터를 보내는 '소포'와 같은 개념
• HTTP (Hyper Text Transfer Protocol) : 클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜. 주로 웹 통신 시 사용

네트워크 해킹 기법

  1. DoS Attack
    • DoS (Denial of Service) -> 서비스 거부 공격
    : 특정 서버에게 수 많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스하지 못하게 하는 공격. 공격자가 수 많은 접속을 시도하게 되면 정상적인 사용자들은 웹 서버에 접속이 불가하게 되고 웹 서버는 자원이 고갈되어 더 이상 서비스가 불가하게 된다.
  • DoS Attack (SYN flood)
    • SYN flood : 서로 연결하는 과정에서 피연결측에서 접속을 받아들이기 위해 메모리에 일정 공간을 할당한 상태로 대기. 이때 공격자가 많은 SYN패킷을 보내서 피해자의 메모리가 꽉 차게 만들어 더 이상의 연결을 받아들일 수 없게 만든다. hping3 -S --flood [타켓 IP]
    예를 들면, "팀장님 syn 연결할게요!"와 같은 메시지를 많이 보내면 팀장님의 컴퓨터는 엄청난 양의 공간 할당이 이루어져 결론적으로는 연결이 불가능하게 됨.

  • DoS Attack (ICMP flood)
    •ICMP (Internet Control Message Protocol) -> 인터넷 제어 메시지 프로토콜
    패킷의 크기를 최대한 키우고 보내면 패킷은 길게 쪼개져서 공격 대상에게 전달됨. 공격 대상은 쪼개진 패킷을 모두 처리해야 함으로 부하가 걸림. hping3 --icmp --flood [타켓 IP] -d [패킷 크기]

  • DDoS (Distributed Denial of Service) -> 분산 서비스 거부 공격
    다수의 시스템을 통해 공격을 시도. 악성코드나 바이러스 등을 통해서 일반 사용자의 PC를 감염시켜 DDoS 공격이 수행된다. DDoS 공격을 할 때에는 감염된 컴퓨터가 따로 필요함.
    공격자가 좀비 PC들에게 웹사이트에 접속하라고 지시를 내리면 좀비 PC들이 접속을 하게 되면서 일반 사용자는 '왜 접속이 안돼지?' 라는 의문을 품게 되고 웹 서버는 한정된 수용 인원을 넘어 더 이상 서비스가 불가하게 된다.

  • DRDoS (Distributed Reflect Denial of Service) -> 분산 반사 서비스 거부 공격
    송신자 IP주소를 피해자의 IP로 조작하여 정상적으로 서비스를 하는 서버들에게 서비스를 요청한다. 서버들은 패킷의 송신자 IP를 보고 그 IP로 응답을 하는데 이로 인해 서비스를 요구하지도 않은 피해자에게 모든 응답이 되돌아가게 된다. 쉽게 말하자면, 구글과 같은 서버에 공격자가 요청을 보내는데 자신의 IP가 아닌 공격대상의 IP주소를 보내고 이를 통해 공격자가 엄청 많은 양의 요청을 서버에게 보낸다. DDoS보다 한층 더 발전된 기술로 서버를 통해 공격된다.

  1. ARP Spoofing

• ARP (Address Resolution Protocol) -> 주소 결정 프로토콜
: 네트워크 상에서 IP주소를 MAC 주소(이더넷의 물리적인 주소(Media Access Control Address))로 대응 시키기 위해 사용되는 프로토콜이며 이때 Spoofing은 사전적 의미로 '속이다'의 뜻이다.

• MAC 주소란?
-> MAC 주소는 기계의 고유값이며 네트워크 어댑터(랜카드)의 물리적 주소를 말하고, 16진수로 표현하며 36:f7:d3:18:9c:de 과 같이 6쌍의 자리로 이루어져 있다.

• ARP Spoofing : 공격자가 의도적으로 특정 IP주소의 MAC주소를 변경하는 공격. 이 공격을 통해 공격자는 도청이 가능하게 된다.
예를 들면, 공격자의 MAC주소가 FF일때, 공격자는 A에게 "B의 MAC 주소는 FF야!" 이렇게 전달하고 B에게는 "A의 MAC 주소는 FF야!" 라고 전달하게 된다. 공격자는 도청 중인 사실을 들키지 않기 위해 수신 받은 데이터를 원래 목적지에 전송한다. 공격자는 A와 B에게 각자 수신받은 데이터를 재전송한다.

  1. DNS Spoofing

• DNS (Domain Name System) -> IP주소를 우리가 편리하게 보거나 외울 수 있도록 영문/한글 주소로 바꿔주는 시스템
www.example.com과 같은 도메인 이름을 192.168.0.1과 같은 IP 주소로 변환해준다. 예를 들면, 사용자가 TeamH4C.com로 접속하고 싶은데 IP 주소가 어떻게 되죠? 라고 DNS 서버에게 물어보면 104.18.50.55로 접속하세요 라고 응답을 하는 과정이다.

• DNS Spoofing : DNS서버로 보내는 질문을 가로채서 변조된 결과를 보낸다. 두가지 기법이 있는데, 첫번째 기법으로는 DNS서버의 IP주소를 변경하는 방법이고 두번째 기법으로는 DNS요청에 위조된 패킷을 보내는 방법이다. 두번째 기법은 공격자가 공격용 웹 서버를 열어두고 일반 사용자에게 공격자가 열어둔 서버의 IP주소를 보내는 것이다.

  1. Evil Twin
    -> 합법적인 네트워크인 것처럼 가장한 무선 네트워크. 공격자는 합법적인 제공자처럼 행세하며 노트북이나 휴대전화로 핫스팟에 연결한 무선 사용자들을 갖고 논다.
    예를 들면, 이름이 같은 wifi일 경우, 신호 세기가 가장 강한 것만 뜨는데 이점을 이용하여 공격자의 와이파이에 접속하도록 함. 공격자는 가짜 wifi를 통해 사용자들의 신용카드 번호 등 개인정보를 훔칠 수 있고 도청까지 할 수 있다. 라우터의 예시로는 스타벅스, KTX의 wifi 로그인 웹페이지에서 개인정보나 비밀번호를 물어보게 되면 일반 사용자는 정보를 의심없이 주게 된다.

  2. TCP Session Hijacking

• TCP (Transmission Control Protocol) -> 다른 컴퓨터와 데이터 통신을 하기 위한 프로토콜. TCP는 통신을 하기 전에 통신할 컴퓨터 간의 데이터 교환이 필요함. 이 데이터 교환이 3-way handshaking 과정이다.

• 3-way handshaking 과정-> 실제로 데이터 전달이 시작하기 전에 한쪽이 다른 쪽이 준비되었다는 것을 알 수 있도록 하며 SYN , SYN+ACK, ACK와 같은 과정을 통해 이루어진다.

• Session Hijacking : 일반 사용자가 이미 시스템에 접속되어 있는 상태를 가로채는 공격

• TCP Session Hijacking : TCP세션을 훔쳐서 새로운 시퀀스 넘버를 보내서 마치 클라이언트인 척하며 연결을 이어나가는 공격.
공격 상황을 설명해보자면, 공격자는 피해자와 서버 간의 연결을 끊고 피해자는 '왜 연결이 끊겼지?'라고 의문을 품고 있게 되고 그 사이 공격자는 웹 서버에게 "우리 이전 연결을 끊고 다시 연결하자!" 라고 보내면 웹 서버는 "그래! 새로운 정보 줄게" 라고 응답을 하게 된다. 이러한 과정 속에서 공격자는 피해자에게 도청 중인 사실을 들키지 않기 위해 받은 정보를 전송하는 것이다.

Q. 그럼 왜 이런 고전적인 취약점이 고쳐지지 않을까?

-> 프로토콜은 우리가 사용하는 언어와 비슷한 느낌을 갖는데, 언어를 바꾸려면 돈과 시간이 많이 들고 그만큼 정부의 손실이 커지게 된다. 이와 비슷한 개념으로, 프로토콜도 프로토콜 자체를 바꾸기는 어렵기 때문에 이 자체를 고치기 보다는 이를 완화하는 방안으로 대체하게 되는 것이다.

대응방안

네트워크 해킹의 대응 방안으로는, 다음과 같은 것들이 있다.

• 네트워크 장비의 취약점 및 강화 설정
• 로그인 패스워드 강화 설정
• 원격 접속 보안 강화 설정
• 불필요한 서비스 제거
• 불필요한 규칙 존재 여부 점검
• 명확한 출발지와 목적지 지정 여부 점검 패치
• 패스워드를 주기적으로 변경
• 실시간 모니터링 및 경보 알림 기능 설정
• 보안 시스템을 우회하는 경로 여부 파악
• 원격 접속을 허용한 IP주소 설정
• 원격 접속 보안 강화 설정
• 지속적인 인증

0개의 댓글