
Jok3r v3 BETA 2 - 네트워크 및 웹 침투 테스트 자동화 프레임워크
.. 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 컨테이너에서 테스트되었습니다!
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
python3 jok3r.py attack -m mayhem -f "port=2121;service=ftp" -f "ip=192.168.1.42;service=http"
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission mayhem
[*] 선택된 미션은 이제 mayhem입니다.
.. code-block:: console
jok3rdb[mayhem]> nmap results.xml
.. code-block:: console
jok3rdb[mayhem]> shodan ip
.. code-block:: console
jok3rdb[mayhem]> services
jok3rdb[mayhem]> hosts
jok3rdb[mayhem]> products
jok3rdb[mayhem]> creds
.. code-block:: console
jok3rdb[mayhem]> results --search '<search_string>'
.. code-block:: console
jok3rdb[mayhem]> vulns
.. code-block:: console
jok3rdb[mayhem]> report
범위에 여러 서버가 있는 침투 테스트를 시작한다고 가정합니다. 다음은 JoK3r의 일반적인 사용 예입니다:
범위 내 서버에 대해 Nmap 스캔을 실행합니다.
로컬 데이터베이스에 새 미션("mayhem"이라고 가정)을 생성합니다:
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission -a mayhem
[+] 미션 "mayhem"이 성공적으로 추가되었습니다.
[*] 선택된 미션은 이제 mayhem입니다.
jok3rdb[mayhem]>
3. Nmap 스캔 결과를 데이터베이스로 가져옵니다:
.. code-block:: console
jok3rdb[mayhem]> nmap results.xml
4. 그런 다음 범위 내 모든 서비스 및 호스트에 대한 빠른 개요를 확인하고, 주석을 추가하거나, 대상에 대해 이미 알고 있는 내용(회색 상자 침투 테스트)이 있으면 자격 증명을 추가하는 등의 작업을 수행할 수 있습니다.
.. code-block:: console
jok3rdb[mayhem]> hosts
[...]
jok3rdb[mayhem]> services
[...]
5. 이제 범위 내 일부 대상에 대해 보안 검사를 실행할 수 있습니다. 예를 들어, 범위 내 모든 Java-RMI 서비스에 대한 검사를 실행하려면 다음 명령을 실행합니다:
.. code-block:: console
python3 jok3r.py attack -m mayhem -f "service=java-rmi" --fast
6. 전체 결과는 보안 검사 실행 중 실시간으로 확인하거나 나중에 데이터베이스에서 다음 명령을 사용하여 확인할 수 있습니다:
.. code-block:: console
jok3rdb[mayhem]> results
7. 언제든지 보안 검사 출력에서 자동으로 추출된 데이터(탐지된 제품, 자격 증명 및 취약점)를 표시할 수 있습니다.
.. code-block:: console
jok3rdb[mayhem]> products
[...]
jok3rdb[mayhem]> creds
[...]
jok3rdb[mayhem]> vulns
[...]
8. 언제든지 미션 범위 내 모든 대상의 요약, HTTP 서비스에 대한 웹 페이지 스크린샷 및 실행된 모든 보안 검사의 전체 출력이 포함된 HTML 보고서를 생성할 수 있습니다:
.. code-block:: console
jok3rdb[mayhem]> report
문서 작성 진행 중...
업데이트: 2019-07-12
구현해야 할 검사가 많이 남아 있으며 서비스를 추가해야 합니다!! 진행 중 ...
AJP (기본 8009/tcp)_FTP (기본 21/tcp)_HTTP (기본 80/tcp)_Java-RMI (기본 1099/tcp)_JDWP (기본 9000/tcp)_MSSQL (기본 1433/tcp)_MySQL (기본 3306/tcp)_Oracle (기본 1521/tcp)_PostgreSQL (기본 5432/tcp)_RDP (기본 3389/tcp)_SMB (기본 445/tcp)_SMTP (기본 25/tcp)_SNMP (기본 161/udp)_SSH (기본 22/tcp)_Telnet (기본 21/tcp)_VNC (기본 5900/tcp)_.. code-block:: console
+------------------------+--------------+--------------------------------------------------------------------------+-------------------+
| 이름 | 범주 | 설명 | 사용 도구 |
+------------------------+--------------+--------------------------------------------------------------------------+-------------------+
| nmap-recon | recon | Nmap AJP 스크립트를 사용한 정찰 | nmap |
| tomcat-version | recon | AJP를 통한 Tomcat 버전 핑거프린팅 | ajpy |
| vulners-lookup | vulnlookup | Vulners.com에서 취약점 조회 (제품 이름+버전 필요) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Cvedetails.com에서 취약점 조회 (제품 이름+버전 필요) | cvedetails-lookup |
| default-creds-tomcat | defaultcreds | AJP를 통한 Tomcat 애플리케이션 관리자 기본 자격 증명 확인 | ajpy |
| deploy-webshell-tomcat | exploit | AJP를 통해 Tomcat에 웹쉘 배포 및 애플리케이션 목록 표시 | ajpy |
+------------------------+--------------+--------------------------------------------------------------------------+-------------------+
.. code-block:: console
+-------------------+--------------+--------------------------------------------------------------------------+-------------------+
| 이름 | 범주 | 설명 | 사용 도구 |
+-------------------+--------------+--------------------------------------------------------------------------+-------------------+
| nmap-recon | recon | Nmap FTP 스크립트를 사용한 정찰 | nmap |
| ftpmap-scan | vulnscan | FTP 서버 소프트웨어/버전 식별 및 알려진 취약점 확인 | ftpmap |
| vulners-lookup | vulnlookup | Vulners.com에서 취약점 조회 (제품 이름+버전 필요) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Cvedetails.com에서 취약점 조회 (제품 이름+버전 필요) | cvedetails-lookup |
| default-creds | defaultcreds | FTP 서버에서 기본/일반 자격 증명 확인 | hydra |
| bruteforce-creds | bruteforce | FTP 계정 무차별 대입 | hydra |
| ftp-dirlisting | postexploit | FTP 서버의 디렉터리/파일 목록화 (maxdepth=4) | lftp |
+-------------------+--------------+--------------------------------------------------------------------------+-------------------+
.. code-block:: console+------------------------------------------+--------------+------------------------------------------------------------------------------------------------+-------------------------------+ | Name | Category | Description | Tool used | +------------------------------------------+--------------+------------------------------------------------------------------------------------------------+-------------------------------+ | nmap-recon | recon | Nmap HTTP 스크립트를 사용한 정찰 | nmap | | load-balancing-detection | recon | HTTP 로드 밸런서 탐지 | halberd | | waf-detection | recon | 웹사이트를 보호하는 WAF 제품 식별 및 지문 추출 | wafw00f | | waf-detection2 | recon | 웹사이트를 보호하는 WAF 제품 식별 및 지문 추출 | identifywaf | | cloudmare-recon | recon | CloudFlare 실제 IP 캐처 | cloudmare | | fingerprinting-multi-whatweb | recon | CMS, 블로그 플랫폼, JS 라이브러리, 웹 서버 식별 | whatweb | | fingerprinting-appserver | recon | 애플리케이션 서버 지문 추출 (JBoss, ColdFusion, Weblogic, Tomcat, Railo, Axis2, Glassfish) | clusterd | | webdav-detection-msf | recon | 웹서버에서 WebDAV 탐지 | metasploit | | fingerprinting-multi-wig | recon | 여러 CMS 및 웹/애플리케이션 서버 지문 추출 | wig | | fingerprinting-cms-cmseek | recon | CMS 탐지 (130개 이상 지원), Drupal 버전 탐지, Wordpress/Joomla 고급 스캔 | cmseek | | fingerprinting-cms-fingerprinter | recon | CMS 버전 정밀 지문 추출 (파일 체크섬 기반) | fingerprinter | | fingerprinting-drupal | recon | Drupal 7/8 지문 추출: 사용자, 노드, 기본 파일, 모듈, 테마 열거 | drupwn | | fingerprinting-domino | recon | IBM/Lotus Domino 소프트웨어 지문 추출 | domiowned | | crawling-fast | recon | 웹사이트 빠르게 크롤링, 흥미로운 파일/디렉터리 분석 | dirhunt | | crawling-fast2 | recon | 웹사이트 크롤링 및 URL, 파일, 인텔, 엔드포인트 추출 | photon | | vulners-lookup | vulnlookup | Vulners.com에서 취약점 조회 (언어, 프레임워크, jslib, cms, 서버, 앱서버) | vulners-lookup | | cvedetails-lookup | vulnlookup | Cvedetails.com에서 취약점 조회 (언어, 프레임워크, jslib, cms, 서버, 앱서버) | cvedetails-lookup | | default-creds-web-multi | defaultcreds | 다양한 웹 인터페이스에서 기본 자격 증명 확인 | changeme | | default-creds-appserver | defaultcreds | 앱서버에서 기본/일반 자격 증명 확인 | web-brutator | | ssl-check | vulnscan | SSL/TLS 구성 확인 | testssl | | headers-analysis | vulnscan | HTTP 헤더 확인 | h2t | | vulnscan-multi-nikto | vulnscan | 여러 웹 취약점/오구성 확인 | nikto | | webdav-scan-davscan | vulnscan | HTTP WebDAV 스캔 | davscan | | webdav-internal-ip-disclosure | vulnscan | WebDAV 내부 IP 노출 확인 | metasploit | | webdav-website-content | vulnscan | WebDAV를 통해 콘텐츠를 노출하는 웹서버 탐지 | metasploit | | http-put-check | vulnscan | 위험한 HTTP PUT 메서드 지원 탐지 | metasploit | | apache-optionsbleed-check | vulnscan | Apache httpd의 Optionsbleed 버그 테스트 (CVE-2017-9798) | optionsbleed | | shellshock-scan | vulnscan | 웹 서버가 Shellshock (CVE-2014-6271)에 취약한지 탐지 | shocker | | iis-shortname-scan | vulnscan | IIS 짧은 파일명(8.3) 노출 취약점 스캔 | iis-shortname-scanner | | iis-internal-ip-disclosure | vulnscan | IIS 내부 IP 노출 확인 | metasploit | | tomcat-user-enum | vulnscan | Tomcat 4.1.0-4.1.39, 5.5.0-5.5.27 및 6.0.0-6.0.18에서 사용자 열거 | metasploit | | jboss-vulnscan-multi | vulnscan | JBoss 애플리케이션 서버에서 여러 취약점 스캔 | metasploit | | jboss-status-infoleak | vulnscan | JBoss 상태 서블릿을 조회하여 민감 정보 수집 (JBoss 4.0, 4.2.2 및 4.2.3) | metasploit | | jenkins-infoleak | vulnscan | 인증 없이 원격 Jenkins-CI 설치 열거 | metasploit | | cms-multi-vulnscan-cmsmap | vulnscan | CMS Wordpress, Drupal, Joomla의 취약점 확인 | cmsmap | | wordpress-vulnscan | vulnscan | CMS Wordpress의 취약점 스캔 | wpscan | | wordpress-vulnscan2 | vulnscan | CMS Wordpress의 취약점 스캔 | wpseku | | joomla-vulnscan | vulnscan | CMS Joomla의 취약점 스캔 | joomscan | | joomla-vulnscan2 | vulnscan | CMS Joomla의 취약점 스캔 | joomlascan | | joomla-vulnscan3 | vulnscan | CMS Joomla의 취약점 스캔 | joomlavs | | drupal-vulnscan | vulnscan | CMS Drupal의 취약점 스캔 | droopescan | | magento-vulnscan | vulnscan | CMS Magento의 오구성 확인 (부분적으로 작동) | magescan | | silverstripe-vulnscan | vulnscan | CMS Silverstripe의 취약점 스캔 | droopescan | | vbulletin-vulnscan | vulnscan | CMS vBulletin의 취약점 스캔 | vbscan | | liferay-vulnscan | vulnscan | CMS Liferay의 취약점 스캔 | liferayscan | | angularjs-csti-scan | vulnscan | AngularJS 클라이언트 측 템플릿 인젝션 스캔 | angularjs-csti-scanner | | jquery-fileupload-rce-cve2018-9206 | exploit | jQuery File Upload 위젯 <= 9.22의 임의 파일 업로드 익스플로잇 (CVE-2018-9206) | jqshell | | struts2-rce-cve2017-5638 | exploit | Apache Struts2 Jakarta Multipart 파서 RCE 익스플로잇 (CVE-2017-5638) | jexboss | | struts2-rce-cve2017-9791 | exploit | Apache Struts2 Plugin Showcase OGNL RCE 익스플로잇 (CVE-2017-9791) | metasploit | | struts2-rce-cve2017-9805 | exploit | Apache Struts2 REST Plugin XStream RCE 익스플로잇 (CVE-2017-9805) | struts-pwn-cve2017-9805 | | struts2-rce-cve2018-11776 | exploit | Apache Struts2 오구성 RCE 익스플로잇 (CVE-2018-11776) | struts-pwn-cve2018-11776 | | rails-rce-cve2019-5420 | exploit | Ruby on Rails에서 파일 콘텐츠 노출 (CVE-2019-5418) + RCE (CVE-2019-5420) 익스플로잇 | jok3r-pocs | | appserver-auth-bypass | exploit | 앱서버에서 인증 우회 익스플로잇 시도 | clusterd | | tomcat-rce-cve2017-12617 | exploit | Apache Tomcat JSP 업로드 우회 RCE 익스플로잇 (CVE-2017-12617) | jok3r-pocs | | jboss-misconfig-exploit | exploit | JBoss 앱서버 사전 인증 상태에서 오구성 익스플로잇 시도 (jmx|web|admin-console,JMXInvokerServlet) | jexboss | | jboss-path-traversal-cve2014-7816 | exploit | Jboss Wildfly 8.1.0에서 경로 탐색 익스플로잇 (Windows 전용) (CVE-2014-7816) | metasploit | | jboss-deserialize-cve2015-7501 | exploit | JBoss Deserialize RCE 익스플로잇 (CVE-2015-7501) | jok3r-pocs | | glassfish-path-traversal-cve2017-1000028 | exploit | Glassfish <= 4.1에서 경로 탐색 익스플로잇 (CVE-2017-1000028) | metasploit | | jenkins-unauthenticated-console | exploit | 인증되지 않은 Jenkins-CI 스크립트 콘솔 탐지 및 익스플로잇 | metasploit | | jenkins-cli-deserialize-cve2015-8103 | exploit | Jenkins CLI RMI에서 Java 역직렬화 (인증 없음) 익스플로잇 (CVE-2015-8103) | jexboss | | jenkins-cli-deserialize2-cve2015-8103 | exploit | Jenkins CLI RMI에서 Java 역직렬화 (인증 없음) 익스플로잇 (CVE-2015-8103) | jok3r-pocs | | jenkins-groovy-xml-rce-cve2016-0792 | exploit | Jenkins Groovy XML RCE 익스플로잇 (CVE-2016-0792) | jok3r-pocs | | jenkins-deserialize-cve2017-1000353 | exploit | Jenkins Java Deserialize RCE 익스플로잇 (CVE-2017-1000353) | jok3r-pocs | | jenkins-rce-cve2018-1000861 | exploit | 메서드 호출을 통한 Jenkins 인증 없음 RCE 익스플로잇 (CVE-2018-1000861) | jok3r-pocs | | weblogic-t3-open-jdbc-datasource | exploit | Weblogic T3(s)를 통해 사용 가능한 JNDI 목록화 및 열린 JDBC 데이터소스를 통해 SQL 셸 획득 시도 | jndiat | | weblogic-t3-deserialize-cve2015-4852 | exploit | Weblogic T3(s)에서 Java 역직렬화 (인증 없음) 익스플로잇 (CVE-2015-4852) | jok3r-pocs | | weblogic-t3-deserialize-cve2016-3510 | exploit | Weblogic T3에서 Java 역직렬화 (인증 없음) 익스플로잇 (CVE-2016-3510) | jok3r-pocs | | weblogic-t3-deserialize-cve2017-3248 | exploit | Weblogic T3(s)에서 Java 역직렬화 (인증 없음) 익스플로잇 (CVE-2017-3248) | exploit-weblogic-cve2017-3248 | | weblogic-t3-deserialize-cve2018-2628 | exploit | Weblogic T3(s)에서 Java 역직렬화 (인증 없음) 익스플로잇 (CVE-2018-2628) | jok3r-pocs | | weblogic-t3-deserialize-cve2018-2893 | exploit | Weblogic T3(s)에서 Java 역직렬화 (인증 없음) 익스플로잇 (CVE-2018-2893) | jok3r-pocs | | weblogic-rce-cve2018-2894 | exploit | 웹셸 배포를 허용하는 Weblogic 취약점 익스플로잇 (CVE-2018-2894) | jok3r-pocs | | weblogic-wls-wsat-cve2017-10271 | exploit | Weblogic에서 WLS-WSAT (인증 없음) 익스플로잇 (CVE-2017-10271) | jok3r-pocs | | websphere-deserialize-cve2015-7450 | exploit | Websphere에서 Java 역직렬화 (인증 없음) 익스플로잇 (CVE-2015-7450) | jok3r-pocs | | coldfusion-xxe-cve2009-3960 | exploit | Coldfusion 7/8/9에서 XXE 익스플로잇 (CVE-2009-3960) | metasploit | | coldfusion-path-traversal-cve2010-2861 | exploit | Coldfusion에서 경로 탐색 익스플로잇 (CVE-2010-2861) | metasploit | | coldfusion-path-traversal-cve2013-3336 | exploit | Coldfusion 9/10에서 경로 탐색 익스플로잇 및 자격 증명 추출 (CVE-2013-3336) | metasploit | | iis-webdav-win2003-bof | exploit | Windows 2003 R2에서 IIS 6.0의 WebDAV 버퍼 오버플로우 익스플로잇 (CVE-2017-7269) | metasploit | | drupal-sqli-drupalgeddon | exploit | Drupalgeddon SQLi를 이용하여 CMS Drupal 7.x <= 7.31에 관리자 추가 익스플로잇 (CVE-2014-3704) | jok3r-pocs | | drupal-rce-drupalgeddon2 | exploit | CMS Drupal 7.x < 7.58 및 8.x < 8.1에서 Drupalgeddon2 RCE 익스플로잇 (CVE-2018-7600) | drupwn | | drupal-rce-rest-cve2019-6340 | exploit | CMS Drupal 8.5.x < 8.5.11 및 8.6.x < 8.6.10에서 REST RCE 익스플로잇 (CVE-2019-6340) | drupwn | | joomla-comfields-sqli-rce | exploit | Joomla >= 3.7.0의 com_fields 컴포넌트에서 SQL 인젝션을 통한 RCE 익스플로잇 (CVE-2017-8917) | metasploit | | bruteforce-htaccess | bruteforce | 401 Unauthorized 반환 시 HTTP 인증(htaccess) 무차별 대입 | web-brutator | | bruteforce-appserver | bruteforce | 앱서버에서 인증 무차별 대입 (기본 잠금 없을 경우) | web-brutator | | bruteforce-domino | bruteforce | IBM/Lotus Domino 소프트웨어에서 인증 무차별 대입 | domiowned | | bruteforce-wordpress | bruteforce | Wordpress 계정 무차별 대입 (탐지된 사용자 이름 필요) | wpseku | | bruteforce-joomla | bruteforce | Joomla 'admin' 계정 무차별 대입 | xbruteforcer | | bruteforce-drupal | bruteforce | Drupal 'admin' 계정 무차별 대입 | xbruteforcer | | bruteforce-opencart | bruteforce | Opencart 'admin' 계정 무차별 대입 | xbruteforcer | | bruteforce-magento | bruteforce | Magento 'admin' 계정 무차별 대입 | xbruteforcer | | discovery-server | discovery | 탐지된 웹/애플리케이션 서버에 특화된 웹 경로 무차별 대입 | dirsearch | | discovery-cms | discovery | 탐지된 CMS에 특화된 웹 경로 무차별 대입 | dirsearch | | discovery-language-directories | discovery | 탐지된 언어 및 디렉터리에 특화된 웹 경로 무차별 대입 | dirsearch | | discovery-general | discovery | 구성, 데이터베이스, 정적 파일, 기타 관련 웹 경로 무차별 대입 | dirsearch | | appserver-postauth-deploy | postexploit | 앱서버에 웹셸 배포 (자격 증명 필요) | clusterd | | wordpress-shell-upload | postexploit | Wordpress에 셸 업로드 (관리자 자격 증명 필요) | wpforce | +------------------------------------------+--------------+------------------------------------------------------------------------------------------------+-------------------------------+
.. code-block:: console+--------------------------------+--------------+-------------------------------------------------------------------------------------------------------+------------+ | 이름 | 범주 | 설명 | 사용된 도구 | +--------------------------------+--------------+-------------------------------------------------------------------------------------------------------+------------+ | nmap-recon | recon | Java-RMI 서비스에서 모든 객체를 덤프하려고 시도합니다 | nmap | | rmi-enum | recon | RMI 서비스 열거 | barmie | | jmx-info | recon | JMX 및 MBean 서버에 대한 정보 가져오기 | twiddle | | jmx-default-creds | defaultcreds | JMX에서 기본/일반 자격 증명 확인 | jmxbf | | jmx-bruteforce-creds | bruteforce | JMX 레지스트리에 연결하기 위한 자격 증명 무차별 대입 | jmxbf | | exploit-rmi-default-config | exploit | RMI 레지스트리의 기본 구성을 악용하여 원격 URL에서 클래스를 로드합니다(JMX에는 작동하지 않음) | metasploit | | exploit-jmx-insecure-config | exploit | JMX 안전하지 않은 구성 악용. 인증 비활성화: 취약해야 함. 인증 활성화: 약한 구성인 경우 취약 | metasploit | | jmx-auth-disabled-deploy-class | exploit | 인증이 비활성화된 JMX 서비스에 악성 MBean 배포(msf 모듈의 대안) | sjet | | tomcat-jmxrmi-deserialize | exploit | Tomcat에서 JMX-RMI 역직렬화 악용(CVE-2016-3427, CVE-2016-8735), JmxRemoteLifecycleListener 필요 | jexboss | | rmi-deserialize-all-payloads | exploit | 모든 ysoserial 페이로드를 사용하여 Java RMI 레지스트리에 대해 Java 역직렬화 악용 시도 | ysoserial | | tomcat-jmxrmi-manager-creds | postexploit | Tomcat JMX에서 Manager 자격 증명 검색(JMX에 인증 비활성화 또는 자격 증명이 알려져 있어야 함) | jmxploit | +--------------------------------+--------------+-------------------------------------------------------------------------------------------------------+------------+
.. code-block:: console
+------------+----------+-----------------------------------------------------+-----------------+
| Name | Category | Description | Tool used |
+------------+----------+-----------------------------------------------------+-----------------+
| nmap-recon | recon | Recon using Nmap JDWP scripts | nmap |
| jdwp-rce | exploit | Gain RCE on JDWP service (show OS/Java info as PoC) | jdwp-shellifier |
+------------+----------+-----------------------------------------------------+-----------------+
.. code-block:: console
+-------------------------+--------------+--------------------------------------------------------------------------------------------------------------+-------------------+
| Name | Category | Description | Tool used |
+-------------------------+--------------+--------------------------------------------------------------------------------------------------------------+-------------------+
| nmap-recon | recon | Recon using Nmap MSSQL scripts | nmap |
| mssqlinfo | recon | Get technical information about a remote MSSQL server (use TDS protocol and SQL browser Server) | msdat |
| vulners-lookup | vulnlookup | Vulnerabilities lookup on Vulners.com (requires product name+version) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Vulnerabilities lookup on Cvedetails.com (requires product name+version) | cvedetails-lookup |
| default-creds | defaultcreds | Check default/common credentials on MSSQL server | msdat |
| bruteforce-creds | bruteforce | Bruteforce MSSQL accounts ("sa" or known users) | msdat |
| postauth-audit | postexploit | Check permissive privileges, methods allowing command execution, weak accounts after authenticating on MSSQL | msdat |
| postauth-rce-xpcmdshell | postexploit | Try to execute system command via xp_cmdshell (whoami && net user) | msdat |
+-------------------------+--------------+--------------------------------------------------------------------------------------------------------------+-------------------+
.. code-block:: console
+----------------------------------+--------------+--------------------------------------------------------------------------+-------------------+
| Name | Category | Description | Tool used |
+----------------------------------+--------------+--------------------------------------------------------------------------+-------------------+
| nmap-recon | recon | Recon using Nmap MySQL scripts | nmap |
| vulners-lookup | vulnlookup | Vulnerabilities lookup on Vulners.com (requires product name+version) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Vulnerabilities lookup on Cvedetails.com (requires product name+version) | cvedetails-lookup |
| mysql-auth-bypass-cve2012-2122 | exploit | Exploit password bypass vulnerability in MySQL - CVE-2012-2122 | metasploit |
| default-creds | defaultcreds | Check default/common credentials on MySQL server | hydra |
| bruteforce-creds | bruteforce | Bruteforce MySQL accounts ("root" or known users) | hydra |
| mysql-hashdump | postexploit | Retrieve usernames and password hashes from MySQL database (req. creds) | metasploit |
| mysql-interesting-tables-columns | postexploit | Search for interesting tables and columns in database | jok3r-scripts |
+----------------------------------+--------------+--------------------------------------------------------------------------+-------------------+
.. code-block:: console
+--------------------------+--------------+--------------------------------------------------------------------------------------------------------------+-------------------+
| Name | Category | Description | Tool used |
+--------------------------+--------------+--------------------------------------------------------------------------------------------------------------+-------------------+
| tnscmd | recon | Connect to TNS Listener and issue commands Ping, Status, Version | odat |
| vulners-lookup | vulnlookup | Vulnerabilities lookup on Vulners.com (requires product name+version) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Vulnerabilities lookup on Cvedetails.com (requires product name+version) | cvedetails-lookup |
| tnspoisoning | vulnscan | Test if TNS Listener is vulnerable to TNS Poisoning (CVE-2012-1675) | odat |
| default-creds | defaultcreds | Check default/common credentials on Oracle server | odat |
| bruteforce-creds | bruteforce | Bruteforce Oracle accounts (might block some accounts !) | odat |
| postauth-audit | postexploit | Check for privesc vectors, config leading to command execution, weak accounts after authenticating on Oracle | odat |
| search-columns-passwords | postexploit | Search for columns storing passwords in the database | odat |
+--------------------------+--------------+--------------------------------------------------------------------------------------------------------------+-------------------+
.. code-block:: console
+------------------------------------+--------------+-------------------------------------------------------------------------------+-------------------+
| Name | Category | Description | Tool used |
+------------------------------------+--------------+-------------------------------------------------------------------------------+-------------------+
| vulners-lookup | vulnlookup | Vulnerabilities lookup on Vulners.com (requires product name+version) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Vulnerabilities lookup on Cvedetails.com (requires product name+version) | cvedetails-lookup |
| dbname-flag-injection-cve2013-1899 | vulnscan | Check for command-line flag injection on PostgreSQL 9.0|1|2 (CVE-2013-1899) | metasploit |
| default-creds | defaultcreds | Check default/common credentials on PostgreSQL server | hydra |
| bruteforce-creds | bruteforce | Bruteforce PostgreSQL accounts | hydra |
| postauth-rce-cve2019-9193 | postexploit | Try to execute system command post-authentication by exploiting CVE-2019-9193 | psql |
+------------------------------------+--------------+-------------------------------------------------------------------------------+-------------------+
.. code-block:: console
+----------+----------+-----------------------------------------------------------------------+------------+
| Name | Category | Description | Tool used |
+----------+----------+-----------------------------------------------------------------------+------------+
| ms12-020 | vulnscan | Check for MS12-020 RCE vulnerability (any Windows before 13 Mar 2012) | metasploit |
+---------+----------+-----------------------------------------------------------------------+------------+
.. code-block:: console
+-----------------------------------+-------------+----------------------------------------------------------------------------------------------+------------+
| Name | Category | Description | Tool used |
+-----------------------------------+-------------+----------------------------------------------------------------------------------------------+------------+
| nmap-recon | recon | Recon using Nmap SMB scripts and check for vulns (MS17-010, MS10-061, MS10-054, MS08-067...) | nmap |
| anonymous-enum-smb | recon | Attempt to perform enum (users, shares...) without account | nullinux |
| detect-ms17-010 | vulnscan | Detect MS17-010 SMB RCE | metasploit |
| samba-rce-cve2015-0240 | vulnscan | Detect RCE vuln (CVE-2015-0240) in Samba 3.5.x and 3.6.X | metasploit |
| exploit-rce-ms08-067 | exploit | Exploit for RCE vuln MS08-067 on SMB | metasploit |
| exploit-rce-ms17-010-eternalblue | exploit | Exploit for RCE vuln MS17-010 EternalBlue on SMB | metasploit |
| exploit-sambacry-rce-cve2017-7494 | exploit | Exploit for SambaCry RCE on Samba <= 4.5.9 (CVE-2017-7494) (no creds if guest account) | metasploit |
| auth-enum-smb | postexploit | Authenticated enumeration (users, groups, shares) on SMB | nullinux |
| auth-shares-perm | postexploit | Get R/W permissions on SMB shares | smbmap |
| smb-exec | postexploit | Attempt to get a remote shell (psexec-like, requires Administrator creds) | impacket |
+-----------------------------------+-------------+----------------------------------------------------------------------------------------------+------------+
.. code-block:: console
+----------------+----------+--------------------------------------------------------------------------------------------+----------------+
| Name | Category | Description | Tool used |
+----------------+----------+--------------------------------------------------------------------------------------------+----------------+
| smtp-cve | vulnscan | Scan for vulnerabilities (CVE-2010-4344, CVE-2011-1720, CVE-2011-1764, open-relay) on SMTP | nmap |
| smtp-user-enum | vulnscan | Attempt to perform user enumeration via SMTP commands EXPN, VRFY and RCPT TO | smtp-user-enum |
+----------------+----------+--------------------------------------------------------------------------------------------+----------------+
.. code-block:: console
+--------------------------+-------------+---------------------------------------------------------------------+------------+
| Name | Category | Description | Tool used |
+--------------------------+-------------+---------------------------------------------------------------------+------------+
| common-community-strings | bruteforce | Check common community strings on SNMP server | metasploit |
| snmpv3-bruteforce-creds | bruteforce | Bruteforce SNMPv3 credentials | snmpwn |
| enumerate-info | postexploit | Enumerate information provided by SNMP (and check for write access) | snmp-check |
+--------------------------+-------------+---------------------------------------------------------------------+------------+
.. code-block:: console
+----------------------------------+--------------+--------------------------------------------------------------------------------------------+------------------------------+
| Name | Category | Description | Tool used |
+----------------------------------+--------------+--------------------------------------------------------------------------------------------+------------------------------+
| vulns-algos-scan | vulnscan | Scan supported algorithms and security info on SSH server | ssh-audit |
| vulners-lookup | vulnlookup | Vulnerabilities lookup on Vulners.com (requires product name+version) | vulners-lookup |
| cvedetails-lookup | vulnlookup | Vulnerabilities lookup on Cvedetails.com (requires product name+version) | cvedetails-lookup |
| user-enum-timing-attack | exploit | Try to perform OpenSSH (versions <= 7.2 and >= 5.*) user enumeration timing attack OpenSSH | osueta |
| user-enum-cve2018-15473 | exploit | Attempt to exploit OpenSSH <= 7.7 user enumeration (CVE-2018-15473) | ssh-user-enum-cve-2018-15473 |
| auth-bypass-libssh-cve2018-10933 | exploit | Attempt authentication bypass (CVE-2018-10933) in libssh 0.6+ (fixed in 0.7.6 and 0.8.4) | libssh-scanner |
| default-ssh-key | defaultcreds | Try to authenticate on SSH server using known SSH keys | changeme |
| default-creds | defaultcreds | Check default/common credentials on SSH | hydra |
| bruteforce-creds | bruteforce | Bruteforce SSH accounts | hydra |
+----------------------------------+--------------+--------------------------------------------------------------------------------------------+------------------------------+
.. code-block:: console
+-------------------------+------------+----------------------------------------------------------------------------------+-----------+
| Name | Category | Description | Tool used |
+-------------------------+------------+----------------------------------------------------------------------------------+-----------+
| nmap-recon | recon | Recon using Nmap Telnet scripts | nmap |
| default-creds | bruteforce | Check default credentials on Telnet (dictionary from https://cirt.net/passwords) | patator |
| bruteforce-root-account | bruteforce | Bruteforce "root" account on Telnet | patator |
+-------------------------+------------+----------------------------------------------------------------------------------+-----------+
.. code-block:: console+-----------------+------------+-------------------------------------------------------------------------------------------------+----------------+ | 이름 | 범주 | 설명 | 사용 도구 | +-----------------+------------+-------------------------------------------------------------------------------------------------+----------------+ | nmap-recon | 정찰 | Nmap VNC 스크립트를 사용한 정찰 | nmap | | vuln-lookup | 취약점 스캔| Vulners.com(NSE 스크립트) 및 exploit-db.com에서 취약점 조회 (많은 오탐지가 있습니다!) | vuln-databases | | bruteforce-pass | 무차별 대입| VNC 비밀번호 무차별 대입 | patator | +-----------------+------------+-------------------------------------------------------------------------------------------------+----------------+
Changelog <https://github.com/koutto/jok3r/blob/master/CHANGELOG.rst>_ 를 참조하세요