SlideShare a Scribd company logo
XFLTReaT:
Building a Tunnel
Balázs Bucsay / @xoreipeip
Managing Security Consultant @ NCC Group
Bio / Balázs Bucsay
• Managing Security Consultant @ NCC Group
• Strictly technical certificates: OSCE, OSCP, OSWP, GIAC GPEN, CREST CCT Inf
• Started with ring0 debuggers and disassemblers in 2000 (13 years old)
• Hacktivity Jubilee – Talk Jubilee (my very first talk in 2008)
• Major projects:
• GI John (2009) – Hacktivity
• Chw00t (2015) – PHDays, DeepSec, Hacktivity
• XFLTReaT (2017) – DeepSec, RuxCon, BruCON, HITB GSEC, Shakacon
• Twitter: @xoreipeip
• Linkedin: https://www.linkedin.com/in/bucsayb
Presentations
• Talks around the world: • North America: Hacker Halted, Shakacon
• Australia: RuxCon
• Asia: Hack in the Box GSEC
• Europe:
• DeepSec / Vienna (AT)
• BruCON / Ghent (BE)
• PHDays / Moscow (RU)
• HackCon / Oslo (NO)
• Hacktivity / Budapest (HU)
• Inf. Gov. & eDisc. Summit / London (UK)
@xoreipeip
Tunnels
Exercise - show your hands
• How many of you:
• work in the offensive security?
• have done tunnelling? DNS/ICMP/OpenVPN/CiscoAnyConnect/whatever
• heard about XFLTReaT before?
• are Python 3 enthusiastic? (sorry)
Without a tunnel
@xoreipeip
With a tunnel
@xoreipeip
Why would one use tunnels?
• Work VPN – to access the corporate internal network
• Hide real IP address
• Whistle-blowers/Journalists to communicate anonymously
• Torrent
• ISPs filtering some ports (secure IMAP, SMTPS, NetBIOS, …)
• Bypass corporate proxy policy
• Bypass captive portals!?
• What about you?
@xoreipeip
Have you done … tunnelling?
Protocol Tool
TCP
@xoreipeip
Have you done … tunnelling?
Protocol Tool
TCP OpenVPN Cisco AnyConnect
UDP
@xoreipeip
Have you done … tunnelling?
Protocol Tool
TCP OpenVPN Cisco AnyConnect
UDP OpenVPN
ICMP
@xoreipeip
Have you done … tunnelling?
Protocol Tool
TCP OpenVPN Cisco AnyConnect
UDP OpenVPN
ICMP Hans Ping Tunnel ICMPTx
DNS
@xoreipeip
Have you done … tunnelling?
Protocol Tool
TCP OpenVPN Cisco AnyConnect
UDP OpenVPN
ICMP Hans Ping Tunnel ICMPTx
DNS iodine DNSCat* Ozymandns
HTTP CONNECT Proxifier OpenVPN
Pure HTTP ?
TLS v1.2 ?
TLS v1.2 with Kerberos auth ?
@xoreipeip
Oh no! I forgot to set up my OpenVPN on port 443
(Port TCP/443 unfiltered)
Two days on a ferry
10 hour flight to Japan
(ICMP unfiltered)
At the airport
(DNS unfiltered)
What did I see?
Get tired of:
• As many protocols as many solutions
• Hard to modify the existing ones
• No modularity
• Portability issues
• Configuration issues
• Unsupported/EoL tools
• No automation at all
• It is just hard, but it does not have to be!
@xoreipeip
XFLTReaT
The beast was born!
Tunnelling theory 101 / MTU
@xoreipeip
What is XFLTReaT?
XFLTReaT (say exfil-treat or exfiltrate)
• Tunnelling framework
• Open-source
• Python based
• OOP
• Modular
• Multi client
• Plug and Play (at least as easy as it can be)
• Check functionality
@xoreipeip
Easy, modular, plug & play
• Install:
• git clone & pip install
• edit config
• run
• Transport, encryption, authentication etc. are modular
• Plug and play:
• Copy new module into modules/, support files to support/
• edit config
• run
@xoreipeip
Framework, as it is
How many of you created tunnelling software?
You do not have to:
• Set up the routing
• Handle multiple users
• Create and set up an interface or interfaces
• Care about encryption, authentication or encoding
You only have to:
• Encapsulate your packets into your protocol
• Implement protocol related things
@xoreipeip
Check functionality
• Easy way to figure out, which protocol is not filtered on the network
• Automated approach: No deep knowledge is needed
• Client sends a challenge over the selected (or all) modules to the server
• If the server responses with the solution:
• We know that the server is up and running
• The specific module/protocol is working over the network
• Connection can be made
@xoreipeip
One interface to rule them all
@xoreipeip
Channels
• There are two channels in every tunnel
• Data: data transmission
• Control: control messages
• Check message/response
• Authentication related messages
• Logoff message
• Dummy message for keep-alive and query request
• Auto-tune messages
• etc.
@xoreipeip
Multi Operating System Support
@xoreipeip
Linux MacOS(X) Windows FreeBSD OpenBSD NetBSD
TCP	Generic Supported Supported Supported N/A N/A N/A
UDP	Generic Supported Supported Supported N/A N/A N/A
ICMP Supported Supported Supported N/A N/A N/A
SOCKS Supported Supported Supported N/A N/A N/A
HTTP	CONNECT Supported Supported Supported N/A N/A N/A
DNS PoC N/A N/A N/A N/A N/A
SCTP Supported N/A N/A N/A N/A N/A
WebSocket Supported Supported N/A N/A N/A N/A
RDP N/A N/A Supported N/A N/A N/A
Ease of development
Module tree
@xoreipeip
Ease of use/development
• Only web traffic allowed?
@xoreipeip
Ease of use/development
• Only web traffic allowed? Set your server on port TCP/80
• Only ICMP type 0 allowed?
@xoreipeip
Ease of use/development
• Only web traffic allowed? Set your server on port TCP/80
• Only ICMP type 0 allowed? Copy ICMP module, change type 8 to 0
• HTTP should work, but only with special header?
@xoreipeip
Ease of use/development
• Only web traffic allowed? Set your server on port TCP/80
• Only ICMP type 0 allowed? Copy ICMP module, change type 8 to 0
• HTTP should work, but only with special header? Set the header in source
• HTTPS allowed but only with TLS v1.2?
@xoreipeip
Ease of use/development
• Only web traffic allowed? Set your server on port TCP/80
• Only ICMP type 0 allowed? Copy ICMP module, change type 8 to 0
• HTTP should work, but only with special header? Set the header in source
• HTTPS allowed but only with TLS v1.2? Copy TLS module, set it to 1.2 only
• Special authentication over HTTP proxy?
@xoreipeip
Ease of use/development
• Only web traffic allowed? Set your server on port TCP/80
• Only ICMP type 0 allowed? Copy ICMP module, change type 8 to 0
• HTTP should work, but only with special header? Set the header in source
• HTTPS allowed but only with TLS v1.2? Copy TLS module, set it to 1.2 only
• Special authentication over HTTP proxy? Implement the auth, change the config
• Want to send data over text/SMS?
@xoreipeip
Ease of use/development
• Only web traffic allowed? Set your server on port TCP/80
• Only ICMP type 0 allowed? Copy ICMP module, change type 8 to 0
• HTTP should work, but only with special header? Set the header in source
• HTTPS allowed but only with TLS v1.2? Copy TLS module, set it to 1.2 only
• Special authentication over HTTP proxy? Implement the auth, change the config
• Want to send data over text/SMS? Handle connection with your phone from a module
• PROTIP: just use the source!
@xoreipeip
SCTP + WebSocket
• SCTP module created and submitted by @info_dox
• Best example of how easy to create a standard tunnel
• Please use the next-version branch for developing
• Create issues
• WebSocket module added
• Created a new tunnel in 3-4 hours
• Ideal for proxies if WebSocket is supported
• What is your next module?
@xoreipeip
Split tunnelling
• Not much to tell.
• Default route stays
• New entries added
• By default read scope.txt
• Formats:
• 192.168.0.1 – single IP
• 192.168.0.1/24 – 24 range
• 192.168.0.1-10 – range of 11 IPs
@xoreipeip
Windows Support
• It was added lately
• Needs to be installed/configured:
• OpenVPN’s TAP driver
• Python 2.7
• Requirements (pywin32 only)
• Routing (on registry key)
• Start ”Routing and Remote Access” service
• NAT ============================>
• Do it backwards to uninstall
@xoreipeip
Remote Desktop Dynamic Virtual Channels
• Introduced in Window Server 2008 & Windows Vista SP1
• Bi-directional channels can be created in the active RDP session
• How it works:
• DLL plugin have to be loaded in the mstsc.exe process’context
• When initialized it creates a listener with the channel name
• Magic happens only when the server connects to channel explicitly
• This is how Copy&Paste, Remote drives, remote hardware are working thru RDP
• Plugin could be implemented for Unices (FreeRDP)
@xoreipeip
Universal Dynamic Virtual Channel Connector
• https://github.com/earthquake/UniversalDVC/
• Two parts:
• .DLL that needs to be registered on the client (mstsc.exe)
• .REG file if other user is used than the Administrator
• .EXE that can be used on the server
• Three modes for both sides:
• listen()
• connect()
• Named Pipe
@xoreipeip
Universal DVC Connector example use cases/1
@xoreipeip
Universal DVC Connector example use cases/2
@xoreipeip
Universal DVC Connector example use cases/3
@xoreipeip
Elevator pitch
• Have you ever struggled testing over a Windows Jump box?
• Have you been asked to provide a list of tools that you need for testing?
• Have you spent a day or half a day installing your tools and still forgot something
to get approved?
@xoreipeip
RDP module
• Windows only + Server mode only
• Disappointing bit that all stuff needs to be configured/installed
• 8 Mbps with the module itself
• 18 Mbps with UDVC + TCP Generic module
• Win32 API calls from Python is not a good idea
• Threading could help, maybe calling functions directly too
• NAT’d – because it is TUN and not TAP
@xoreipeip
DEMO
Offense
• Bypass basic obstacles
• Specific ports are unfiltered (TCP / UDP)
• DNS allowed
• ICMP allowed
• Bypass not that basic obstacles
• Specific protocol allowed (IPS or any other active device in place)
• Special authentication required
• Test over jump boxes – segregated networks
• Exfiltrate information from internal networks
• Get unfiltered internet access @xoreipeip
Defense for companies
Check your network settings
• Check functionality
• Try to exfiltrate data – check whether your active network device can catch it
Captive portals
• Drop all packets that are addressed to external until not authenticated
• All DNS query should have the same response (the portal)
@xoreipeip
Defense for companies
No solution is 100% secure
• Do not route your network to the internet
• Disable all traffic between the internet and internal network
• Use HTTP Proxy and enforce it
• Whitelist ports (80 and 443, would you need anything else?)
• Blacklist websites (does not really help on XFLTReaT)
• DNS
• Filter external DNS queries if possible (let HTTP proxy do the resolving)
@xoreipeip
Defense for companies
No solution is 100% secure
• Do you have an inventory? (IP, owner, purpose, location)
• Do baselining (Use Netflow or Bro)
• Check relation between IPs
• What are the top talker source IPs (bytes, packets, flows)?
• What are the top destination IPs (bytes, packets, flows)?
• Any unusual activity should generate an alert/be blocked when you are done
@xoreipeip
Already released
@xoreipeip
http://xfltreat.info
https://github.com/earthquake/XFLTReaT
TODO + Help me!
@xoreipeip
• What to do next?
• Bug fixes
• New modules
• How can you help?
• Help develop stuff (use next-version branch)
• Follow me on twitter, retweet XFLTReaT related tweets
Q&A - Thank you for your attention
Balazs Bucsay / @xoreipeip
Office Locations
Europe
Manchester - Head Office
Amsterdam
Basingstoke
Cambridge
Copenhagen
Cheltenham
Delft
Edinburgh
Glasgow
The Hague
Leatherhead
Leeds
London
Madrid
Malmö
Milton Keynes
Munich
Vilnius
Zurich
North America
Atlanta, GA
Austin, TX
Boston, MA
Campbell, CA
Chicago, IL
Kitchener, ON
New York, NY
San Francisco, CA
Seattle, WA
Sunnyvale, CA
Toronto, ON
Asia-Pacific
Singapore
Sydney
Middle East
Dubai

