네트워크 관리사 2급 필기 시험이 3주도 남지 않았네요...!오늘은 제가 네트워크 관리사 2급 필기 준비를 어떻게 했는지에 대해 이야기 해보려 합니다. 저는 우선 컴퓨터공학부에 재학하고 있기 때문에 네트워크에 대한 기본적인 이해는 있던 상태로 자격증 공부를 시작해서 그렇게 오랜 시간은 들이지 않았어요
1. 네트워크의 기본적인 이해
개개인마다 공부 방법은 다르겠지만 저는 교재는 따로 사용하지 않았고 유튜브나 구글링하면서 OSI 7 Layer나 패킷에 대한 이해를 다시 공부하고 서브넷 마스크를 나누는 방법 상황에 맞게 나눌 수 있을 정도로 반복 숙달했던 것 같습니다.
(기초 지식이 없으신분들은 인터넷에 좋은 자료들이 많이 있으니 과목별로 찾아 기초적인 개념부터 잡으시는 것을 추천드려요 ! )
2. 기출문제 많이 풀어보기 !
기초지식을 다시 공부한 뒤에 인터넷에서 기출문제 CBT 사이트와 기출문제 관련 자료가 굉장히 많으니 실제 시험문제로 나왔던 것들을 풀면서 감을 익혀가며 진행 했습니다.
3. 오답풀이와 이해
기출문제 1회~3회분량을 풀고 오답풀이만 제대로 작성하고 이해한다면 합격할 수 있을 정도로 중요합니다. 암기를 해야 맞출 수 있는 문제를 제외하고는 이해와 응용을 한다면 대부분 맞출 수 있는 문제라 생각해요! 아마 네트워크 관리사 2급 필기 시험이 문제 은행 방식으로 알고 있는데 막말로 이해도 없이 그냥 문제만 무작정 풀고 외우고 반복해도 합격은 할 수 있다 생각해요 하지만 그렇게 자격증을 취득하더라도 무슨 의미가 있을까 싶은게 제 생각입니다. 문제를 풀고 틀린 문제에 대해 왜 틀렸는지 틀린 문제와 비슷한 문제를 비교해가며 네트워크 지식에 대한 이해도와 응용력을 높이는게 중요하다고 생각합니다 !
해당 글은 VM Ware로 실습한 내용이며, IP 또한 가상으로 할당하였기 때문에 아무 의미 없습니다.
또한 이 기술은 실제 적용이 가능할 수도 있으니, 절대 악의적인 목적이나 호기심으로 진행하지 마시길 바랍니다.
실습을 위한 환경을 구성할때 반드시 본인 컴퓨터와 인터넷으로 구성하고 진행하세요!
악용시 현행 정보통신망 이용촉진 및 정보보호 등에 관한 법률로 처벌 받을 수 있습니다.
정보통신망에 관한 법률 아니더라도 처벌 받습니다 아무튼 그냥 본인 컴퓨터 외에는 하지마세요 !
1 개요
1.1 개요 및 목적
현재 대한민국 스마트폰 사용을 안하는 사람을 찾기 힘들 정도로 보급률이 높아져있습니다. 사용자가 증가함에 따라 무료 인터넷을 사용할 수 있도록 도와주는 무선 인터넷 환경(WI-FI)도 손쉽게 찾아 볼 수 있습니다. 많은 사람들이 데이터가 부족하거나, 아끼기 위해 비밀번호가 안걸려져있는 WI-FI에 접속하여 무료로 인터넷을 사용할 것입니다. 하지만 악의적 의도를 가진 해커가 사람들의 정보를 훔치기 위해 설치해놓은 WI-FI라면 ? 본인도 모르는 사이에 사용자가 전송한 정보를 해커는 Sniffing 할 수 있기 때문에 WI-FI 사용자들은 항상 제공자를 모르는 WI-FI 사용을 자제하고 의심해봐야 합니다.
해킹 도구 사용으로 네트워크 공격 기법을 통해 실제 공격 행위의 시뮬레이션을 수행해보며 특정 장소의 내부 네트워크상의 서비스와 서버에 대해 침투가능성을 능동적으로 판단하여 취약점에 대한 대응방안을 마련하여 네트워크 보안사고를 미연에 방지하는 것에 그 목적이 있습니다.
1.2 실습 환경
- 가상환경 OS (피해자 - Windows Xp, 공격자 - KaliLinux)
- 사용 도구 : SSLStrip
- 적용 기술 (ARP Spoofing, SSL Sniffing, M IT M)
- 무선 WI – FI
1.3 수행 항목
- 피해자가 게이트웨이로 보내는 패킷을 공격자에게 전달하게하고, 게이트웨이
에서 피해자에게 보내는 패킷을 공격자에게 전달하도록 ARP Spoofing을 진행
하여 중간자 공격이 이루어지도록 설정
- SSLStrip을 통해 피해자에게 https를 해제하여 전달하여 Sniffing 공격
- 피해자 로그인 시도할 때 입력한 ID, PASSWORD 정보 탈취
- Log 파일을 통해 탈취한 정보 확인
2 시나리오
2.1 실습 시나리오
실습 시나리오
3 수행결과
3.1 Spoofing
Spoofing이란 사전적 의미로 ‘ 속이다 ‘ 입니다. MAC주소, IP주소, Port 등 네트워크 통신과 관련된 요소
들을 속여 공격하는 것을 말합니다.
이번 모의해킹 진행과정에서 필요한 Spoofing 기법은 ARP Spoofing입니다.
ARP Spoofing은 MAC주소를 속여 통신간에 흐름을 우회하고 왜곡시키는 공격입니다.
3.1.1 취약점 이해
로컬 네트워크에서 사용하는 ARP 프로토콜의 허점을 이용하여 자신의 MAC주소를 다른 컴퓨터의
MAC주소인 것처럼 속입니다.
네트워크 트래픽이 이동할 때 MAC 주소를 기반으로 전송하는데, 공격자는 같은 네트워크상에서
ARP Request BroadCasting을 통해 모든 호스트 IP/MAC주소를 알아 낼 수 있습니다.
ARP 프로토콜은 인증을 요구하지 않기 때문에 이러한 취약점을 이용하여 ARP Reply 패킷을
호스트에게 보내주면서 쉽게 ARP Cache Table을 업데이트 시킬 수 있습니다.
공격자가 위조한 MAC 주소를 각 호스트들의 ARP Cache Table에 업데이트 시키게 되면, 통신이 이루어지는 GateWay에서는 공격자의 MAC 주소와 포트 매핑정보가 Table에 등록되어 호스트가 서버로 보내는 정보가 담긴 트래픽은 공격자에게 전달하고 서버에서도 피해자 호스트에 대한 트래픽을 공격자에게 전달하게 됩니다.
3.1.2 상세분석
[Step #1] ARP Spoofing 진행 전
arp spoofing 진행 전
[Step #2] ARP Spoofing 공격을 위한 Shell 작성
공격 코드
[Step #3] ARP Spoofing을 위한 Shell 실행
공격 실행
[Step #4] 공격 진행 후 ARP Cache Table 변경된 것을 확인
공격자 IP가 추가되고 물리적 주소가 GateWay와 같게 변경 된 것을 확인 할 수 있다.
3.1.3 보안대책
1) 사용중인 공유기의 펌웨어를 항상 업데이트하여 최신 버전으로 유지
2) ARP Virus 방어 기능을 지원하는 공유기 사용
3) ARP Spoofing 공격 탐지 툴 설치 (XArp, ARPWatch 등)
4) MAC주소 정보를 정적으로 설정하여 관리
3.2 Sniffing
Sniffing이란 사전적 의미로 ‘ 킁킁거리다, 냄새를 맡다 ‘ 뜻이 존재합니다. 이와 같이 네트워크상에서
다른 상대방들간에 또는 서버와 통신할 때 전달되는 패킷 교환을 몰래 훔쳐보는 것을 의미합니다.
예시로 군에서 통신이 이루어질 때 제3자가 도청하는 행위가 유사하다 볼 수 있습니다.
3.2.1 취약점 이해
SSL을 사용하여 암호화 통신을 하는 경우 일반적으로 공격자는 해당 정보를 Sniffing 할 수 없습니다. 하지만, 암호화된 데이터는 Client와 Server 인증 과정에서 발생된 패킷들에 의해 부하를 늘리게 되어
많은 웹 페이지에서 전체적으로 SSL을 적용시키지 않고 본인확인 또는 로그인과 같이 특정 주요정보가전송되는 구간에만 부분적으로 SSL을 적용하여 운영하는 경우가 많습니다. 이렇게 부분적으로 SSL을 적용시킨다는 취약점을 이용하여 피해자와 서버간에 통신이 이루어질 때 중간에서 개입하여 SSL Strip을 통해 HTTPS를 HTTP로 변경하여 피해자를 속여 정보를 탈취할 수 있습니다.
Spoofing이란 사전적 의미로 ‘ 속이다 ‘ 입니다. MAC주소, IP주소, Port 등 네트워크 통신과 관련된 요소
들을 속여 공격하는 것을 말합니다.
이번 모의해킹 진행과정에서 필요한 Spoofing 기법은 ARP Spoofing입니다.
ARP Spoofing은 MAC주소를 속여 통신간에 흐름을 우회하고 왜곡시키는 공격입니다.
1.1 취약점 이해
로컬 네트워크에서 사용하는 ARP 프로토콜의 허점을 이용하여 자신의 MAC주소를 다른 컴퓨터의
MAC주소인 것처럼 속입니다.
네트워크 트래픽이 이동할 때 MAC 주소를 기반으로 전송하는데, 공격자는 같은 네트워크상에서
ARP Request BroadCasting을 통해 모든 호스트 IP/MAC주소를 알아 낼 수 있습니다.
ARP 프로토콜은 인증을 요구하지 않기 때문에 이러한 취약점을 이용하여 ARP Reply 패킷을
호스트에게 보내주면서 쉽게 ARP Cache Table을 업데이트 시킬 수 있습니다.
공격자가 위조한 MAC 주소를 각 호스트들의 ARP Cache Table에 업데이트 시키게 되면, 통신이 이루어지는 GateWay에서는 공격자의 MAC 주소와 포트 매핑정보가 Table에 등록되어 호스트가 서버로 보내는 정보가 담긴 트래픽은 공격자에게 전달하고 서버에서도 피해자 호스트에 대한 트래픽을 공격자에게 전달하게 됩니다.
Sniffing이란 사전적 의미로 ‘ 킁킁거리다, 냄새를 맡다 ‘ 뜻이 존재합니다. 이와 같이 네트워크상에서
다른 상대방들간에 또는 서버와 통신할 때 전달되는 패킷 교환을 몰래 훔쳐보는 것을 의미합니다.
예시로 군에서 통신이 이루어질 때 제3자가 도청하는 행위가 유사하다 볼 수 있습니다.
2.1 취약점 이해
SSL을 사용하여 암호화 통신을 하는 경우 일반적으로 공격자는 해당 정보를 Sniffing 할 수 없습니다. 하지만, 암호화된 데이터는 Client와 Server 인증 과정에서 발생된 패킷들에 의해 부하를 늘리게 되어
많은 웹 페이지에서 전체적으로 SSL을 적용시키지 않고 본인확인 또는 로그인과 같이 특정 주요정보가전송되는 구간에만 부분적으로 SSL을 적용하여 운영하는 경우가 많습니다. 이렇게 부분적으로 SSL을 적용시킨다는 취약점을 이용하여 피해자와 서버간에 통신이 이루어질 때 중간에서 개입하여 SSL Strip을 통해 HTTPS를 HTTP로 변경하여 피해자를 속여 정보를 탈취할 수 있습니다.
1 : 사용자 ( Client )가 웹 페이지에 접속하기 위해 도메인 주소(URL)를 입력합니다.
2 : DNS에서 입력된 도메인 값을 IP주소로 변환하여 웹 브라우저로 전송합니다.
3 : 전송받은 웹 페이지 정보를 HTTP 프로토콜을 사용하여 웹 서버측으로 요청 메시지를 생성하여 전송합니다.
4 : 웹 서버에서 요청받은 내용을 분석하여 URL 정보에 해당하는 데이터를 검색하여 결과값에 대한 응답 메시지를 생성하여 웹 브라우저로 다시 전송합니다.
5 : 전송 받은 응답 메시지를 웹 페이지 데이터로 변환하고 웹 브라우저를 통해 출력되어 사용자가 볼 수 있게 됩니다.
이건 어디까지나 말 그대로 '대략적인' 흐름도 입니다. 틀린부분도 있을 수도 있고 중간에 빠진 내용이 있거나 웹 구성하는 도구에 따라 추가적인 요소 등 많은 추가적인 내용이 있습니다. 보통 우리가 인터넷을 볼 때 이런식의 과정이 이루어지는구나하는 가벼운 생각으로 참고 정도로 보시면 좋을 것 같습니다.
JSP는 Java Server Pages의 약어로 동적으로 웹페이지를 생성하기 위한 Java기반의 Server측 스크립트 언어입니다. 안전하며 빠른 Server 플랫폼에 독립적인 Java코드를 이용하여 동적으로 Page를 생성할 수 있습니다.
동작원리
Client ( 웹 페이지 )측에서 JSP 페이지를 웹 서버에 요청하게 되면 웹 서버는 받은 요청을 JSP 컨테이너에 넣어 해당 JSP 페이지를 찾아 Servlet 파일을 생성합니다. 생성된 Servlet파일은 컴파일되어 Servlet 클래스 파일을 생성하여 Client측의 웹 브라우저로 응답되어 Client측에서 응답 결과를 보게 됩니다.
Web Browser >> 요청 >> Web Server >> { Servlet File로 변환 > Class File 생성 > 기계어로 변환 후 실행 } >> 응답 >> Web Browser // { } : JSP Container
* Servlet이란 ?
웹 프로그래밍에서 Client 요청을 처리하고 그 결과를 다시 Client에게 전송하는 Java를 기반으로 한 웹을 만들기 위해 필요한 Java 프로그래밍 기술입니다
JSP 장단점
장점 :
보안성이 높아 대다수의 공공기관에서 많이 사용합니다.
Java의 기능을 그대로 사용 할 수 있습니다. (객체 지향성)
독립적으로 실행이 가능하기에 윈도우, 리눅스 등 운영체제에 상관없어 하드웨어나, OS에 의존도가 낮아 환경이 바뀌어도 재코딩할 경우가 적습니다.