상세 컨텐츠

본문 제목

[Jok3r] 통합적 취약점 점검 도구 : 조커

[Tech] 정보보안/보안진단, 모의해킹

by tech-dailylife 2020. 2. 25. 17:22

본문

반응형

(허가 되지 않은 점검도구 활용 스캔은 법적 문제 소지가 있으니 주의!)

 

Jok3r (조커) 란?

wpscan, hydra, joomlascan 등 50~60개 가량의 Tool을 복합적으로 사용하는 통합 도구
CMS(Wordpress/Drupal/Joomla) 및 WAS(Tomcat, JBoss, Weblogic 등) 등 다수 취약점 점검 도구

 

자산에 대한 CVE 점검 및 취약점 점검 위해 Jok3r 활용

(허가 되지 않은 점검도구 활용 스캔은 법적 문제 소지가 있으니 주의!)

 

 

[데모 환경]

개발 언어 : 파이선(Python3) / Console 기반

사용 환경 : 우분투

 

 

[설치]

1. Docker 설치

# curl -fsSL https://get.docker.com/ | sudo sh 

 

 

 

2. Docker 컨테이너로 제공되는 Jok3R 점검 도구를 Pull

# sudo docker pull koutto/jok3r

 

3. Pull 해온 Jok3r 점검 도구의 Docker 컨테이너 실행 (Run)

# sudo docker run -i -t --name jok3r-container -w /root/jok3r -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --shm-size 2g --net=host koutto/jok3r

 

4. 도커 컨테이너 시작 (Start)

# sudo docker start -i jok3r-container

 

 

 

 

(허가 되지 않은 점검도구 활용 스캔은 법적 문제 소지가 있으니 주의!)

[사용법]

1. Jok3r 사용법 (기본 사용법)

 

2. Jok3r DB에 Mission 생성

   # python3 jok3r.py db

   > mission -a mayhem

   Mission은 점검 단위의 공간 의미하는 것으로 유추

   이 후, 점검 수행 시에 Mission을 지정하여 점검 결과 저장 및 Report 가능

 

 

3. Jok3r Info 통해 점검 지원 서비스 범위 확인 가능

# python3 jok3r.py info --services

전체 서비스 내역 확인

# python3 jok3r.py info --checks [서비스]

특정 서비스 세부 내역 확인

# python3 jok3r.py info --products

제품 별 유형 정보 (CMS, Web, WAS, DB, SSH, FTP 등)

# python3 jok3r.py info --attack-profiles [서비스]

특정 서비스 점검 도구 내역 확인

 

 

4. Jok3r Toolbox 통해 점검에 사용되는 도구 확인 가능

# python3 jok3r.py toolbox --show-all

 

 

 

 

5. 점검 실행 명령어, Jok3r attack 사용법

   (기본 사용법) # python3 jok3r.py attack -t [대상] --add2db [Mission]

 

 

 

 

(허가 되지 않은 점검도구 활용 스캔은 법적 문제 소지가 있으니 주의!)

[데모 절차]

1. jok3r Attack 수행 

  # python3 jok3r.py attack -t [대상] --add2db [Mission]

 지정된 대상 포트에 해당되는 점검 도구가 실행되며, 개별로 실행 여부를 확인(Y/N)

 

 

 

 

2. Jok3r db에서 vulns 확인

  # python3 jok3r.py db

  > mission mayhem

  > vulns

  점검 결과 검출된 CVE 취약점 내역을 확인할 수 있음 (참고로 report로 html 문서로 브라우저에서 보는 게 편리함)

 

3. Jok3r db에서 results --search 특정문자

  > result --search [문자열]

  점검 결과 중 특정 문자열을 검색해서 표시

 

4. Jok3r Report (보고서 확인)

  > report

  [문제 발생] Docker 환경에서 Firefox 브라우저 실행 불가하여 에러 발생

  No protocol specified

  Unable to init server: Could not connect: Connection refused

  Error: cannot open display: :0

  [문제 해결] 컨테이너 내에서 HostOS의 Firefox 사용 허용하여 해결

  참고 글 : [도커 Firefox] Docker 컨테이너 환경에서 Firefox 에러    /    https://tech-dailylife.tistory.com/11 

 

   Firefox 브라우저에서 점검 리포트 표시   

 

 

 

 

 

(허가 되지 않은 점검도구 활용 스캔은 법적 문제 소지가 있으니 주의!)

[데모 결과]

데모 테스트에 해당하는 점검 결과만 나왔으며, 해당 Tool은 더 많은 범위를 테스트 할 수 있을 것으로 보임

1. 기본 리포트 페이지

   Services : 점검 대상에서 탐지된 서비스 결과 (서비스 이름, 버전, URL 등)

   Hosts : 점검 대상에서 탐지된 Hosts 결과 (OS 유형, 타입, 벤더, 버전 등)

   Web Interfaces : 점검 대상에서 탐지된 웹 인터페이스 결과 (웹 URL, 제목, 서비스 정보, 배너 정보 등)

   Products : 점검 대상에서 탐지된 제품 결과 (서비스, 포트, 타입, 이름, 버전 등)

   Vulnerabilities : 점검 대상에서 탐지된 취약점 결과 (CVE 취약점 내용 등)

 

 

 

 

2. 상세 리포트 페이지

  nmap-recon : nmap Tool을 사용한 Port 및 Service 스캔 (서비스 종류, 버전, 배너 정보 등 확인)

 

  load-balancing-detection : 로드 밸런싱 장치 관련 스캔

 

   waf-detection : WAF(웹 방화벽) 장비 여부 검증

 

 

  fingerprinting-multi-whatweb : 웹 서버 스캔

 

 

  fingerprinting-appserver : WAS 서버 스캔

 

  webdav-detection-msf : webdav 탐지

 

  fingerprinting-multi-wig : CMS 및 웹 서버/앱 스캔

 

 

  fingerprinting-cms-cmseek : cms 탐지

 

 

  crawling-fast : 웹 크롤링 통한 파일 및 디렉토리 탐색&분석

 

 

  vulners-lookup : 취약점 탐색 (API Key가 없어서 에러 후 종료)

 

  cvedetails-lookup : cve 기반 취약점 탐색

 

 

  default-creds-web-multi : 웹 서버 내에 인증 정보 탐색

 

 

   headers-analysis : HTTP 헤더 탐색

 

vulnscan-multi-nikto : 웹 취약점 탐색

 

http-put-check : HTTP PUT 메소드 지원 여부 확인

 

apache-optionsbleed-check : CVE-2017-9798 취약점 점검

 

shellshock-scan : 쉘 쇼크 취약점 점검

 

discovery-server : 웹 서버 경로 탐색

 

 

 

 

[주관적인 한줄 평] : 여러 Tool을 복합적으로 점검하는 데 활용할 수 있는 부분은 효과적이며, Docker 컨테이너로 제공해 편리한 사용이 가능함 / 취약점 결과를 수동으로 분석할 수 있는 역량이 필요함, 용량을 많이 쓰는 편

 

(허가 되지 않은 점검도구 활용 스캔은 법적 문제 소지가 있으니 주의!)

반응형

관련글 더보기

댓글 영역