More Related Content

What's hot

Tomcat openssl
Tomcat opensslTomcat openssl
Tomcat openssl
Jean-Frederic Clere
 
Tomcat openssl
Tomcat opensslTomcat openssl
Tomcat openssl
Jean-Frederic Clere
 
Tomcat next
Tomcat nextTomcat next
Tomcat next
Jean-Frederic Clere
 
XFLTReat: a new dimension in tunnelling
XFLTReat:  a new dimension in tunnellingXFLTReat:  a new dimension in tunnelling
XFLTReat: a new dimension in tunnelling
Shakacon
 
Your Inner Sysadmin - MidwestPHP 2015
Your Inner Sysadmin - MidwestPHP 2015Your Inner Sysadmin - MidwestPHP 2015
Your Inner Sysadmin - MidwestPHP 2015
Chris Tankersley
 
Dock ir incident response in a containerized, immutable, continually deploy...
Dock ir   incident response in a containerized, immutable, continually deploy...Dock ir   incident response in a containerized, immutable, continually deploy...
Dock ir incident response in a containerized, immutable, continually deploy...
Shakacon
 
PAC 2019 virtual Scott Moore
PAC 2019  virtual   Scott Moore PAC 2019  virtual   Scott Moore
PAC 2019 virtual Scott Moore
Neotys
 
