Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
dc-sonar — AD 도메인을 분석하여 사용자 계정과 관련된 보안 위험을 식별합니다. | Kitploit
도구/GitHubGitHub/st1lly/dc-sonar
Password CrackingVulnerability AnalysisLearning & Education
GitHubst1lly/dc-sonar

dc-sonar

AD 도메인을 분석하여 사용자 계정과 관련된 보안 위험을 식별합니다.

저장소 보기웹사이트
64913년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

DC Sonar 커뮤니티

저장소

프로젝트는 다음 저장소로 구성됩니다:

  • dc-sonar-frontend
  • dc-sonar-user-layer
  • dc-sonar-workers-layer
  • ntlm-scrutinizer

면책 조항

교육 목적으로만 사용하십시오.

프로덕션 Active Directory(AD) 도메인에서 사용하지 마십시오.

기여자는 이를 사용함으로써 발생하는 어떤 책임도 지지 않습니다.

소셜 미디어

저희 레드 팀 커뮤니티 텔레그램 채널을 확인하세요.

목차

  1. 설명
    1. 아키텍처
    2. 기능
  2. 설치
    1. Docker
    2. 수동 설치 (dpkg 사용)
  3. 스타일 가이드
  4. 개발 환경 배포
    1. Docker
    2. 수동 설치 (Windows 호스트 + Ubuntu 서버 게스트)
      1. 가상 머신 설정
      2. Windows 설정
      3. 공유 폴더 설정
      4. Ubuntu 서버 설정
      5. 레이어

설명

아키텍처

시각적 설명을 보려면 diagrams.net 도구를 사용하여 다이어그램 파일을 여십시오.

앱은 다음으로 구성됩니다:

  • dc-sonar-frontend는 사용자 웹 인터페이스의 프런트엔드 부분으로, 다음을 기반으로 합니다:
    • Angular
    • Angular Material
  • dc-sonar-user-layer는 웹 앱의 백엔드 부분으로, 다음을 기반으로 합니다:
    • Python 3.10
    • Django
    • Django ORM
    • Django REST framework
    • Celery
    • RabbitMQ
    • PostgreSQL
  • dc-sonar-workers-layer는 분석 프로세스를 수행하고 실행하는 로직 레이어로, 다음을 기반으로 합니다:
    • Python 3.10
    • SQLAlchemy
    • Alembic
    • APScheduler
    • RabbitMQ
    • PostgreSQL
  • ntlm-scrutinizer는 REST API를 갖춘 NTLM 해시 수행기로, 다음을 기반으로 합니다:
    • Python 3.10
    • FastAPI
    • hashcat
    • impacket

기능

DC Sonar 커뮤니티는 계정과 관련된 보안 위험에 대해 AD 도메인을 분석하는 기능을 제공합니다:

  • 앱에 AD 도메인 분석 등록

    register_ad

  • 도메인 분석 프로세스 상태 확인

    domains_analyze_statuses

  • 설정된 AD 도메인에서 NTLM 해시를 덤프 및 무차별 대입하여 취약한 비밀번호를 가진 계정 목록 생성

    weak_passwords

  • AD 도메인 계정을 분석하여 비밀번호가 만료되지 않는 계정 목록 생성

    no_expired_passwords

  • NTLM 비밀번호 해시를 기준으로 AD 도메인 계정을 분석하여 비밀번호가 반복되는 계정 및 도메인 확인

    reused_passwords

설치

Docker

준비 중 ...

수동 설치 (dpkg 사용)

깨끗한 Ubuntu Server 22.04와 사용자 이름 "user" 계정이 있다고 가정합니다.

앱은 /home/user/dc-sonar에 설치됩니다.

다음 릴리스에서는 더 유연한 설치가 제공될 수 있습니다.

서버에 마지막 배포판에서 dc_sonar_NNNN.N.NN-N_amd64.tar.gz를 다운로드하세요.

파일 추출을 위한 폴더 생성:

