Monday 25 June 2018

XFLTReaT- A Python Based Tunneling Framework

XFLTReaT- A Python Based Tunneling Framework

XFLTReaT A Python Based Tunneling Framework

This is just one thing of many things that was missing from the Internet. If you got tired of trying several tunneling tools for each protocols, this must be your tool framework.


This project is an open-source Python based tunneling framework that helps you to create a tunnel between two (or more) computers on different channels/protocols. Although the name of the project correlates with the word "ex-filtrate", the framework is more about tunneling than ex-filtration. The main use-case for it is to create a full Internet Protocol v4 (IPv4) based tunnel between the end points, that can be used as a communication channel to send IP packets back and forth.

The tool is built on the client-server architecture, so at least two computers are needed to set up the environment. The server side can offer different protocols that can be used for tunneling. The client chooses a protocol that is offered by the server and available on the client network (for example: allowed on the firewall or not restricted by an active network device), and attempts to create a communication channel or tunnel with the server. If the process succeeds, the specified protocol will be used to tunnel data over the network.

Available modules

  • TCP
  • UDP
  • ICMP
  • SOCKS v4, 4a, 5
  • SCTP (by Darren Martyn @info_dox)
  • WebSocket
  • DNS (A/CNAME, PRIVATE, NULL) - Proof of Concept
  • RDP (Windows only)
  • TL;DR

If you want to:

  • get unrestricted Internet access from restricted networks
  • exfiltrate data over a noisy side channel
  • use a custom protocol to tunnel data
  • etc.

Then this could be your ultimate tool.

A few things to note
  • Python 2.7
  • root/Administrator privileges are required


By aiming to change this, XFLTReaT works as a framework. It supports multiple protocols (not just only one) and unifies the interface for all tunneling modules. It is possible to create new tunnel modules for protocols with ease.

Also the framework makes tunneling easier for everybody, because:

  • It is easy to install and configure (still a basic understanding is needed)
  • The dependencies are kept low
  • Unified tunneling interface is developed for creating modules
  • Uses only one interface for all traffic
  • Handles multiple clients
  • Modular authentication support
  • Modular encryption support
  • Python based and OOP


to get the master branch

# git clone

# pip install -r misc/requirements_linux.txt

to get the next-version branch

# git clone
# git checkout next-version


Post a Comment

Note: only a member of this blog may post a comment.

Toggle Footer