Logstash and friends
Logstash and friendsLogstash and friends
Logstash and friends
Julien Pivotto
 
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Chris Tankersley
 
Experiences with Microservices at Tuenti
Experiences with Microservices at TuentiExperiences with Microservices at Tuenti
Experiences with Microservices at Tuenti
Andrés Viedma Peláez
 
Lifecycle Management with Foreman
Lifecycle Management with ForemanLifecycle Management with Foreman
Lifecycle Management with Foreman
Julien Pivotto
 
Micro control idsecconf2010
Micro control idsecconf2010Micro control idsecconf2010
Micro control idsecconf2010
idsecconf
 
Fastsocket Linxiaofeng
Fastsocket LinxiaofengFastsocket Linxiaofeng
Fastsocket Linxiaofeng
Michael Zhang
 
rsyslog meets docker
rsyslog meets dockerrsyslog meets docker
rsyslog meets docker
Rainer Gerhards
 
Ekon20 mORMot WorkShop Delphi
Ekon20 mORMot WorkShop DelphiEkon20 mORMot WorkShop Delphi
Ekon20 mORMot WorkShop Delphi
Arnaud Bouchez
 
NkSIP: The Erlang SIP application server
NkSIP: The Erlang SIP application serverNkSIP: The Erlang SIP application server
NkSIP: The Erlang SIP application server
Carlos González Florido
 
Janus/HOMER/HEPIC @ OpenSIPS18
Janus/HOMER/HEPIC @ OpenSIPS18Janus/HOMER/HEPIC @ OpenSIPS18
Janus/HOMER/HEPIC @ OpenSIPS18
Lorenzo Miniero
 
Re-thinking Performance tuning with HTTP2
Re-thinking Performance tuning with HTTP2Re-thinking Performance tuning with HTTP2
Re-thinking Performance tuning with HTTP2
Vinci Rufus
 
Altitude SF 2017: QUIC - A low-latency secure transport for HTTP
Altitude SF 2017: QUIC - A low-latency secure transport for HTTPAltitude SF 2017: QUIC - A low-latency secure transport for HTTP
Altitude SF 2017: QUIC - A low-latency secure transport for HTTP
Fastly
 
Building real time applications with Symfony2
Building real time applications with Symfony2Building real time applications with Symfony2
Building real time applications with Symfony2
Antonio Peric-Mazar
 

What's hot (20)

Tomcat openssl
Tomcat opensslTomcat openssl
Tomcat openssl
 
Tomcat openssl
Tomcat opensslTomcat openssl
Tomcat openssl
 
Tomcat next
Tomcat nextTomcat next
Tomcat next
 
XFLTReat: a new dimension in tunnelling
XFLTReat:  a new dimension in tunnellingXFLTReat:  a new dimension in tunnelling
XFLTReat: a new dimension in tunnelling
 
Your Inner Sysadmin - MidwestPHP 2015
Your Inner Sysadmin - MidwestPHP 2015Your Inner Sysadmin - MidwestPHP 2015
Your Inner Sysadmin - MidwestPHP 2015
 
Dock ir incident response in a containerized, immutable, continually deploy...
Dock ir   incident response in a containerized, immutable, continually deploy...Dock ir   incident response in a containerized, immutable, continually deploy...
Dock ir incident response in a containerized, immutable, continually deploy...
 
