Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
mallory — 基于SSH的HTTP/HTTPS代理 | Kitploit
工具/GitHubGitHub/justmao945/mallory
通用工具Web代理与拦截网络安全
GitHubjustmao945/mallory

mallory

基于SSH的HTTP/HTTPS代理

查看仓库
324672年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

mallory

基于SSH的HTTP/HTTPS代理。

安装

  • 本机:go install github.com/justmao945/mallory/cmd/mallory@latest
  • 远程服务器:需要我们的老朋友 sshd

配置

配置文件

默认路径为 $HOME/.config/mallory.json,可在启动程序时设置

root@kitploit:~
mallory -config path/to/config.json

内容:

  • id_rsa 是我们的私钥文件路径,可通过 ssh-keygen 生成
  • local_smart 是提供HTTP代理的本地地址,支持对目标主机进行智能检测
  • local_normal 类似于 local_smart,但所有流量都通过远程SSH服务器发送,不进行目标主机检测
  • remote 是SSH服务器的远程地址
  • blocked 是需要使用代理的域名列表,其他域名将直接连接到其服务器
root@kitploit:~
{
  "id_rsa": "$HOME/.ssh/id_rsa",
  "local_smart": ":1315",
  "local_normal": ":1316",
  "remote": "ssh://[email protected]:22",
  "blocked": [
    "angularjs.org",
    "golang.org",
    "google.com",
    "google.co.jp",
    "googleapis.com",
    "googleusercontent.com",
    "google-analytics.com",
    "gstatic.com",
    "twitter.com",
    "youtube.com"
  ]
}

配置文件中的阻止列表在更新时会自动重新加载,也可以手动操作:

root@kitploit:~
# 发送信号以重新加载
kill -USR2 <mallory的PID>

# 或通过发送HTTP请求使用reload命令
mallory -reload

系统配置

  • 将HTTP和HTTPS代理都设置为 localhost 端口 1315,配合阻止列表使用
  • 在终端使用时,设置环境变量 http_proxy 和 https_proxy 为 localhost:1316

获取域名的正确后缀名称

root@kitploit:~
mallory -suffix www.google.com

将给定端口的所有流量转发到指定目标的简单命令

root@kitploit:~
# 安装:go get github.com/justmao945/mallory/cmd/forward

# 所有通过端口20022的流量将被转发到 destination.com:22
forward -network tcp -listen :20022 -forward destination.com:22

# 现在你可以通过 localhost:20022 SSH 到 destination:22
ssh root@localhost -p 20022

TODO

  • 当无法拨号时返回HTTP错误
  • 当无法拨号时自动将主机添加到列表
  • 支持多个远程服务器

Docker 容器

假设有如下配置文件:

root@kitploit:~
$ cat mallory.json
{
  "id_rsa": "/tmp/id_rsa",
  "local_smart": ":1315",
  "local_normal": ":1316",
  "remote": "ssh://[email protected]:22"
}

你可以运行容器 (zoobab/mallory),挂载配置文件、SSH密钥,并映射两个端口:

root@kitploit:~
$ docker run -v $PWD/mallory.json:/root/.config/mallory.json -p 1316:1316 -p 1315:1315 -v $PWD/.ssh/id_rsa:/tmp/id_rsa zoobab/mallory
mallory: 2020/03/30 16:51:10 main.go:22: Starting...
mallory: 2020/03/30 16:51:10 main.go:23: PID: 1
mallory: 2020/03/30 16:51:10 config.go:103: Loading: /root/.config/mallory.json
mallory: 2020/03/30 16:51:10 main.go:30: Connecting remote SSH server: ssh://[email protected]:22
mallory: 2020/03/30 16:51:10 main.go:38: Local normal HTTP proxy: :1316
mallory: 2020/03/30 16:51:10 main.go:48: Local smart HTTP proxy: :1315

我的使用场景是通过SSH堡垒机连接到Kubernetes集群(Openshift):

root@kitploit:~
$ export http_proxy=http://localhost:1316
$ export https_proxy=https://localhost:1316
$ oc login https://master.mycluster.zoobab.com:8443
Authentication required for https://master.mycluster.zoobab.com:8443 (openshift)
Username: bhenrion
Password:
Login successful.
下载工具