root@kitploit:~
mkdir dc_sonar_NNNN.N.NN-N_amd64

다운로드한 아카이브 추출:

root@kitploit:~
tar -xvf dc_sonar_NNNN.N.NN-N_amd64.tar.gz -C dc_sonar_NNNN.N.NN-N_amd64

추출된 파일이 있는 폴더로 이동:

root@kitploit:~
cd dc_sonar_NNNN.N.NN-N_amd64/

PostgreSQL 설치:

root@kitploit:~
sudo bash install_postgresql.sh

RabbitMQ 설치:

root@kitploit:~
sudo bash install_rabbitmq.sh

의존성 설치:

root@kitploit:~
sudo bash install_dependencies.sh

ppa:deadsnakes/ppa 저장소 추가 확인을 요청합니다. Enter를 누르세요.

dc-sonar 자체 설치:

root@kitploit:~
sudo dpkg -i dc_sonar_NNNN.N.NN-N_amd64.deb

Django 관리자 사용자 생성을 위한 정보를 요청합니다. 사용자 이름, 메일 및 비밀번호를 제공하세요.

자체 서명 SSL 인증서 생성을 위한 정보를 두 번 요청합니다. 필요한 정보를 제공하세요.

열기: https://localhost

이전 설치 과정에서 설정한 Django 관리자 사용자 자격 증명을 입력하세요.

스타일 가이드

STYLE_GUIDE.md에서 정보를 확인하세요.

개발 환경 배포

Docker

준비 중 ...

수동 설치 (Windows 호스트 + Ubuntu 서버 게스트)

이 경우 Windows 호스트에서 코드를 편집하고 Ubuntu 게스트에서 Python 코드를 실행하기 위한 환경을 설정합니다.

가상 머신 설정

VirtualBox에서 Ubuntu Server 22.04 ISO를 사용하여 CPU 2개, RAM 2048MB, 10GB SSD의 가상 머신을 생성합니다.

Ubuntu 설치 프로그램이 VM 설치 전에 Ubuntu 설치 프로그램 업데이트를 요청하면 동의합니다.

OpenSSH 서버 설치를 선택합니다.

VirtualBox 포트 전달 규칙:

Windows 설정

다운로드하여 Python 3.10.5를 설치하세요.

DC Sonar 프로젝트 폴더를 생성합니다.

Git for Windows를 사용하여 프로젝트 폴더로 이동:

root@kitploit:~
cd '{PATH_TO_FOLDER}'

dc-sonar-user-layer의 Windows 설치 단계를 수행하세요.

dc-sonar-workers-layer의 Windows 설치 단계를 수행하세요.

ntlm-scrutinizer의 Windows 설치 단계를 수행하세요.

dc-sonar-frontend의 Windows 설치 단계를 수행하세요.

공유 폴더 설정

단계를 "Open VirtualBox"부터 "Reboot VM"까지 수행하되, 아래 그림과 같이 "Auto-mount"로 VM VirtualBox에 공유 폴더를 추가하십시오:

vm_shared_folders

재부팅 후 다음 명령 실행:

root@kitploit:~
sudo adduser $USER vboxsf

사용 중인 사용자 계정으로 로그아웃 및 로그인을 수행하십시오.

/home/user 디렉토리에서 마운트된 폴더를 사용할 수 있습니다:

root@kitploit:~
ls -l
root@kitploit:~
Output:
total 12
drwxrwx--- 1 root vboxsf 4096 Jul 19 13:53 dc-sonar-user-layer
drwxrwx--- 1 root vboxsf 4096 Jul 19 10:11 dc-sonar-workers-layer
drwxrwx--- 1 root vboxsf 4096 Jul 19 14:25 ntlm-scrutinizer

Ubuntu 서버 설정

PostgreSQL 설정

Ubuntu 20.04에 PostgreSQL 설치:

root@kitploit:~
sudo apt update
sudo apt install postgresql postgresql-contrib
sudo systemctl start postgresql.service

관리자 데이터베이스 계정 생성:

