
Jok3r v3 BETA 2 - 네트워크 및 웹 침투 테스트 자동화 프레임워크
.. raw:: html
.. image:: ./pictures/logo.png
.. raw:: html
.. image:: https://img.shields.io/badge/python-3.6-blue.svg :target: https://www.python.org/downloads/release/python-366/ :alt: Python 3.6
.. image:: https://readthedocs.org/projects/jok3r/badge/?version=latest :target: https://jok3r.readthedocs.io/en/latest/ :alt: Documentation ReadTheDocs
.. image:: https://img.shields.io/microbadger/image-size/koutto/jok3r.svg :target: https://hub.docker.com/r/koutto/jok3r/ :alt: Docker Size
.. image:: https://img.shields.io/docker/cloud/build/koutto/jok3r.svg :alt: Docker Build Status
.. raw:: html
경고: 프로젝트는 아직 v3 BETA 버전입니다. 현재 활발히 개발 중이며 버그가 존재할 수 있습니다.
많은 테스트가 진행 중입니다: https://github.com/koutto/jok3r/blob/master/tests/TESTS.rst 참조. 아이디어, 버그 리포트, 기여를 환영합니다!
.. contents:: :local: :depth: 1
Jok3r는 네트워크 인프라 및 웹 블랙박스 보안 테스트를 위한 침투 테스터 지원을 목표로 하는 Python3 CLI 애플리케이션입니다.
목표는 네트워크/웹 침투 테스트 중 가능한 많은 보안 테스트를 자동화하여 빠르게 로우 행잉 프루트 (low-hanging fruits) 취약점을 식별하고, 더 흥미롭고 까다로운 부분에 더 많은 시간을 할애할 수 있도록 시간을 절약하는 것입니다!
이는 일반적인 네트워크 서비스를 대상으로 하는 다양한 오픈소스 해킹 도구/스크립트(여러 출처)가 존재하며, 이들을 사용하여 핑거프린팅부터 익스플로잇까지 다양한 작업을 수행할 수 있다는 관찰에 기반합니다. 따라서 Jok3r의 아이디어는 이러한 오픈소스 도구를 지능적으로 결합하여 더 관련성 높은 결과를 얻는 것입니다.
.. image:: pictures/video-01.png :target: https://www.youtube.com/watch?v=FlbeBj5FPtI
.. image:: pictures/video-02.png :target: https://www.youtube.com/watch?v=z4cf_8EQ59Q
.. image:: ./pictures/visio/architecture/jok3r-architecture.png :alt: Jok3r 아키텍처
.. image:: ./pictures/visio/flowchart/jok3r-flow-chart.svg :width: 700px :alt: Jok3r 흐름도
중요: 권장 방법은 Docker 이미지를 풀(pull)하는 것입니다. 그러면 종속성 문제 및 도구 상자의 다양한 해킹 도구 설치에 대한 걱정이 없습니다. 모든 것은 Docker Hub에서 제공되는 Docker 컨테이너에서 테스트되었습니다!
.. image:: https://raw.githubusercontent.com/koutto/jok3r/master/pictures/docker-logo.png
Docker 이미지는 Docker Hub에서 사용 가능하며 업데이트 시 자동으로 다시 빌드됩니다: https://hub.docker.com/r/koutto/jok3r/. 공식 Kali Linux Docker 이미지(kalilinux/kali-linux-docker)를 기반으로 합니다.
.. image:: https://images.microbadger.com/badges/image/koutto/jok3r.svg :target: https://microbadger.com/images/koutto/jok3r :alt: Docker 이미지 크기
Jok3r Docker 이미지 풀:
.. code-block:: console
sudo docker pull koutto/jok3r
새 Docker 컨테이너 실행:
.. code-block:: console
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
참고:
-e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix는 Docker 컨테이너에서 GUI 애플리케이션을 시작할 수 있도록 필요합니다(예: 보고서를 읽기 위해 웹 브라우저 열기). 호스트에서 xhost +local:root를 실행해야 합니다.
--shm-size 2g는 공유 메모리 크기를 늘리기 위해 사용되며, Docker 컨테이너에서 보고서를 읽을 때 웹 브라우저 충돌을 방지하기 위해 필요합니다.
--net=host는 호스트 인터페이스를 공유하기 위해 필요합니다. 역연결(예: RCE 테스트 시 컨테이너에 핑, 리버스 셸 얻기)에 필요합니다.
중지된 컨테이너 다시 실행:
.. code-block:: console
sudo docker start -i jok3r-container
컨테이너 내부에서 여러 셸 열기:
.. code-block:: console
sudo docker exec -it jok3r-container bash
업데이트하려면 Docker Hub에서 최신 Docker 이미지를 풀(pull)하고 이 새 이미지로 새 컨테이너를 실행하기만 하면 됩니다:
.. code-block:: console
sudo docker pull koutto/jok3r
sudo docker run -i -t --name jok3r-container-updated -w /root/jok3r -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --shm-size 2g --net=host koutto/jok3r
참고: 물론 이전 컨테이너에서 sudo docker cp 명령을 사용하여 로컬 데이터베이스 local.db(저장된 미션, 대상 등 포함)를 검색할 수 있습니다.
.. code-block:: console
python3 jok3r.py toolbox --show-all
.. code-block:: console
python3 jok3r.py toolbox --install-all --auto
.. code-block:: console
python3 jok3r.py toolbox --update-all
.. code-block:: console
python3 jok3r.py toolbox --update-all --auto
.. code-block:: console
python3 jok3r.py info --services
.. code-block:: console
python3 jok3r.py info --checks <service>
.. code-block:: console
python3 jok3r.py info --attack-profiles <service>
.. code-block:: console
python3 jok3r.py info --products
로컬 데이터베이스에 새 미션 생성:
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission -a mayhem
[+] 미션 "mayhem"이 성공적으로 추가되었습니다.
[*] 선택된 미션은 이제 mayhem입니다.
jok3rdb[mayhem]>
단일 대상:
.. code-block:: console
python3 jok3r.py attack -t https://www.example.com/ --add2db mayhem
.. code-block:: console
python3 jok3r.py attack -t 192.168.1.42:1433 -s mssql --add2db mayhem --fast
.. code-block:: console
python3 jok3r.py attack -t 192.168.1.142:21 -s ftp --cat-only recon,vulnscan --add2db mayhem
여러 대상:
.. code-block:: console
python3 jok3r.py attack -m mayhem --profile red-team --fast
.. code-block:: console
python3 jok3r.py attack -m mayhem --fast
.. code-block:: console
python3 jok3r.py attack -m mayhem -f "port=21,2121;service=ftp" --fast
.. code-block:: console