.. 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/docker/automated/koutto/jok3r.svg :target: https://hub.docker.com/r/koutto/jok3r/ :alt: Docker Automated build
.. image:: https://img.shields.io/docker/build/koutto/jok3r.svg :alt: Docker Build Status
.. raw:: html
Jok3r 是一款Python3 CLI应用程序,旨在帮助渗透测试人员进行网络基础设施的黑盒安全审计和Web安全测试。
其主要目标是节省在可自动化部分的网络/Web审计时间,从而将更多时间投入到更有趣且更具挑战性的事情上。
为实现这一目标,我结合了多种开源审计工具,对所有常见网络服务执行各种安全检查。
工具管理:
攻击自动化:
任务/本地数据库管理:
Jok3r 的构建目标是易于且快速定制:工具、安全检查、支持的网络服务……都可以通过编辑易于理解的语法配置文件轻松添加/编辑/删除。
推荐使用 Jok3r 的方式是在 Docker 容器内运行,无需担心安装各种审计工具时的依赖问题。
.. image:: https://raw.githubusercontent.com/koutto/jok3r/master/pictures/docker-logo.png
Docker Hub 上提供了 Docker 镜像,每次更新会自动重建:https://hub.docker.com/r/koutto/jok3r/。基于 Kali/Debian 官方 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 Image size
拉取 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 --net=host koutto/jok3r
重要提示:需要 --net=host 选项来共享主机的网络接口。这是反向连接所必需的(例如,在测试 RCE 时 ping 容器,获取反向 shell)。
Jok3r 工具箱已准备好使用!
.. code-block:: console
sudo docker start -i jok3r-container
.. code-block:: console
sudo docker exec -it jok3r-container bash
显示所有工具
.. code-block:: console
python3 jok3r.py toolbox --show-all
安装所有工具
.. code-block:: console
python3 jok3r.py toolbox --install-all --fast
更新所有工具
.. code-block:: console
python3 jok3r.py toolbox --update-all --fast
列出支持的服务
.. code-block:: console
python3 jok3r.py info --services
显示 HTTP 的安全检查
.. code-block:: console
python3 jok3r.py info --checks http
在本地数据库中创建一个新任务
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission -a 我的审计
[+] 任务 "我的审计" 添加成功
[*] 当前选择的任务是 我的审计
jok3rdb[我的审计]>
对 URL 执行安全检查并将结果添加到任务
.. code-block:: console
python3 jok3r.py attack -t https://www.sapos.com/webapp/ --add 我的审计
对 MSSQL 服务执行安全检查(无需用户交互)并将结果添加到任务
.. code-block:: console
python3 jok3r.py attack -t 190.212.190.133:1433 -s mssql --add 我的审计 --fast
将 Nmap 扫描结果中的主机/服务导入任务范围
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission 我的审计
[*] 当前选择的任务是 我的审计
jok3rdb[我的审计]> nmap results.xml
对给定任务中的服务执行安全检查并将结果存入数据库
.. code-block:: console
python3 jok3r.py attack -m 我的审计 --fast
仅对任务中 21/tcp 和 2121/tcp 端口上的 FTP 服务执行安全检查
.. code-block:: console
python3 jok3r.py attack -m 我的审计 -f "port=21,2121;service=ftp" --fast
仅对任务中 2121/tcp 端口上的 FTP 服务和 190.212.190.133 上的所有 HTTP 服务执行安全检查
.. code-block:: console
python3 jok3r.py attack -m 我的审计 -f "port=2121;service=ftp" -f "ip=190.212.190.133;service=http"
您开始对多个服务器进行审计。以下是 Jok3r 的典型用法:
对相关服务器执行 Nmap 扫描
在本地数据库中创建一个新任务(比如"我的审计"):
.. code-block:: console
python3 jok3r.py db
jok3rdb[default]> mission -a 我的审计
[+] 任务 "我的审计" 添加成功
[*] 当前选择的任务是 我的审计
jok3rdb[我的审计]>
3. 导入您的 Nmap 扫描结果:
.. code-block:: console
jok3rdb[我的审计]> nmap 扫描结果.xml
4. 您可以快速概览所有服务和主机,添加一些注释,如果已经有一些关于目标的知识(灰盒渗透测试),添加一些凭据等。
.. code-block:: console
jok3rdb[我的审计]> hosts
[...]
jok3rdb[我的审计]> services
[...]
5. 现在,对某些目标执行安全检查。例如,要对 Java-RMI 服务运行检查,可以执行以下命令:
.. code-block:: console
python3 jok3r.py attack -m 我的审计 -f "service=java-rmi" --fast
6. 您可以在工具运行时实时查看安全检查结果,或者稍后通过以下命令从数据库查看:
.. code-block:: console
jok3rdb[MayhemProject]> results
文档地址:即将推出...
还有很多检查尚未实现,服务也应添加!工作仍在进行中……
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 | 侦察 | 使用 Nmap AJP 脚本进行侦察 | nmap |
| tomcat-version | 侦察 | 通过 AJP 识别 Tomcat 版本 | ajpy |
| vuln-lookup | 漏洞扫描 | 在 Vulners.com(NSE脚本)和 exploit-db.com 查询漏洞(存在大量误报!) | vuln-databases |
| default-creds-tomcat | 暴力破解 | 检查 Tomcat 应用管理器的默认凭据 | ajpy |
| deploy-webshell-tomcat | 利用 | 通过 AJP 在 Tomcat 上部署 webshell | ajpy |
+------------------------+------------+-------------------------------------------------------------------------------------------------+----------------+
.. code-block:: console