root@kitploit:~
sudo -u postgres createuser --interactive
root@kitploit:~
Output:
Enter name of role to add: admin
Shall the new role be a superuser? (y/n) y

dc_sonar_workers_layer 데이터베이스 계정 생성:

root@kitploit:~
sudo -u postgres createuser --interactive
root@kitploit:~
Output:
Enter name of role to add: dc_sonar_workers_layer
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n

dc_sonar_user_layer 데이터베이스 계정 생성:

root@kitploit:~
sudo -u postgres createuser --interactive
root@kitploit:~
Output:
Enter name of role to add: dc_sonar_user_layer
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n

back_workers_db 데이터베이스 생성:

root@kitploit:~
sudo -u postgres createdb back_workers_db

web_app_db 데이터베이스 생성:

root@kitploit:~
sudo -u postgres createdb web_app_db

psql 실행:

root@kitploit:~
sudo -u postgres psql

관리자 계정에 비밀번호 설정:

root@kitploit:~
ALTER USER admin WITH PASSWORD '{YOUR_PASSWORD}';

dc_sonar_workers_layer 계정에 비밀번호 설정:

root@kitploit:~
ALTER USER dc_sonar_workers_layer WITH PASSWORD '{YOUR_PASSWORD}';

dc_sonar_user_layer 계정에 비밀번호 설정:

root@kitploit:~
ALTER USER dc_sonar_user_layer WITH PASSWORD '{YOUR_PASSWORD}';

dc_sonar_workers_layer 계정에 back_workers_db 데이터베이스에 대한 CRUD 권한 부여:

root@kitploit:~
\c back_workers_db
GRANT CONNECT ON DATABASE back_workers_db to dc_sonar_workers_layer;
GRANT USAGE ON SCHEMA public to dc_sonar_workers_layer;
GRANT ALL ON ALL TABLES IN SCHEMA public TO dc_sonar_workers_layer;
GRANT ALL ON ALL SEQUENCES IN SCHEMA public TO dc_sonar_workers_layer;
GRANT ALL ON ALL FUNCTIONS IN SCHEMA public TO dc_sonar_workers_layer;

dc_sonar_user_layer 계정에 web_app_db 데이터베이스에 대한 CRUD 권한 부여:

root@kitploit:~
\c web_app_db
GRANT CONNECT ON DATABASE web_app_db to dc_sonar_user_layer;
GRANT USAGE ON SCHEMA public to dc_sonar_user_layer;
GRANT ALL ON ALL TABLES IN SCHEMA public TO dc_sonar_user_layer;
GRANT ALL ON ALL SEQUENCES IN SCHEMA public TO dc_sonar_user_layer;
GRANT ALL ON ALL FUNCTIONS IN SCHEMA public TO dc_sonar_user_layer;

psql 종료:

root@kitploit:~
\q

pg_hba.conf 파일 열기:

root@kitploit:~
sudo nano /etc/postgresql/12/main/pg_hba.conf

호스트 머신에서 PostgreSQL로의 연결을 허용하는 줄을 추가하고, 변경 사항을 저장한 후 파일을 닫습니다:

root@kitploit:~
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             admin           0.0.0.0/0               md5

postgresql.conf 파일 열기:

root@kitploit:~
sudo nano /etc/postgresql/12/main/postgresql.conf

아래 지정된 매개변수를 변경하고, 변경 사항을 저장한 후 파일을 닫습니다:

root@kitploit:~
listen_addresses = 'localhost,10.0.2.15'
shared_buffers = 512MB
work_mem = 5MB
maintenance_work_mem = 100MB
effective_cache_size = 1GB

PostgreSQL 서비스 다시 시작:

root@kitploit:~
sudo service postgresql restart

PostgreSQL 서비스 상태 확인:

root@kitploit:~
service postgresql status

필요한 경우 로그 파일 확인:

root@kitploit:~
tail -f /var/log/postgresql/postgresql-12-main.log

