> For the complete documentation index, see [llms.txt](https://redryan.gitbook.io/studyjoon/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://redryan.gitbook.io/studyjoon/hacking/bhpt/undefined-4/http/nessus.md).

# Nessus 자동화 진단

## Nessus <a href="#bkmrk-page-title" id="bkmrk-page-title"></a>

Tenable사에서 개발한 범용 취약점 진단 스캐너입니다. 무료인 Essentials 버전과 상용화버전인 Professional/Expert가 있지만, BHPT 가이드에서는 무료인 Community버전을 설치한 뒤 사용해봅니다.

Nessus Essentials 버전 설치는 약 30분정도 소요됩니다. BHPT 강의, 랩, 시험을 치르는데 있어 Nessus는 필수가 아니기 때문에 굳이 설치를 하지 않으셔도 됩니다. 하지만 실무에서 많이 사용되는 스캐너이니 사용해보고 싶으신 분들은 이 가이드를 참고하시면 됩니다.

## Nessus 설치

<https://www.tenable.com/downloads/nessus?loginAttempted=true>

```
# Nessus 설치
sudo dpkg -i Nessus-10.8.3-ubuntu1604_amd64.deb

# Nessus 서비스 시작
sudo systemctl start nessusd
sudo systemctl start nessusd.service

# 서비스 상태 확인
sudo systemctl status nessusd
sudo systemctl status nessusd.service
```

설치가 끝난 뒤 인터넷 브라우저 (파이어폭스)로 <https://localhost:8834> 를 방문합니다.

<figure><img src="https://guides.redraccoon.kr/uploads/images/gallery/2025-01/scaled-1680-/vnPAaDepI7EaE9Qs-image-1735976495089.png" alt=""><figcaption></figcaption></figure>

4. Nessus Essentials 웹 설치를 시작합니다.

* `Welcome to Nessus` -> Continue
* `Welcome to Nessus` -> 4번째 옵션인 `Register for Nessus Essentials` 클릭한 뒤 Continue
* `Get an activation code` -> 이름 및 이메일 주소 입력 후 Register.
  * 지메일(gmail)은 안되지만, `@naver.com` 및 `@kakao.com` 등의 한국 이메일 서비스들은 사용 가능한 경우가 있습니다.
  * 존재하지 않은 이메일 `asdfiweixijvnthnsudbfuwuef@naver.com` 등을 사용해도 Activation 코드를 받을 수 있습니다.
  * 단, 존재하지 않는 이메일을 사용하면 Activation Code을 분실할 경우 다시 발급받을 수 없습니다.&#x20;

    <figure><img src="https://guides.redraccoon.kr/uploads/images/gallery/2025-01/scaled-1680-/EtGwhVEKdnvlu5O7-image-1735976508539.png" alt=""><figcaption></figcaption></figure>
* `License Information`에서 나오는 Activation Code를 복사해서 안전한 곳에 저장해놓습니다.
* `Create a user account` -> 기본 관리자 사용자 이름과 비밀번호를 지정합니다. 테스트를 위해 `admin:password`를 사용했지만, 안전한 비밀번호를 사용하시는 것을 추천드립니다.
* `Download` 및 `Initializing` -> 이제부터 Nessus Essential의 다운로드 및 설치가 시작됩니다. 약 5분에서 10분정도 대기합니다.
* 다음과 같은 화면이 나오면 성공입니다. 화면 우상단에 돌아가고 있는 화살표가 보이거나, 아래의 스크린샷처럼 `Plugins are compiling` 이라는 메시지가 나오면 아직 100% 설치가 끝난 것이 아니기 때문에 대기합니다. 새로고침을 했을 때 오른쪽 상단의 `New Scan` 버튼이 파란색으로 활성화가 될때까지 대기합니다. 시간은 대략 20분에서 30분 정도 소요됩니다. 설치가 계속 되는 것 같다면 10분 주기로 새로고침을 하시기 바랍니다.

<figure><img src="https://guides.redraccoon.kr/uploads/images/gallery/2025-01/scaled-1680-/NuVCZOrLlsT3MbdJ-image-1735976522613.png" alt=""><figcaption></figcaption></figure>

### 사용법 <a href="#bkmrk-ec-82-ac-ec-9a-a9-eb-b2-95" id="bkmrk-ec-82-ac-ec-9a-a9-eb-b2-95"></a>

1. 화면 우상단에 있는 `New Scan` 버튼을 눌러 새로운 스캔을 시작합니다.
2. 스캔 양식을 선택합니다. 이번 가이드에서는 개념증명용으로 기본 `Advanced Scan` 스캔을 사용합니다.

<figure><img src="https://guides.redraccoon.kr/uploads/images/gallery/2025-01/scaled-1680-/R5lz7j7vkTE3WBUv-image-1735976537329.png" alt=""><figcaption></figcaption></figure>

3. 스캔 이름, 설명, 그리고 타겟 호스트의 IP주소를 입력한 뒤 `Save` 버튼을 눌러 저장합니다.&#x20;

   <figure><img src="https://guides.redraccoon.kr/uploads/images/gallery/2025-01/scaled-1680-/m4UhJkMcgtMW8UlE-image-1735976552438.png" alt=""><figcaption></figcaption></figure>

* 왼쪽의 Discovery, Assessment, Report 등을 설정할 수도 있습니다. 대부분 포트스캔/취약점 진단시 사용되는 속도, 진단 방법, 진단 범위 등을 설정합니다. 이 가이드에서는 기본값으로 진행합니다.
* 위쪽의 `Credentials` 탭에서는 사용자 인증 기반 스캐닝을 하고 싶을 때 호스트에 접근 가능한 다양한 방법에 (SSH, WinRM, SNMPv3, 등) 필요한 계정 이름 및 비밀번호를 설정할 수 있습니다.
* 위쪽의 `Plugin` 탭에서는 어떤 플러그인들을 활성화하고 비활성화할지 설정할 수 있습니다. 기본적으로 Advanced Scan은 모든 플러그인이 활성화 되어 있습니다.

4. 스캔 리스트의 우측에 있는 플레이 버튼을 눌러 스캔을 시작합니다.&#x20;

   <figure><img src="https://guides.redraccoon.kr/uploads/images/gallery/2025-01/scaled-1680-/hn9PaCSNHnN4Xd3F-image-1735976573874.png" alt=""><figcaption></figcaption></figure>
5. 스캔이 끝나면 `Vulnerabilities` 탭을 눌러 스캔 결과를 확인할 수 있습니다.

<figure><img src="https://guides.redraccoon.kr/uploads/images/gallery/2025-01/scaled-1680-/ufLigNa9xd5O2YoJ-image-1735976598330.png" alt=""><figcaption></figcaption></figure>

### 실무에서는 <a href="#bkmrk-ec-8b-a4-eb-ac-b4-ec-97-90-ec-84-9c-eb-8a-94" id="bkmrk-ec-8b-a4-eb-ac-b4-ec-97-90-ec-84-9c-eb-8a-94"></a>

Nessus를 실무에서 사용할때는 고객사 시스템에 영향을 주지 않을 정도로 다양한 설정을 합니다. 포트스캐닝의 범위 및 속도를 적절하게 조절해 도스 공격이 일어나지 않게 설정하거나, 존재하지 않는 네트워크 서비스들에 대한 플러그인을 비활성화 시켜 스캔의 속도를 높이기도 합니다.

새로운 취약점이 나오거나, 고객사가 특별히 요청한 취약점들이 있는 경우 Nessus에 그와 관련된 플러그인이 있는지 확인합니다.

&#x20;

마지막으로, 이 가이드에서는 기본 설정의 `Advanced Scan`을 사용했지만 타겟의 종류에 따라 다른 스캔 양식을 사용해 스캔의 효율을 높입니다. 예를 들자면 웹 애플리케이션은 `Web Application Test` 양식을, 다수의 호스트를 가지고 있는 네트워크는 `Basic Network Scan` 양식을 사용해 스캔을 진행합니다.
