Nikto 데이터베이스 및 플러그인 업데이트

Kali LinuxBeginner
지금 연습하기

소개

Nikto 는 인기 있는 오픈 소스 웹 서버 스캐너로, 6,700 개 이상의 잠재적으로 위험한 파일/프로그램, 1,250 개 이상의 서버에 대한 최신 버전 확인, 270 개 이상의 서버에 대한 버전별 문제 등 다양한 항목에 대해 웹 서버를 포괄적으로 테스트합니다.

Nikto 가 최신 취약점을 탐지할 수 있도록 데이터베이스와 플러그인을 최신 상태로 유지하는 것이 중요합니다. 새로운 취약점은 끊임없이 발견되며, Nikto 개발팀은 스캔 엔진, 플러그인 및 취약점 데이터베이스에 대한 업데이트를 정기적으로 출시합니다. 이 실험실에서는 Nikto 를 최신 버전으로 업데이트하는 간단한 과정을 배우게 됩니다.

현재 데이터베이스 및 엔진 버전 확인

이 단계에서는 Nikto 설치의 현재 버전, 즉 코어 엔진, 플러그인 및 스캔 데이터베이스의 버전을 확인합니다. 이는 업데이트를 수행하기 전에 현재 상태를 확인하는 중요한 첫 단계이며, 나중에 업데이트가 성공했는지 확인할 수 있도록 합니다.

버전 정보를 확인하려면 -Version 옵션을 사용합니다. 터미널을 열고 다음 명령을 실행합니다.

nikto -Version

다음과 유사한 출력이 표시됩니다. 실험실 환경의 초기 상태에 따라 특정 버전 번호가 다를 수 있습니다.

---------------------------------------------------------------------------
- Nikto v2.x.x
---------------------------------------------------------------------------
+ Nikto v2.x.x
+ Target IP:
+ Target Hostname:
+ Target Port:
+ Start Time:      ...
---------------------------------------------------------------------------
- Start of nikto scan
---------------------------------------------------------------------------
+ Nikto Core Revision: ...
+ LibWhisker Revision: ...
+ Plugin Revision:     20220410
+ Database Revision:   20220409

Plugin RevisionDatabase Revision 줄에 주의를 기울이십시오. 이들이 우리가 업데이트할 구성 요소입니다.

-update 를 사용하여 업데이트 명령 실행

이 단계에서는 Nikto 의 내장 업데이트 기능을 사용합니다. Nikto 는 공식 저장소인 cirt.net에서 자체 플러그인과 데이터베이스를 직접 업데이트할 수 있습니다.

이 프로세스를 트리거하는 명령은 nikto -update입니다. 이 명령은 Nikto 에게 원격 서버에 연결하여 구성 요소의 최신 버전을 확인하고 사용 가능한 경우 다운로드하도록 지시합니다.

업데이트 프로세스를 시작하려면 터미널에서 다음 명령을 실행하십시오.

nikto -update

이제 Nikto 가 인터넷에 연결하여 최신 파일을 다운로드하려고 시도합니다.

플러그인 및 데이터베이스 업데이트 프로세스 관찰

이 단계는 방금 실행한 명령의 출력을 관찰하기 위한 것입니다. nikto -update를 실행한 후 터미널에서 업데이트 프로세스를 자세히 설명하는 일련의 메시지를 볼 수 있습니다. 여기서 새로운 명령을 실행할 필요는 없으며, 이전 단계의 출력을 검토하기만 하면 됩니다.

출력은 다음과 유사해야 합니다.

---------------------------------------------------------------------------
- Nikto v2.x.x
---------------------------------------------------------------------------
+ Nikto v2.x.x
+ Target IP:
+ Target Hostname:
+ Target Port:
+ Start Time:      ...
---------------------------------------------------------------------------
- Start of nikto scan
---------------------------------------------------------------------------
+ Checking for plugin updates...
+ Plugins are current, no update needed.
+ Checking for database updates...
+ The 'db_tests' file is not current.
+ Downloading db_tests.tar.gz...
...
+ Unpacking db_tests.tar.gz...
+ 1010 items unpacked.
+ Done.