이제 Windows에서 DBeaver와 같은 클라이언트를 사용하여 admin 계정으로 생성된 데이터베이스에 연결할 수 있습니다.

RabbitMQ 설정

스크립트를 사용하여 RabbitMQ를 설치하세요.

관리 플러그인 활성화:

root@kitploit:~
sudo rabbitmq-plugins enable rabbitmq_management

RabbitMQ 관리자 계정 생성:

root@kitploit:~
sudo rabbitmqctl add_user admin {YOUR_PASSWORD}

생성된 사용자에게 전체 관리 UI 및 HTTP API 액세스를 위한 태그 지정:

root@kitploit:~
sudo rabbitmqctl set_user_tags admin administrator

http://localhost:15672/에서 관리 UI를 엽니다.

Python 3.10 설치

시스템이 업데이트되고 필요한 패키지가 설치되었는지 확인하세요:

root@kitploit:~
sudo apt update && sudo apt upgrade -y

사용자 정의 PPA 추가에 필요한 종속성 설치:

root@kitploit:~
sudo apt install software-properties-common -y

그런 다음 아래와 같이 deadsnakes PPA를 APT 패키지 관리자 소스 목록에 추가합니다:

root@kitploit:~
sudo add-apt-repository ppa:deadsnakes/ppa

Python 3.10 다운로드:

root@kitploit:~
sudo apt install python3.10=3.10.5-1+focal1

종속성 설치:

root@kitploit:~
sudo apt install python3.10-dev=3.10.5-1+focal1 libpq-dev=12.11-0ubuntu0.20.04.1 libsasl2-dev libldap2-dev libssl-dev

venv 모듈 설치:

root@kitploit:~
sudo apt-get install python3.10-venv

설치된 Python 버전 확인:

root@kitploit:~
python3.10 --version

Output:
Python 3.10.5
호스트

도메인 컨트롤러의 IP 주소를 /etc/hosts에 추가

root@kitploit:~
sudo nano /etc/hosts

레이어

가상 환경 설정

VM VirtualBox가 공유 폴더에서 가상 환경을 만들 수 없도록 허용하지 않으므로 상위 레벨에 venv를 생성해야 합니다.

공유 폴더가 있는 홈 디렉토리로 이동:

root@kitploit:~
cd /home/user

Ubuntu에서 dc-sonar-user-layer에 대한 배포 단계를 수행하십시오.

Ubuntu에서 dc-sonar-workers-layer에 대한 배포 단계를 수행하십시오.

Ubuntu에서 ntlm-scrutinizer에 대한 배포 단계를 수행하십시오.

모듈 설정

Ubuntu에서 dc-sonar-user-layer에 대한 설정 단계를 수행하십시오.

Ubuntu에서 dc-sonar-workers-layer에 대한 설정 단계를 수행하십시오.

Ubuntu에서 ntlm-scrutinizer에 대한 설정 단계를 수행하십시오.

실행

Ubuntu에서 ntlm-scrutinizer에 대한 실행 단계를 수행하십시오.

Ubuntu에서 dc-sonar-user-layer에 대한 실행 단계를 수행하십시오.

Ubuntu에서 dc-sonar-workers-layer에 대한 실행 단계를 수행하십시오.

Windows에서 dc-sonar-frontend에 대한 실행 단계를 수행하십시오.

Windows 호스트의 브라우저에서 https://localhost:8000/admin/을 열고 자체 서명 인증서에 동의합니다.

Windows 호스트의 브라우저에서 https://localhost:4200/을 열고 생성된 Django 사용자로 로그인합니다.

도구 다운로드
이름프로토콜호스트 IP호스트 포트게스트 IP게스트 포트
SSHTCP127.0.0.1222210.0.2.1522
RabbitMQ 관리 콘솔TCP127.0.0.11567210.0.2.1515672
Django 서버TCP127.0.0.1800010.0.2.158000
NTLM ScrutinizerTCP127.0.0.1500010.0.2.155000
PostgreSQLTCP127.0.0.12543210.0.2.155432