brunch

You can make anything
by writing

C.S.Lewis

by 복지CEO 조정원 Aug 01. 2016

메타스플로잇 활용-메뉴얼 점검만이 최선일까?

보안프로젝트 매거진



몇 일전에 교육 신청자가 문의 온것을 보고 현재 제가 집필하고 있는 원고 중 일부를 공개합니다.

내가 컨설턴트 업무를 할 때도 모의해킹 컨설턴트 선배들에게 들어보면 메타스플로잇을 사용하여 고객 서비스에 모의해킹을 진단한 사례들을 많이 듣지 않았다. “정말로 모의해킹을 할 때 많이 사용하나요?”라고 한다.상용으로 구매해야 하는 프로 버전의 구매 비용이 비싸다는 이유도 어느 정도 있지만,무료 버전도 진단하는데 충분히 활용할 수 있다.그렇다면 어떤 이유가 있을지,이 질문에 대해 아래와 같은 답변을 드리고 싶다.


첫째는,모의해킹은 모든 자산 서비스의 공격 위협을 제거하기 위해 미리 범죄자(공격자)입장에서 진행된다.그중에서 외부에서 접근할 수 있는 서비스 대상으로 대부분 진행이 된다.국내 서비스 진단이 웹 서비스 취약점 진단과 모바일 서비스 취약점 진단,즉 외부에서 접근할 수 있는 서비스를 대상으로 하는 것이 대부분이다.

종합 취약점 공격 도구(점검 도구)프레임워크인 메타스플로잇을 제대로 활용할 기회가 많지 않다.이 책에서도 몇 웹 서비스 취약점 진단 시나리오를 살펴보겠지만,그 외에도 수많은 취약점을 이용한 공격 코드들이 포함되어 있다.더 많은 기능을 위해서는 외부 서비스 모의해킹뿐만 아니라,내부 모의해킹 진단도 활발히 진행되어야 한다.


서비스의 개발 오류로 발생하는 취약점뿐만 아니라,다양한 플랫폼,운영체제 취약점 측면에서도 많이 살펴보아야 한다.이는 컨설턴트 입장(공격자 입장)과 관리 실무(방어자 입장)에서 같이 보아야 범위를 넓게 볼 수 있다.지금 시장에서 이루어지고 있는 서비스 취약점 진단만 본다면 당연히 메타스플로잇의 광범위한 기능을 사용할 이유도 없어진다.


둘째는,연구할 시간을 주지 않는 프로젝트 기간이다.서비스를 점검하고 정말로 범죄자처럼 시나리오를 구성하면 좋지만,일자 내에 모든 범위를 한 번씩이라도 보고 보고서를 작성하는 것도 차 너무 힘겼다.이런 환경이 계속 지속하면 말 그대로 체크리스트,점검하는 방법조차도 이전과 같은 공격 패턴들만 적용하게 된다.


범위를 줄이고 산정해도 고객 입장에서는 비용이 만만치 않다.대기업도 비용 부담으로 인원 투입 기간은 줄이고 범위는 최대로 잡으려고 하는데,중소기업은 어떻겠나.인증을 받기 위한 절차로만 모의해킹 투입을 하는 경우가 많으므로,인증 범위 대상은 모두 포함되는 경우가 많다.


짧으면1주~2주,평균 한 달 이하로 투입되면 그 서비스가 가지고 있는 특징들을 파악할 여유조차 없다.이런저런 이유로 업무 외 시간에 연구하며 이런 도구들이 어떻게 시나리오적으로 사용될 수 있는지 고민해봐야 한다.개인 시간을 이용해서 지속해서 연구하라고 강요할 수도 없다.쉼도 없이 일만 시키는 회사도 책임은 있기 때문이다.즉,이 도구들에 대한 활용법을 제대로 알려주는 가이드를 만들어가며 활용법을 계속 연구해야 한두 명씩 그 효율성에 대해 생각하게 된다.


셋째,도구 사용하는 것에 대해 거부감을 느낀다.모의해킹 컨설턴트에게‘어떤 도구들로 진행을 하나요’하면 대부분‘수동진단’이라고 한다.그래서 도구들의 사용을 실 서비스에 적용하는 것조차 거부감을 느끼곤 한다.도구를 사용하면 자존심이 없다고 생각하나?


정말 우리가 도구를 사용하지 않는가?서비스 스캔을 위해서 스캔 도구를 활용하지 않는가?어떤 포트들이 기본적으로 오픈되어 있는지 확인조차 하지 않는가?무조건 웹서비스만 바라보고 해킹을 진행하고 있지 않나 반성해보자.구글에서 해당 서비스의 중요 정보들이 노출되고 있는 것을 명령어 하나씩 입력하면서 찾아가는가?여러분은 그 수많은 패턴을 모두 보유하고 있으며,그것을 복사하고 붙여넣기를 하여 하나씩 반영하고 있는가?웹의 디렉터토리 구조와 불필요한 파일들,혹은 중요 디렉터리 노출에 대해 여러분은 파악하려고 하지 않는가?


이런 업무들은 모두 도구들을 활용해야 한다.우리가 수동진단이라고 말하는 것은 사람이 꼭!!해야 하는 진단 업무들이 있기 때문이다.서비스의 기능을 시나리오적으로 접근하면서 그 과정에서 하나의 프로세스 홀(버그)가 있다면,그 부분을 가지고 서비스에 위협을 줄 수 있는 것을 찾아야 한다.이때는 도구로 할 수 있는 게 아니다.개발자나 운영자도 예측하지 못했던 부분을 짚어내는 과정이다.이때 수동진단(매뉴얼진단)이라고 말한다.


메타스플로잇에도 서비스 스캔부터 침투 단계까지,시스템 백도어를 이용한 봇(Bot)유지까지,하나의 침투 서버에서 근접 네트워크의 침투 가능까지 다양한 시나리오들이 포함되어 있다.제로데이 취약점 발표되고,패치가 발표되는 것과 며칠 차이 두지 않고 공격코드가 업데이트된다.이 공격 코들은 컨설턴트를 몇 달 동안 편안하게 해주는 공격코드들이 많다.테스트 배드에 공격코드를 충분히 검토했다면 실 서비스에서도 많이 활용해봐야 한다.

매거진의 이전글 보안프로젝트에서 진행하는 온라인, 오프라인 강의 소식
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari