[보안] Nessus 로 웹사이트 정적 취약점 스캐닝하기 Computer Tip

Nessus 취약점 분석 툴은 1998년에 시작이 되었다고 합니다.
보안 업계를 떠난지 수년이 흘러 더 이상 사용할 필요가 없겠지 하고 있다가
최근에 웹서비스 취약점을 검사하기 위하여 Nessus 를 다시 돌려볼 필요가 있었습니다.
아주 예전에는 CLI로 터미널로 돌렸었던 것이 기억나는데 최근에는
웹서비스로 되어 편하게 설치하고 돌려볼 수 있게 되어 있었습니다.

다음은 네서스를 설치하고 돌려보고 정적 웹 서비스 스캐닝을 하고 
보고서를 뽑아보는 것을 정리해 보았습니다.

(예, Nessus 로그인 화면)

우선 Nessus 를 설치하고 돌려보려면 Activation Code 가 필요하다는 것을 알았습니다.

구글에서 검색을 하면 첫번째 나오는 "Obtain an Activation Code | Nessus | Tenable" 을 들어가면,

위와 같은 것으로 뜨는데 Free 로 사용하려면 가장 오른편의 "Nessus Essentials" 을 선택합니다.
"Register Now"를 누르면,

그러면 사용자 등록 화면으로 넘어가는데 등록 합니다.
그러면 몇초 후 이메일로 Activation Code가 도착합니다. 이것을 잘 보관합니다.

이제 docker 를 돌릴 수 있는 Linux 시스템에 다음과 같이 docker-compose.yml 을 만들어 돌립니다.


version: '3.1'
services:
  nessus:
    image: tenableofficial/nessus
    restart: always
    container_name: nessus
    environment:
      USERNAME: admin
      PASSWORD: admin_password
      ACTIVATION_CODE: XXXX-XXXX-XXXX-XXXX-XXXX
    ports:
      - 8834:8834

위의 내용으로 저장하고, 
(ACTIVATION_CODE에는 이전에 받았던 이메일의 코드를 넣으면 됩니다)

docker compose up -d
(최신 버전은 docker 명령에 compose 가 포함되어 별도 docker-compose를 설치할 필요가 없습니다)
라고 돌리면 서비스가 돌고,

해당 IP주소로 https 로 접속하면,

초기에 약 5분 이상 플러그인 등을 설치하는 초기화 작업을 진행하고,

그 다음 위와 같이 로그인 창이 뜹니다.
암호는 docker-compose.yml에 PASSWORD 내용입니다.

최초 로그인 하면 위와 같이 Targets 을 넣으라고 하는데 Cancel로 나옵니다.

이제는 My Scans 메뉴에서 "New Scan"을 눌러,

템플릿 중에서 "web"으로 검색하여 "Web Application Tests"를 선택합니다.

위와 같이 Name과 설명 그리고 Targets 에는 IP주소 또는 hostname을 넣습니다.
(처음에는 https://... 와 같이 URL을 넣고는 왜 안되지 했습니다)
이렇게 넣으면 해당 IP 주소의 호스트에 대하여 모든 스캐닝을 합니다.

만약 해당 서버에 컨테이너로 여러 서비스를 하고 있었다면,
모든 서비스에 대한 검색을 하게 되므로 오탐같은 결과가 나올 수 있으니 주의 해야 합니다.

이제 생성한 항목에 대하여 목록 등에서 "Launch"를 누르면 스캐닝을 합니다. (경우에 따라 수십분 이상 걸리기도 합니다)
그러면 계속 진행하고 있는 상태가 보여지며,

검사 결과가 끝나면 위와 같이 결과가 보여집니다.
(Dritical이나 High 등의 취약점은 꼭 확인해서 수정해야 되겠지요?)

해당 상세 내용을 확인 하실 수 있고,

Report 를 눌러 위와 같은 보고서 중에 하나를 선택하여 PDF 등으로 출력 가능합니다.
결과는 보통 하부로 내려올 수록 더 자세한 정보들이 보여집니다.

자 이제는 테스트 하시고 싶은 사이트를 선택하여 정적 웹 취약점을 파악할 수 있게 되었습니다.
위의 Nessus를 이용하여 알려진 취약점을 최소화 시켜야만 해킹의 위험에서 피할 수 있게 됩니다.


어느 분께는 도움이 되셨기를 ..


덧글

댓글 입력 영역

구글애드텍스트