1 个不稳定版本

0.1.3 2023年11月11日

#20#pty

MIT 许可证

230KB
607



GitHub All Releases Build Issues Crates Docker Pulls License: MIT

qs-lite 是一个用 Rust 语言实现的 qs-netcat 工具的轻量级替代方案。它允许通过 QSRN(QSocket Reverse Network)重定向真正的 PTY 会话,有效地访问 NAT 网络或防火墙后面的系统。

[!警告]
此工具处于早期 alpha 开发阶段,具有可能缺乏向后兼容性的实验性功能,建议用户谨慎使用,不要在生产环境中使用。

安装

Open in Cloud Shell

工具 从源码构建 容器镜像 二进制发布
qs-lite cargo安装 qs-lite 下载 下载

qs-mic 支持 10 种架构和 12 个操作系统,请参阅下方的 支持的平台 获取详细信息。

支持的平台
平台 AMD64 386 ARM ARM64 MIPS MIPS64 MIPS64LE PPC64 PPC64LE S390X
Linux
Darwin
Windows
OpenBSD
NetBSD
FreeBSD
Android
IOS
Solaris
Illumos
Dragonfly
AIX

用法

Usage: qs-lite [OPTIONS]

Options:
  -s, --secret <SECRET>
          secret. (e.g. password) [default: ]
  -e, --exec <EXEC>
          program to execute [default: "bash -il"]
  -f, --forward-addr <FORWARD_ADDR>
          forward address (IP:PORT) for traffic forwarding [default: ]
  -x, --proxy-addr <PROXY_ADDR>
          user socks proxy address for connecting QSRN [default: ]
  -X, --cert-fingerprint <CERT_FINGERPRINT>
          hex encoded TLS certificate fingerprint for validation [default: ]
  -n, --probe <PROBE>
          probe interval for connecting QSRN [default: 5]
  -C, --no-encryption
          disable all (TLS+E2E) encryption
      --no-e2e
          disable End-to-End encryption
  -i, --interactive
          initiate a full PTY (interactive) shell
  -l, --listen
          server mode. (listen for connections)
  -g, --generate
          generate a random secret
  -T, --use-tor
          use TOR network for connecting QSRN
      --qr
          generate a QR code with given stdin and print on the terminal
  -q, --quiet
          quiet mode. (no stdout)
  -v, --verbose
          verbose output mode
  -h, --help
          Print help
  -V, --version
          Print version

示例

  1. 通过任何防火墙/NAT 从工作站 B 登录到工作站 A
$ qs-lite -l -i   # Workstation A
$ qs-lite -i      # Workstation B

加密/安全混乱

  • 连接是端到端加密的。这意味着是从用户到用户(而不仅仅是到中继网络)。中继网络只将(加密的)数据从用户传送到用户。
  • QSocket 使用 SRP 来确保 完美的前向安全性。这意味着会话密钥总是不同的,即使知道用户密钥,也无法由第三方解密已记录的会话流量。
  • 会话密钥是 256 位和瞬时的。它为每个会话新鲜生成,并随机生成(不是基于密码)。
  • 对弱密钥的暴力攻击需要为每个猜测创建一个新的 TCP 连接。但 QSRN 包含一个强大的负载均衡器,限制了连续的连接尝试。
  • 不要使用像'password123'这样的愚蠢密码。恶意用户可能会偶然选择相同的(愚蠢)密码并连接。如有疑问,请使用qs-netcat -g生成一个强密码。Alice和Bob的密码至少应该足够强大,以便在Alice等待Bob连接时,恶意用户无法偶然猜出。
  • 如果Alice与Bob和Charlie共享相同的密码,那么当其中任何一个人连接时,Alice无法分辨出是Bob还是Charlie。
  • 假设Alice与Bob和恶意用户共享相同的密码。当Alice停止监听连接时,恶意用户可能会开始监听连接。当Bob(在建立新连接时)无法判断他是在连接到Alice还是恶意用户。
  • 我们没有发明SRP。它是一个众所周知的协议,经过良好的分析,并且得到了社区的信任。

依赖项

~149MB
~2.5M SLoC