Git 및 Dradis 를 사용한 Kali 보고

Kali LinuxBeginner
지금 연습하기

소개

이 랩에서는 버전 관리를 위해 Git 을 사용하고, 구조화된 보고를 위해 Dradis 를 사용하여 Kali Linux 로 결과를 관리하고 보고하는 방법을 배우게 됩니다. Git 저장소를 초기화하고, 샘플 결과를 Dradis 로 가져오고, 심각도별로 결과를 정리하며, 전문적인 보고서를 내보내는 과정을 수행할 것입니다. 이러한 단계는 통제된 환경에서 필수적인 사이버 보안 기술을 구축하는 데 도움이 될 것입니다. 모든 작업은 자동으로 설정된 Kali Linux 컨테이너 내에서 수행됩니다. 터미널을 열면 Kali Linux 컨테이너의 셸에 직접 연결되어 바로 실습을 시작할 수 있습니다.

환경 설정 및 필수 도구 설치

이 첫 번째 단계에서는 Kali Linux 컨테이너 내에서 작업 환경을 설정하고 랩에 필요한 도구를 설치합니다. LabEx VM 환경에서 터미널을 열면 자동으로 Kali Linux 컨테이너의 셸에 연결됩니다. 컨테이너를 수동으로 시작하거나 셸에 진입할 필요가 없습니다. 환경은 이미 구성되어 있습니다.

패키지 목록을 업데이트하고 버전 관리를 위한 git 및 나중에 사용할 기타 유틸리티와 같은 필수 도구를 설치하는 것으로 시작해 보겠습니다. 새로운 Kali Linux 컨테이너에서 작업하고 있으므로 필요한 모든 소프트웨어가 설치되어 있는지 확인해야 합니다.

터미널에서 다음 명령을 실행하여 패키지 목록을 업데이트하고 git을 설치합니다.

apt update
apt install -y git

apt update 명령은 구성된 저장소에서 패키지 목록을 새로 고쳐 사용 가능한 패키지에 대한 최신 정보를 확보합니다. apt install -y git 명령은 확인 메시지 없이 git을 설치합니다. 이 프로세스는 완료하는 데 몇 초 정도 걸릴 수 있습니다.

예상 출력 (예시, 실제 출력은 다를 수 있음):

Hit:1 http://mirrors.cloud.aliyuncs.com/kali kali-rolling InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
...
Setting up git (1:2.39.2-1) ...

이 출력은 패키지 목록이 업데이트되었고 git이 성공적으로 설치되었음을 나타냅니다. git이 설치되었으므로 다음 단계에서 저장소를 초기화할 준비가 되었습니다. 이 기본적인 설정은 모든 후속 작업이 Kali Linux 컨테이너 내에서 원활하게 수행될 수 있도록 보장합니다.

Git 저장소 초기화

이제 Kali Linux 컨테이너에 git을 설치했으므로 프로젝트 파일을 관리하기 위해 Git 저장소를 초기화합니다. Git 은 파일의 변경 사항을 시간별로 추적하는 버전 관리 시스템으로, 협업을 용이하게 하고 작업의 다양한 버전을 유지 관리하는 데 도움이 됩니다.

터미널을 열면 자동으로 연결되므로 이미 Kali Linux 컨테이너의 셸에 있습니다. 기본적으로 컨테이너 내 /root 디렉토리에서 시작합니다. 일관성을 위해 /root/project에 프로젝트 전용 디렉토리를 만들고 Git 저장소를 초기화해 보겠습니다.

다음 명령을 실행하여 디렉토리를 만들고 Git 저장소를 초기화합니다.

mkdir -p /root/project
cd /root/project
git init

mkdir -p /root/project 명령은 /root/project 디렉토리가 아직 존재하지 않는 경우 생성합니다. cd /root/project 명령은 이 디렉토리로 이동합니다. 마지막으로, git init은 이 위치에 새 Git 저장소를 초기화하여 버전 관리 정보를 저장하기 위한 숨겨진 .git 폴더를 생성합니다.

git init의 예상 출력 (예시, 실제 출력은 다를 수 있음):

Initialized empty Git repository in /root/project/.git/

이 출력은 Git 저장소가 /root/project 디렉토리에 성공적으로 생성되었음을 확인합니다. Git 저장소 초기화는 버전 관리의 첫 번째 단계로, 이후 단계에서 파일을 추가할 때 파일의 변경 사항을 추적할 수 있도록 합니다. 다음 단계에서는 Dradis 로 결과를 가져오는 것을 시뮬레이션하기 위해 샘플 데이터를 생성하여 이 저장소 설정을 기반으로 구축합니다.

Dradis Import 를 위한 샘플 결과 생성