PAC 2019 virtual Scott Moore
PAC 2019  virtual   Scott Moore PAC 2019  virtual   Scott Moore
PAC 2019 virtual Scott Moore
 
Logstash and friends
Logstash and friendsLogstash and friends
Logstash and friends
 
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
 
Experiences with Microservices at Tuenti
Experiences with Microservices at TuentiExperiences with Microservices at Tuenti
Experiences with Microservices at Tuenti
 
Lifecycle Management with Foreman
Lifecycle Management with ForemanLifecycle Management with Foreman
Lifecycle Management with Foreman
 
Micro control idsecconf2010
Micro control idsecconf2010Micro control idsecconf2010
Micro control idsecconf2010
 
Fastsocket Linxiaofeng
Fastsocket LinxiaofengFastsocket Linxiaofeng
Fastsocket Linxiaofeng
 
rsyslog meets docker
rsyslog meets dockerrsyslog meets docker
rsyslog meets docker
 
Ekon20 mORMot WorkShop Delphi
Ekon20 mORMot WorkShop DelphiEkon20 mORMot WorkShop Delphi
Ekon20 mORMot WorkShop Delphi
 
NkSIP: The Erlang SIP application server
NkSIP: The Erlang SIP application serverNkSIP: The Erlang SIP application server
NkSIP: The Erlang SIP application server
 
Janus/HOMER/HEPIC @ OpenSIPS18
Janus/HOMER/HEPIC @ OpenSIPS18Janus/HOMER/HEPIC @ OpenSIPS18
Janus/HOMER/HEPIC @ OpenSIPS18
 
Re-thinking Performance tuning with HTTP2
Re-thinking Performance tuning with HTTP2Re-thinking Performance tuning with HTTP2
Re-thinking Performance tuning with HTTP2
 
Altitude SF 2017: QUIC - A low-latency secure transport for HTTP
Altitude SF 2017: QUIC - A low-latency secure transport for HTTPAltitude SF 2017: QUIC - A low-latency secure transport for HTTP
Altitude SF 2017: QUIC - A low-latency secure transport for HTTP
 
Building real time applications with Symfony2
Building real time applications with Symfony2Building real time applications with Symfony2
Building real time applications with Symfony2
 

Similar to Balázs Bucsay - XFLTReaT: Building a Tunnel

What's up with HTTP?
What's up with HTTP?What's up with HTTP?
What's up with HTTP?
Mark Nottingham
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch Introduction
HungWei Chiu
 
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNTech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
nvirters
 
Vorontsov, golovko ssrf attacks and sockets. smorgasbord of vulnerabilities
Vorontsov, golovko   ssrf attacks and sockets. smorgasbord of vulnerabilitiesVorontsov, golovko   ssrf attacks and sockets. smorgasbord of vulnerabilities
Vorontsov, golovko ssrf attacks and sockets. smorgasbord of vulnerabilitiesDefconRussia
 
EKON27-FrameworksTuning.pdf
EKON27-FrameworksTuning.pdfEKON27-FrameworksTuning.pdf
EKON27-FrameworksTuning.pdf
Arnaud Bouchez
 
Network troubleshooting
Network troubleshootingNetwork troubleshooting
Network troubleshooting
Skillspire LLC
 
Messaging, interoperability and log aggregation - a new framework
Messaging, interoperability and log aggregation - a new frameworkMessaging, interoperability and log aggregation - a new framework
Messaging, interoperability and log aggregation - a new framework
Tomas Doran
 
HTTP/2: What's new?
HTTP/2: What's new? HTTP/2: What's new?
HTTP/2: What's new?
Piet van Dongen
 
DevopsItalia2015 - DHCP at Facebook - Evolution of an infrastructure
DevopsItalia2015 - DHCP at Facebook - Evolution of an infrastructureDevopsItalia2015 - DHCP at Facebook - Evolution of an infrastructure
DevopsItalia2015 - DHCP at Facebook - Evolution of an infrastructure
Angelo Failla
 
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
Codemotion
 
How do event loops work in Python?
How do event loops work in Python?How do event loops work in Python?
How do event loops work in Python?
Saúl Ibarra Corretgé
 
Http - All you need to know
Http - All you need to knowHttp - All you need to know
Http - All you need to know
Gökhan Şengün
 
Real time system_performance_mon
Real time system_performance_monReal time system_performance_mon
Real time system_performance_monTomas Doran
 
fgont-h2hc-2020-ipv6-security.pdf
fgont-h2hc-2020-ipv6-security.pdffgont-h2hc-2020-ipv6-security.pdf
fgont-h2hc-2020-ipv6-security.pdf
FernandoGont
 
Neutrondev ppt
Neutrondev pptNeutrondev ppt
Neutrondev pptmarunewby
 
Hacker Halted 2014 - RDP Fuzzing And Why the Microsoft Open Protocol Specific...
Hacker Halted 2014 - RDP Fuzzing And Why the Microsoft Open Protocol Specific...Hacker Halted 2014 - RDP Fuzzing And Why the Microsoft Open Protocol Specific...
Hacker Halted 2014 - RDP Fuzzing And Why the Microsoft Open Protocol Specific...
EC-Council
 
NFV Infrastructure Manager with High Performance Software Switch Lagopus
NFV Infrastructure Manager with High Performance Software Switch Lagopus NFV Infrastructure Manager with High Performance Software Switch Lagopus
NFV Infrastructure Manager with High Performance Software Switch Lagopus
Hirofumi Ichihara
 
WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021
Lorenzo Miniero
 
Load Balancing
Load BalancingLoad Balancing
Load Balancing
optalink
 
