• Proxychains.exe Proxychains for Windows ——通过给动态链接的程序注入一个 DLL,对 Ws2_32.dll 的 Winsock 函数挂钩子的方式来将应用程序的连接重定向到 SOCKS5 代理


    Proxychains.exe - Proxychains for Windows 

    https://github.com/shunf4/proxychains-windows

    构建状态

    README | 简体中文文档

    Proxychains.exe 是一个适用于 Win32(Windows) 和 Cygwin 平台的命令行强制代理工具(Proxifier)。它能够截获大多数 Win32 或 Cygwin 程序的 TCP 连接,强制它们通过一个或多个 SOCKS5 代理隧道。

    Proxychains.exe 通过给动态链接的程序注入一个 DLL,对 Ws2_32.dll 的 Winsock 函数挂钩子的方式来将应用程序的连接重定向到 SOCKS5 代理

    Proxychains.exe 是 proxychains4 或者 proxychains-ng 到 Win32 和 Cygwin 的移植产物。它也使用了 uthash 构建一些数据结构,以及使用了 minhook 进行 API 的挂钩。

    Proxychains.exe 在 Windows 10 x64 1909 (18363.418)、Windows 7 x64 SP1、Windows XP x86 SP3 和 Cygwin 64-bit 3.1.2 经过测试。注意目标操作系统需要安装 Visual C++ Redistributable for Visual Studio 2015

    警告:此工具不能保证匿名性!

    警告:此程序只对动态链接的程序有用。同时,Proxychains.exe 和需要运行的目标程序必须是同一架构和平台(用 proxychains_x86.exe 运行 x86 程序,用 proxychains_x64.exe 运行 x64 程序;用 Cygwin 下构建的版本来运行 Cygwin 程序)。

    警告:此程序是基于 Hack 的,并且处于开发早期阶段。使用过程中可能会发生任何意外状况。被运行的程序可能会崩溃、无法工作、产生意想不到的运行结果等等。谨慎使用。

    警告:此程序可能用于绕过审查。此举在某些国家或地区可能是危险、不符合法律的。 请在用于正式用途前,确保本程序和代理正常工作。 比如,你可以通过连接到一些查询本机 IP 的服务如 ifconfig.me ,确保你未暴露你的真实 IP 地址。

    请在确保清楚你要执行的操作及其后果后使用本程序。

    免责声明:本程序的作者不对任何滥用、误用此软件的行为以及其可能导致的后果负责。

     

    下载

    你可以从 Release 页 下载预先构建的二进制文件。


    安装

    把生成的 proxychains*.exe[cyg/msys-]proxychains_hook*.dll 复制到 PATH 环境变量包含的某个目录下。你可以把主程序(如 proxychains_win32_x64.exe)改为你自己喜欢的名字,如 proxychains.exe

    最后你还需要在正确的位置创建配置文件。参见“配置”。

     

    配置

    Proxychains.exe 按照以下顺序寻找配置:

     

    在 Win32 环境中

    • 环境变量 %PROXYCHAINS_CONF_FILE% 或通过 -f 命令行参数指定的文件
    • %USERPROFILE%\.proxychains\proxychains.conf(Win32 用户主目录)
    • (CSIDL_APPDATA)\Proxychains\proxychains.conf(在现代 Windows 版本中,典型的路径如 C:\Users\<用户名>\AppData\Roaming\Proxychains\proxychains.conf
    • (CSIDL_COMMON_APPDATA)\Proxychains\proxychains.conf(在现代 Windows 版本中,典型的路径如 C:\ProgramData\Proxychains\proxychains.conf

     

    在 Cygwin 环境中

    • 环境变量 $PROXYCHAINS_CONF_FILE 或通过 -f 命令行参数指定的文件
    • $HOME/.proxychains/proxychains.conf(Cygwin 用户主目录)
    • (SYSCONFDIR)/proxychains.conf
    • /etc/proxychains.conf

    关于配置选项,参见 proxychains.conf

     

    用例

    proxychains ssh some-server

    proxychains "Some Path\firefox.exe"

    proxychains /bin/curl https://ifconfig.me

    运行 proxychains -h 查看更多命令行参数选项。

     

    工作原理

    • 主程序 Hook CreateProcessW Win32 API 函数调用。
    • 主程序创建按照用户给定的命令行启动子进程。
    • 创建进程后,挂钩后的 CreateProcessW 函数将 Hook DLL 注入到子进程。当子进程被注入后,它也会 Hook 如下的 Win32 API 函数调用:
      • CreateProcessW,这样每一个后代进程都会被注入;
      • connectConnectEx,这样就劫持了 TCP 连接;
      • GetAddrInfoW 系列函数,这样可以使用 Fake IP 来追踪访问的域名,用于远程 DNS 解析;
      • 等等。
    • 主程序并不退出,而是作为一个命名管道服务端存在。子进程与主程序通过命名管道交换包括日志、域名等内容在内的数据。主程序实施大多数关于 Fake IP 和子进程是否还存在的簿记工作。
    • 当所有后代进程退出后,主程序退出。
    • 主程序收到一个 SIGINT(Ctrl-C)后,终止所有后代进程。

     

  • 相关阅读:
    Oracle ASH报告生成和性能分析
    Oracle AWR报告生成和性能分析
    oracle和mysql批量合并对比
    Oracle
    Delphi
    Delphi
    Delphi
    Delphi
    Delphi
    Delphi
  • 原文地址:https://www.cnblogs.com/bonelee/p/16796758.html
Copyright © 2020-2023  润新知