이 단계에서는 보안 평가에서 협업 및 보고에 사용되는 도구인 Dradis 로 결과를 가져오는 것을 시뮬레이션하기 위해 샘플 데이터를 생성합니다. Dradis 는 다양한 도구의 결과를 중앙 집중화하고 보고를 위해 구성하는 데 도움이 됩니다. Kali Linux 컨테이너 내에서 전체 Dradis 인스턴스를 설정하는 것은 복잡하므로, 스캔 결과를 나타내는 구조화된 텍스트 파일을 생성하여 프로세스를 시뮬레이션합니다.

이미 Kali Linux 컨테이너 내 /root/project 디렉토리에서 작업하고 있습니다. 이러한 샘플 결과를 저장하기 위해 results라는 하위 디렉토리를 만들고 가짜 데이터가 포함된 텍스트 파일을 추가해 보겠습니다. 이 단계는 이전에 초기화한 Git 저장소를 기반으로 구축되어 이러한 파일을 버전 관리 하에 추적할 수 있습니다.

다음 명령을 실행하여 results 디렉토리와 샘플 파일을 생성합니다.

mkdir -p /root/project/results
nano /root/project/results/scan_results.txt

mkdir -p /root/project/results 명령은 프로젝트 폴더 내에 results 하위 디렉토리를 생성합니다. nano /root/project/results/scan_results.txt 명령은 nano 텍스트 편집기를 열어 해당 디렉토리에 scan_results.txt라는 파일을 생성하고 편집합니다.

nano 편집기에서 다음 내용을 입력하여 기본 스캔 결과를 시뮬레이션합니다.

Sample Scan Results
Vulnerability: Open Port 80
Severity: Medium
Description: HTTP service detected on port 80.

nano를 저장하고 종료하려면 Ctrl+O를 누른 다음 Enter를 눌러 파일을 쓰고 마지막으로 Ctrl+X를 눌러 편집기를 종료합니다.

이제 이 파일을 Git 저장소에 추가하여 추적하려면 다음을 실행합니다.

cd /root/project
git add results/
git commit -m "Add sample scan results for Dradis import"

git add results/ 명령은 results 디렉토리와 해당 내용을 버전 관리를 위해 스테이징합니다. git commit -m "Add sample scan results for Dradis import" 명령은 설명 메시지와 함께 변경 사항을 커밋합니다.

git commit의 예상 출력 (예시, 실제 출력은 다를 수 있음):

[master (root-commit) xxxxxx] Add sample scan results for Dradis import
 1 file changed, 4 insertions(+)
 create mode 100644 results/scan_results.txt

이 출력은 샘플 결과 파일이 Git 저장소에 성공적으로 커밋되었음을 확인합니다. 이 파일을 생성하고 추적함으로써 일반적으로 보안 도구의 결과를 업로드하는 Dradis 로 데이터를 가져오는 프로세스를 시뮬레이션하고 있습니다. 다음 단계에서는 Dradis 가 보고를 위해 데이터를 구성하는 방식을 모방하여 이러한 결과를 범주별로 구성합니다.

심각도별 취약점 정리

이전 단계에서 샘플 결과를 생성했으므로, 이제 Dradis 가 보고를 위해 데이터를 구성하는 방식을 시뮬레이션하여 이러한 결과를 심각도에 따라 범주별로 구성합니다. 실제 Dradis 설정에서는 웹 인터페이스 내에서 취약점과 같은 문제를 중요 또는 중간과 같은 그룹으로 분류합니다. 여기서는 Kali Linux 컨테이너의 /root/project 디렉토리 내에 하위 디렉토리와 파일을 생성하여 이 프로세스를 모방합니다.

서로 다른 심각도 수준을 나타내기 위해 criticalmedium의 두 하위 디렉토리가 있는 findings 디렉토리를 만들어 보겠습니다. 그런 다음 각 범주에 특정 결과 파일을 추가하고 Git 을 사용하여 추적합니다.

다음 명령을 실행하여 디렉토리 구조를 생성합니다.

mkdir -p /root/project/findings/critical
mkdir -p /root/project/findings/medium

이 명령은 findings 디렉토리를 생성하고 그 안에 criticalmedium 하위 디렉토리를 생성합니다. 이제 텍스트 파일을 생성하여 critical 범주에 샘플 결과를 추가해 보겠습니다. 다음을 실행합니다.

nano /root/project/findings/critical/critical_issue.txt

nano 편집기에서 중요한 결과를 나타내기 위해 다음 내용을 입력합니다.

Critical Finding
Issue: Unencrypted Database Connection
Severity: Critical
Description: Database connection on port 3306 is not encrypted.
Recommendation: Enable TLS for database connections.

Ctrl+O, Enter를 누르고 마지막으로 Ctrl+X를 눌러 nano를 저장하고 종료합니다.

다음으로, 다음을 실행하여 medium 범주에 샘플 결과를 추가합니다.

nano /root/project/findings/medium/medium_issue.txt

nano 편집기에서 다음 내용을 입력합니다.

Medium Finding
Issue: Open HTTP Port
Severity: Medium
Description: HTTP service detected on port 80.
Recommendation: Redirect HTTP to HTTPS.