How we use Twisted in Launchpad
How we use Twisted in LaunchpadHow we use Twisted in Launchpad
How we use Twisted in Launchpad
Michael Hudson-Doyle
 

Similar to Balázs Bucsay - XFLTReaT: Building a Tunnel (20)

What's up with HTTP?
What's up with HTTP?What's up with HTTP?
What's up with HTTP?
 
Open vSwitch Introduction
Open vSwitch IntroductionOpen vSwitch Introduction
Open vSwitch Introduction
 
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNTech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
 
Vorontsov, golovko ssrf attacks and sockets. smorgasbord of vulnerabilities
Vorontsov, golovko   ssrf attacks and sockets. smorgasbord of vulnerabilitiesVorontsov, golovko   ssrf attacks and sockets. smorgasbord of vulnerabilities
Vorontsov, golovko ssrf attacks and sockets. smorgasbord of vulnerabilities
 
EKON27-FrameworksTuning.pdf
EKON27-FrameworksTuning.pdfEKON27-FrameworksTuning.pdf
EKON27-FrameworksTuning.pdf
 
Network troubleshooting
Network troubleshootingNetwork troubleshooting
Network troubleshooting
 
Messaging, interoperability and log aggregation - a new framework
Messaging, interoperability and log aggregation - a new frameworkMessaging, interoperability and log aggregation - a new framework
Messaging, interoperability and log aggregation - a new framework
 
HTTP/2: What's new?
HTTP/2: What's new? HTTP/2: What's new?
HTTP/2: What's new?
 
DevopsItalia2015 - DHCP at Facebook - Evolution of an infrastructure
DevopsItalia2015 - DHCP at Facebook - Evolution of an infrastructureDevopsItalia2015 - DHCP at Facebook - Evolution of an infrastructure
DevopsItalia2015 - DHCP at Facebook - Evolution of an infrastructure
 
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
 
How do event loops work in Python?
How do event loops work in Python?How do event loops work in Python?
How do event loops work in Python?
 
Http - All you need to know
Http - All you need to knowHttp - All you need to know
Http - All you need to know
 
Real time system_performance_mon
Real time system_performance_monReal time system_performance_mon
Real time system_performance_mon
 
fgont-h2hc-2020-ipv6-security.pdf
fgont-h2hc-2020-ipv6-security.pdffgont-h2hc-2020-ipv6-security.pdf
fgont-h2hc-2020-ipv6-security.pdf
 
Neutrondev ppt
Neutrondev pptNeutrondev ppt
Neutrondev ppt
 
Hacker Halted 2014 - RDP Fuzzing And Why the Microsoft Open Protocol Specific...
Hacker Halted 2014 - RDP Fuzzing And Why the Microsoft Open Protocol Specific...Hacker Halted 2014 - RDP Fuzzing And Why the Microsoft Open Protocol Specific...
Hacker Halted 2014 - RDP Fuzzing And Why the Microsoft Open Protocol Specific...
 
NFV Infrastructure Manager with High Performance Software Switch Lagopus
NFV Infrastructure Manager with High Performance Software Switch Lagopus NFV Infrastructure Manager with High Performance Software Switch Lagopus
NFV Infrastructure Manager with High Performance Software Switch Lagopus
 
WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021WHIP and Janus @ IIT-RTC 2021
WHIP and Janus @ IIT-RTC 2021
 
Load Balancing
Load BalancingLoad Balancing
Load Balancing
 
How we use Twisted in Launchpad
How we use Twisted in LaunchpadHow we use Twisted in Launchpad
How we use Twisted in Launchpad
 

More from hacktivity

Zsombor Kovács - Cheaters for Everything from Minesweeper to Mobile Banking ...
Zsombor Kovács - 	Cheaters for Everything from Minesweeper to Mobile Banking ...Zsombor Kovács - 	Cheaters for Everything from Minesweeper to Mobile Banking ...
Zsombor Kovács - Cheaters for Everything from Minesweeper to Mobile Banking ...
hacktivity
 
Vincent Ruijter - ~Securing~ Attacking Kubernetes
Vincent Ruijter - ~Securing~ Attacking KubernetesVincent Ruijter - ~Securing~ Attacking Kubernetes
Vincent Ruijter - ~Securing~ Attacking Kubernetes
hacktivity
 
Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webappsMikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
hacktivity
 
Rodrigo Branco - How Offensive Security is Defining the Way We Compute // Key...
Rodrigo Branco - How Offensive Security is Defining the Way We Compute // Key...Rodrigo Branco - How Offensive Security is Defining the Way We Compute // Key...
Rodrigo Branco - How Offensive Security is Defining the Way We Compute // Key...
hacktivity
 
Gabrial Cirlig & Stefan Tanase - Smart Car Forensics and Vehicle Weaponization
Gabrial Cirlig & Stefan Tanase - Smart Car Forensics and Vehicle WeaponizationGabrial Cirlig & Stefan Tanase - Smart Car Forensics and Vehicle Weaponization
Gabrial Cirlig & Stefan Tanase - Smart Car Forensics and Vehicle Weaponization
hacktivity
 
Csongor Tamás - Examples of Locality Sensitive Hashing & their Usage for Malw...
Csongor Tamás - Examples of Locality Sensitive Hashing & their Usage for Malw...Csongor Tamás - Examples of Locality Sensitive Hashing & their Usage for Malw...
Csongor Tamás - Examples of Locality Sensitive Hashing & their Usage for Malw...
hacktivity
 
Matthias Deeg - Bypassing an Enterprise-Grade Biometric Face Authentication S...
Matthias Deeg - Bypassing an Enterprise-Grade Biometric Face Authentication S...Matthias Deeg - Bypassing an Enterprise-Grade Biometric Face Authentication S...
Matthias Deeg - Bypassing an Enterprise-Grade Biometric Face Authentication S...
hacktivity
 