이 출력은 Nikto 가 성공적으로 업데이트를 확인했음을 확인합니다. 이 예에서는 플러그인이 이미 최신 상태였지만, 테스트 데이터베이스 (db_tests) 가 오래되어 다운로드 및 압축 해제되었습니다. 사용자의 출력에는 플러그인 및 데이터베이스 모두에 대한 업데이트가 표시될 수 있습니다.

업데이트 후 새 구성 요소 버전 확인

이 단계에서는 업데이트가 성공했는지 확인합니다. 첫 번째 단계에서 했던 것처럼 버전 정보를 다시 확인합니다. 이를 통해 Nikto 가 새 플러그인 및 데이터베이스 파일을 인식하고 사용하고 있음을 확인할 수 있습니다.

다시 nikto -Version 명령을 실행합니다.

nikto -Version

이제 새 출력과 1 단계에서 본 출력을 비교합니다. Plugin RevisionDatabase Revision 날짜가 더 최신이어야 합니다.

---------------------------------------------------------------------------
- Nikto v2.x.x
---------------------------------------------------------------------------
+ Nikto v2.x.x
...
---------------------------------------------------------------------------
- Start of nikto scan
---------------------------------------------------------------------------
+ Nikto Core Revision: ...
+ LibWhisker Revision: ...
+ Plugin Revision:     20231025   <-- Should be newer
+ Database Revision:   20231112   <-- Should be newer

업데이트된 개정 번호를 보는 것은 Nikto 인스턴스가 이제 최신 구성 요소를 사용하고 있음을 확인시켜 줍니다.

업데이트된 구성 요소로 테스트 스캔 수행

이 마지막 단계에서는 업데이트 후 Nikto 가 완전히 작동하는지 확인하기 위해 간단한 테스트 스캔을 수행합니다. 로컬 웹 서버에 대한 간단한 스캔으로 엔진, 플러그인 및 데이터베이스가 모두 올바르게 작동하는지 확인할 수 있습니다.

실험 환경에는 로컬 Apache 웹 서버가 실행 중입니다. localhost를 대상 호스트로 사용하여 스캔할 수 있습니다. -h 옵션은 호스트를 지정하는 데 사용됩니다.

다음 명령을 실행하여 스캔을 시작합니다.

nikto -h localhost

이제 Nikto 가 로컬 웹 서버를 스캔하기 시작합니다. 서버 정보와 잠재적인 발견 사항을 자세히 설명하는 출력이 표시됩니다. 스캔이 성공적으로 시작되면 업데이트된 구성 요소가 올바르게 작동하고 있음을 나타냅니다.

---------------------------------------------------------------------------
- Nikto v2.x.x
---------------------------------------------------------------------------
+ Target IP:          127.0.0.1
+ Target Hostname:    localhost
+ Target Port:        80
+ Start Time:         ...
---------------------------------------------------------------------------
- Server: Apache/2.4.52 (Ubuntu)
+ The anti-clickjacking X-Frame-Options header is not present.
+ The X-XSS-Protection header is not defined. This header can hint to the user agent to protect against some forms of XSS
+ The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type
...
+ 6557 requests: 0 error(s) and 7 item(s) reported on remote host
+ End Time:           ...
---------------------------------------------------------------------------
- 1 host(s) tested

이 출력을 보는 것은 업데이트된 Nikto 스캐너가 작동 중임을 확인시켜 줍니다.

요약

이 실험을 완료하신 것을 축하드립니다!

Nikto 웹 스캐너를 관리하고 업데이트하는 방법을 성공적으로 학습했습니다. 현재 구성 요소 버전을 확인하고, 최신 플러그인 및 데이터베이스를 가져오기 위해 nikto -update 명령을 실행하고, 버전을 다시 확인하여 업데이트가 성공했는지 확인하고, 모든 것이 올바르게 작동하는지 확인하기 위해 테스트 스캔을 수행하는 연습을 했습니다.

보안 도구를 최신 상태로 유지하는 것은 가장 최근에 발견된 위협 및 취약점을 탐지할 수 있도록 보장하므로 사이버 보안의 기본 실천 사항입니다.