이전과 같이 nano를 저장하고 종료합니다. 이제 다음을 실행하여 이러한 파일을 Git 저장소에 커밋합니다.

cd /root/project
git add findings/
git commit -m "Organize findings into critical and medium categories"

git add findings/ 명령은 새 파일을 스테이징하고 git commit 명령은 메시지와 함께 변경 사항을 저장합니다.

git commit의 예상 출력 (예시, 실제 출력은 다를 수 있음):

[master xxxxxx] Organize findings into critical and medium categories
 2 files changed, 10 insertions(+)
 create mode 100644 findings/critical/critical_issue.txt
 create mode 100644 findings/medium/medium_issue.txt

이 출력은 범주별 결과를 나타내는 파일이 저장소에 커밋되었음을 확인합니다. 심각도별로 결과를 구성하는 것은 구조화된 보고서를 준비하는 핵심 단계이며, 이는 수정해야 할 문제의 우선 순위를 정하는 데 도움이 됩니다. 다음 단계에서는 생성한 구조를 기반으로 이러한 결과를 보고서로 내보내는 것을 시뮬레이션합니다.

Dradis 보고서 내보내기 시뮬레이션

이 마지막 단계에서는 구성한 결과를 요약하는 통합 텍스트 파일을 생성하여 Dradis 에서 보고서를 내보내는 것을 시뮬레이션합니다. 실제 시나리오에서는 Dradis 를 통해 웹 인터페이스를 통해 형식이 지정된 PDF 보고서로 결과를 내보낼 수 있습니다. Kali Linux 컨테이너 환경의 제약으로 인해, 이러한 보고서의 내용을 나타내는 텍스트 파일을 /root/project 디렉토리에 수동으로 생성하여 이 프로세스를 모방합니다.

reports 디렉토리와 결과를 요약하는 dradis_report.txt라는 텍스트 파일을 만들어 보겠습니다. 디렉토리를 설정하고 파일을 생성하려면 다음 명령을 실행합니다.

mkdir -p /root/project/reports
nano /root/project/reports/dradis_report.txt

mkdir -p /root/project/reports 명령은 시뮬레이션된 보고서를 저장할 reports 디렉토리를 생성합니다. nano 명령은 이 디렉토리 내에서 dradis_report.txt를 생성하기 위한 편집기를 엽니다.

nano 편집기에서 Dradis 에서 내보낸 것처럼 결과를 요약하기 위해 다음 내용을 입력합니다.

Dradis Report - Security Assessment
Generated on: [Current Date]

1. Critical Findings
Issue: Unencrypted Database Connection
Severity: Critical
Description: Database connection on port 3306 is not encrypted.
Recommendation: Enable TLS for database connections.

2. Medium Findings
Issue: Open HTTP Port
Severity: Medium
Description: HTTP service detected on port 80.
Recommendation: Redirect HTTP to HTTPS.

Summary: This report consolidates findings from the security assessment for review and action.

Ctrl+O, Enter를 누르고 마지막으로 Ctrl+X를 눌러 nano를 저장하고 종료합니다. 이제 다음을 실행하여 이 보고서 파일을 Git 저장소에 커밋합니다.

cd /root/project
git add reports/
git commit -m "Add simulated Dradis report file"

git add reports/ 명령은 보고서 파일을 스테이징하고 git commit 명령은 변경 사항을 저장합니다.

git commit의 예상 출력 (예시, 실제 출력은 다를 수 있음):

[master xxxxxx] Add simulated Dradis report file
 1 file changed, 14 insertions(+)
 create mode 100644 reports/dradis_report.txt

이 출력은 시뮬레이션된 보고서 파일이 저장소에 커밋되었음을 확인합니다. 이 파일을 생성하는 것은 Dradis 에서 구조화된 보고서를 내보내는 프로세스를 시뮬레이션하며, 이는 사이버 보안 프로젝트에서 이해 관계자에게 결과를 제시하는 데 중요한 기술입니다. 이 단계는 Git 저장소를 초기화하는 것부터 Kali Linux 컨테이너 내에서 최종 보고서를 생성하는 것까지의 워크플로우를 완료합니다.

요약

이 랩에서는 버전 관리를 위해 Git 을 사용하고 구조화된 보고를 위해 Dradis 를 사용하여 Kali Linux 로 결과를 관리하고 보고하는 방법을 배웠습니다. 먼저 Kali Linux 컨테이너 내에서 Git 과 같은 필수 도구를 설치하고 환경을 설정하는 것으로 시작했습니다. 그런 다음 Git 저장소를 초기화하고, Dradis 로 데이터를 가져오는 것을 시뮬레이션하기 위해 샘플 결과를 생성하고, 심각도별로 결과를 구성하고, 마지막으로 보고서 내보내기를 시뮬레이션했습니다. 이러한 단계는 통제된 환경에서 작업하는 사이버 보안 전문가에게 필수적인 기술인 버전 관리 및 구조화된 보고에 대한 기본적인 이해를 제공했습니다.