Gergely Biczók - Interdependent Privacy & the Psychology of Likes
Gergely Biczók - Interdependent Privacy & the Psychology of LikesGergely Biczók - Interdependent Privacy & the Psychology of Likes
Gergely Biczók - Interdependent Privacy & the Psychology of Likes
hacktivity
 
Paolo Stagno - A Drone Tale: All Your Drones Belong To Us
Paolo Stagno - A Drone Tale: All Your Drones Belong To UsPaolo Stagno - A Drone Tale: All Your Drones Belong To Us
Paolo Stagno - A Drone Tale: All Your Drones Belong To Us
hacktivity
 
Jack S (linkcabin) - Becoming The Quiz Master: Thanks RE.
Jack S (linkcabin) - Becoming The Quiz Master: Thanks RE.Jack S (linkcabin) - Becoming The Quiz Master: Thanks RE.
Jack S (linkcabin) - Becoming The Quiz Master: Thanks RE.
hacktivity
 
Zoltán Balázs - Ethereum Smart Contract Hacking Explained like I’m Five
Zoltán Balázs - Ethereum Smart Contract Hacking Explained like I’m FiveZoltán Balázs - Ethereum Smart Contract Hacking Explained like I’m Five
Zoltán Balázs - Ethereum Smart Contract Hacking Explained like I’m Five
hacktivity
 

More from hacktivity (11)

Zsombor Kovács - Cheaters for Everything from Minesweeper to Mobile Banking ...
Zsombor Kovács - 	Cheaters for Everything from Minesweeper to Mobile Banking ...Zsombor Kovács - 	Cheaters for Everything from Minesweeper to Mobile Banking ...
Zsombor Kovács - Cheaters for Everything from Minesweeper to Mobile Banking ...
 
Vincent Ruijter - ~Securing~ Attacking Kubernetes
Vincent Ruijter - ~Securing~ Attacking KubernetesVincent Ruijter - ~Securing~ Attacking Kubernetes
Vincent Ruijter - ~Securing~ Attacking Kubernetes
 
Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webappsMikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
 
Rodrigo Branco - How Offensive Security is Defining the Way We Compute // Key...
Rodrigo Branco - How Offensive Security is Defining the Way We Compute // Key...Rodrigo Branco - How Offensive Security is Defining the Way We Compute // Key...
Rodrigo Branco - How Offensive Security is Defining the Way We Compute // Key...
 
Gabrial Cirlig & Stefan Tanase - Smart Car Forensics and Vehicle Weaponization
Gabrial Cirlig & Stefan Tanase - Smart Car Forensics and Vehicle WeaponizationGabrial Cirlig & Stefan Tanase - Smart Car Forensics and Vehicle Weaponization
Gabrial Cirlig & Stefan Tanase - Smart Car Forensics and Vehicle Weaponization
 
Csongor Tamás - Examples of Locality Sensitive Hashing & their Usage for Malw...
Csongor Tamás - Examples of Locality Sensitive Hashing & their Usage for Malw...Csongor Tamás - Examples of Locality Sensitive Hashing & their Usage for Malw...
Csongor Tamás - Examples of Locality Sensitive Hashing & their Usage for Malw...
 
Matthias Deeg - Bypassing an Enterprise-Grade Biometric Face Authentication S...
Matthias Deeg - Bypassing an Enterprise-Grade Biometric Face Authentication S...Matthias Deeg - Bypassing an Enterprise-Grade Biometric Face Authentication S...
Matthias Deeg - Bypassing an Enterprise-Grade Biometric Face Authentication S...
 
Gergely Biczók - Interdependent Privacy & the Psychology of Likes
Gergely Biczók - Interdependent Privacy & the Psychology of LikesGergely Biczók - Interdependent Privacy & the Psychology of Likes
Gergely Biczók - Interdependent Privacy & the Psychology of Likes
 
Paolo Stagno - A Drone Tale: All Your Drones Belong To Us
Paolo Stagno - A Drone Tale: All Your Drones Belong To UsPaolo Stagno - A Drone Tale: All Your Drones Belong To Us
Paolo Stagno - A Drone Tale: All Your Drones Belong To Us
 
Jack S (linkcabin) - Becoming The Quiz Master: Thanks RE.
Jack S (linkcabin) - Becoming The Quiz Master: Thanks RE.Jack S (linkcabin) - Becoming The Quiz Master: Thanks RE.
Jack S (linkcabin) - Becoming The Quiz Master: Thanks RE.
 
Zoltán Balázs - Ethereum Smart Contract Hacking Explained like I’m Five
Zoltán Balázs - Ethereum Smart Contract Hacking Explained like I’m FiveZoltán Balázs - Ethereum Smart Contract Hacking Explained like I’m Five
Zoltán Balázs - Ethereum Smart Contract Hacking Explained like I’m Five
 

Recently uploaded

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 

Recently uploaded (20)

When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 

Balázs Bucsay - XFLTReaT: Building a Tunnel

  • 1. XFLTReaT: Building a Tunnel Balázs Bucsay / @xoreipeip Managing Security Consultant @ NCC Group
  • 2. Bio / Balázs Bucsay • Managing Security Consultant @ NCC Group • Strictly technical certificates: OSCE, OSCP, OSWP, GIAC GPEN, CREST CCT Inf • Started with ring0 debuggers and disassemblers in 2000 (13 years old) • Hacktivity Jubilee – Talk Jubilee (my very first talk in 2008) • Major projects: • GI John (2009) – Hacktivity • Chw00t (2015) – PHDays, DeepSec, Hacktivity • XFLTReaT (2017) – DeepSec, RuxCon, BruCON, HITB GSEC, Shakacon • Twitter: @xoreipeip • Linkedin: https://www.linkedin.com/in/bucsayb
  • 3. Presentations • Talks around the world: • North America: Hacker Halted, Shakacon • Australia: RuxCon • Asia: Hack in the Box GSEC • Europe: • DeepSec / Vienna (AT) • BruCON / Ghent (BE) • PHDays / Moscow (RU) • HackCon / Oslo (NO) • Hacktivity / Budapest (HU) • Inf. Gov. & eDisc. Summit / London (UK) @xoreipeip
  • 5. Exercise - show your hands • How many of you: • work in the offensive security? • have done tunnelling? DNS/ICMP/OpenVPN/CiscoAnyConnect/whatever • heard about XFLTReaT before? • are Python 3 enthusiastic? (sorry)
  • 8. Why would one use tunnels? • Work VPN – to access the corporate internal network • Hide real IP address • Whistle-blowers/Journalists to communicate anonymously • Torrent • ISPs filtering some ports (secure IMAP, SMTPS, NetBIOS, …) • Bypass corporate proxy policy • Bypass captive portals!? • What about you? @xoreipeip
  • 9. Have you done … tunnelling? Protocol Tool TCP @xoreipeip
  • 10. Have you done … tunnelling? Protocol Tool TCP OpenVPN Cisco AnyConnect UDP @xoreipeip
  • 11. Have you done … tunnelling? Protocol Tool TCP OpenVPN Cisco AnyConnect UDP OpenVPN ICMP @xoreipeip
  • 12. Have you done … tunnelling? Protocol Tool TCP OpenVPN Cisco AnyConnect UDP OpenVPN ICMP Hans Ping Tunnel ICMPTx DNS @xoreipeip
  • 13. Have you done … tunnelling? Protocol Tool TCP OpenVPN Cisco AnyConnect UDP OpenVPN ICMP Hans Ping Tunnel ICMPTx DNS iodine DNSCat* Ozymandns HTTP CONNECT Proxifier OpenVPN Pure HTTP ? TLS v1.2 ? TLS v1.2 with Kerberos auth ? @xoreipeip
  • 14. Oh no! I forgot to set up my OpenVPN on port 443 (Port TCP/443 unfiltered) Two days on a ferry
  • 15. 10 hour flight to Japan (ICMP unfiltered)
  • 16. At the airport (DNS unfiltered)
  • 17. What did I see? Get tired of: • As many protocols as many solutions • Hard to modify the existing ones • No modularity • Portability issues • Configuration issues • Unsupported/EoL tools • No automation at all • It is just hard, but it does not have to be! @xoreipeip
  • 19. Tunnelling theory 101 / MTU @xoreipeip
  • 20. What is XFLTReaT? XFLTReaT (say exfil-treat or exfiltrate) • Tunnelling framework • Open-source • Python based • OOP • Modular • Multi client • Plug and Play (at least as easy as it can be) • Check functionality @xoreipeip
  • 21. Easy, modular, plug & play • Install: • git clone & pip install • edit config • run • Transport, encryption, authentication etc. are modular • Plug and play: • Copy new module into modules/, support files to support/ • edit config • run @xoreipeip
  • 22. Framework, as it is How many of you created tunnelling software? You do not have to: • Set up the routing • Handle multiple users • Create and set up an interface or interfaces • Care about encryption, authentication or encoding You only have to: • Encapsulate your packets into your protocol • Implement protocol related things @xoreipeip
  • 23. Check functionality • Easy way to figure out, which protocol is not filtered on the network • Automated approach: No deep knowledge is needed • Client sends a challenge over the selected (or all) modules to the server • If the server responses with the solution: • We know that the server is up and running • The specific module/protocol is working over the network • Connection can be made @xoreipeip
  • 24. One interface to rule them all @xoreipeip
  • 25. Channels • There are two channels in every tunnel • Data: data transmission • Control: control messages • Check message/response • Authentication related messages • Logoff message • Dummy message for keep-alive and query request • Auto-tune messages • etc. @xoreipeip
  • 26. Multi Operating System Support @xoreipeip Linux MacOS(X) Windows FreeBSD OpenBSD NetBSD TCP Generic Supported Supported Supported N/A N/A N/A UDP Generic Supported Supported Supported N/A N/A N/A ICMP Supported Supported Supported N/A N/A N/A SOCKS Supported Supported Supported N/A N/A N/A HTTP CONNECT Supported Supported Supported N/A N/A N/A DNS PoC N/A N/A N/A N/A N/A SCTP Supported N/A N/A N/A N/A N/A WebSocket Supported Supported N/A N/A N/A N/A RDP N/A N/A Supported N/A N/A N/A
  • 29. Ease of use/development • Only web traffic allowed? @xoreipeip
  • 30. Ease of use/development • Only web traffic allowed? Set your server on port TCP/80 • Only ICMP type 0 allowed? @xoreipeip
  • 31. Ease of use/development • Only web traffic allowed? Set your server on port TCP/80 • Only ICMP type 0 allowed? Copy ICMP module, change type 8 to 0 • HTTP should work, but only with special header? @xoreipeip
  • 32. Ease of use/development • Only web traffic allowed? Set your server on port TCP/80 • Only ICMP type 0 allowed? Copy ICMP module, change type 8 to 0 • HTTP should work, but only with special header? Set the header in source • HTTPS allowed but only with TLS v1.2? @xoreipeip
  • 33. Ease of use/development • Only web traffic allowed? Set your server on port TCP/80 • Only ICMP type 0 allowed? Copy ICMP module, change type 8 to 0 • HTTP should work, but only with special header? Set the header in source • HTTPS allowed but only with TLS v1.2? Copy TLS module, set it to 1.2 only • Special authentication over HTTP proxy? @xoreipeip
  • 34. Ease of use/development • Only web traffic allowed? Set your server on port TCP/80 • Only ICMP type 0 allowed? Copy ICMP module, change type 8 to 0 • HTTP should work, but only with special header? Set the header in source • HTTPS allowed but only with TLS v1.2? Copy TLS module, set it to 1.2 only • Special authentication over HTTP proxy? Implement the auth, change the config • Want to send data over text/SMS? @xoreipeip
  • 35. Ease of use/development • Only web traffic allowed? Set your server on port TCP/80 • Only ICMP type 0 allowed? Copy ICMP module, change type 8 to 0 • HTTP should work, but only with special header? Set the header in source • HTTPS allowed but only with TLS v1.2? Copy TLS module, set it to 1.2 only • Special authentication over HTTP proxy? Implement the auth, change the config • Want to send data over text/SMS? Handle connection with your phone from a module • PROTIP: just use the source! @xoreipeip
  • 36. SCTP + WebSocket • SCTP module created and submitted by @info_dox • Best example of how easy to create a standard tunnel • Please use the next-version branch for developing • Create issues • WebSocket module added • Created a new tunnel in 3-4 hours • Ideal for proxies if WebSocket is supported • What is your next module? @xoreipeip
  • 37. Split tunnelling • Not much to tell. • Default route stays • New entries added • By default read scope.txt • Formats: • 192.168.0.1 – single IP • 192.168.0.1/24 – 24 range • 192.168.0.1-10 – range of 11 IPs @xoreipeip
  • 38. Windows Support • It was added lately • Needs to be installed/configured: • OpenVPN’s TAP driver • Python 2.7 • Requirements (pywin32 only) • Routing (on registry key) • Start ”Routing and Remote Access” service • NAT ============================> • Do it backwards to uninstall @xoreipeip
  • 39. Remote Desktop Dynamic Virtual Channels • Introduced in Window Server 2008 & Windows Vista SP1 • Bi-directional channels can be created in the active RDP session • How it works: • DLL plugin have to be loaded in the mstsc.exe process’context • When initialized it creates a listener with the channel name • Magic happens only when the server connects to channel explicitly • This is how Copy&Paste, Remote drives, remote hardware are working thru RDP • Plugin could be implemented for Unices (FreeRDP) @xoreipeip
  • 40. Universal Dynamic Virtual Channel Connector • https://github.com/earthquake/UniversalDVC/ • Two parts: • .DLL that needs to be registered on the client (mstsc.exe) • .REG file if other user is used than the Administrator • .EXE that can be used on the server • Three modes for both sides: • listen() • connect() • Named Pipe @xoreipeip
  • 41. Universal DVC Connector example use cases/1 @xoreipeip
  • 42. Universal DVC Connector example use cases/2 @xoreipeip
  • 43. Universal DVC Connector example use cases/3 @xoreipeip
  • 44. Elevator pitch • Have you ever struggled testing over a Windows Jump box? • Have you been asked to provide a list of tools that you need for testing? • Have you spent a day or half a day installing your tools and still forgot something to get approved? @xoreipeip
  • 45. RDP module • Windows only + Server mode only • Disappointing bit that all stuff needs to be configured/installed • 8 Mbps with the module itself • 18 Mbps with UDVC + TCP Generic module • Win32 API calls from Python is not a good idea • Threading could help, maybe calling functions directly too • NAT’d – because it is TUN and not TAP @xoreipeip
  • 46. DEMO
  • 47. Offense • Bypass basic obstacles • Specific ports are unfiltered (TCP / UDP) • DNS allowed • ICMP allowed • Bypass not that basic obstacles • Specific protocol allowed (IPS or any other active device in place) • Special authentication required • Test over jump boxes – segregated networks • Exfiltrate information from internal networks • Get unfiltered internet access @xoreipeip
  • 48. Defense for companies Check your network settings • Check functionality • Try to exfiltrate data – check whether your active network device can catch it Captive portals • Drop all packets that are addressed to external until not authenticated • All DNS query should have the same response (the portal) @xoreipeip
  • 49. Defense for companies No solution is 100% secure • Do not route your network to the internet • Disable all traffic between the internet and internal network • Use HTTP Proxy and enforce it • Whitelist ports (80 and 443, would you need anything else?) • Blacklist websites (does not really help on XFLTReaT) • DNS • Filter external DNS queries if possible (let HTTP proxy do the resolving) @xoreipeip
  • 50. Defense for companies No solution is 100% secure • Do you have an inventory? (IP, owner, purpose, location) • Do baselining (Use Netflow or Bro) • Check relation between IPs • What are the top talker source IPs (bytes, packets, flows)? • What are the top destination IPs (bytes, packets, flows)? • Any unusual activity should generate an alert/be blocked when you are done @xoreipeip
  • 52. TODO + Help me! @xoreipeip • What to do next? • Bug fixes • New modules • How can you help? • Help develop stuff (use next-version branch) • Follow me on twitter, retweet XFLTReaT related tweets
  • 53. Q&A - Thank you for your attention Balazs Bucsay / @xoreipeip
  • 54. Office Locations Europe Manchester - Head Office Amsterdam Basingstoke Cambridge Copenhagen Cheltenham Delft Edinburgh Glasgow The Hague Leatherhead Leeds London Madrid Malmö Milton Keynes Munich Vilnius Zurich North America Atlanta, GA Austin, TX Boston, MA Campbell, CA Chicago, IL Kitchener, ON New York, NY San Francisco, CA Seattle, WA Sunnyvale, CA Toronto, ON Asia-Pacific Singapore Sydney Middle East Dubai