SlideShare a Scribd company logo
The State of the
Veil Framework
@harmj0y
@ChrisTruncer
Who We Are
●  Will Schroeder (@harmj0y)
o  Former national research lab keyboard monkey
●  Christopher Truncer (@ChrisTruncer)
o  Florida State Graduate - Go Noles!
●  Red Teamers, Pen Testers, and Security
Researchers for the Adaptive Threat Division
Overview
●  Genesis
●  The Veil-Framework
○  Evading AV Veil-
Evasion
○  Payload Delivery Veil-Catapult
○  Situational Awareness Veil-PowerView
○  Post-Exploitation Veil-Pillage
○  Shellcode Generation Veil-Ordinance
○  demos throughout
●  Moving Forward
○  Veil-Framework 3.0
Genesis
Where it all began
Our Problem
●  Why are are pentesters caught but malware
authors aren’t?
Our Initial Solution
●  Want a way to bypass antivirus “solutions”
as easily as professional malware
●  Minimize repetition
○  Don’t roll custom backdoors each assessment
●  Execute our agents on targets in a way that
bypasses most antivirus detection
The Veil-Framework
●  A toolset aiming to bridge the gap between
pentesting and red teaming capabilities
●  We started with Veil-Evasion, and began to
branch out to payload delivery and
PowerShell exploitation
●  Nothing revolutionary here, but want to bring
together existing techniques and incremental
research try to push things forward
Ethical Considerations
●  Similar parallels to the exploit disclosure
debate
●  The public community is typically 5+ years
behind professional malware developers
●  The blackhat industry has solved this
problem, why shouldn’t the whitehats as
well?
HD’s Take
●  “The strongest case for information
disclosure is when the benefit of
releasing the information outweighs the
possible risks. In this case, like many
others, the bad guys already won.”
●  https://community.rapid7.com/community/
metasploit/blog/2009/02/23/the-best-
defense-is-information
Public Reaction
●  “surely this will result in 21 new signatures for all
major AVs, and then we’re back to square one?”
●  “Isn’t our entire field meant to be working towards
increasing security, rather than handing out fully
functioning weapons?”
●  “The other point here is that anything that helps to
expose how in-effective AV is at stopping even a
minimally sophisticated attacker is a good thing.”
http://www.reddit.com/r/netsec/comments/1fc2xp/veil_a_metasploit_payload_generator_for_bypassing/
Twitter Reaction
Veil-Evasion
Efficient
Anti-Virus
Evasion
Our Approach
●  Aggregate various shellcode injection
techniques across multiple languages
○  Public techniques used by a variety of open-source
tools
●  Some shellcodeless Meterpreter stagers and
“auxiliary” modules as well
●  Focus on usability, automation, and the
creation of a true framework
Previous Work
●  Mark Baggett’s post
Tips for Evading Anti-Virus During Pen
Testing was the first public resource to talk
about using Python to inject shellcode
●  Dave Kennedy released PyInjector in 2012
●  We ended up mostly drawing from Debasish
Mandal's Execute ShellCode Using Python
o  Uses the VirtualAlloc/CreateThread/
WaitForSingleObject pattern
Features
●  Can use either Metasploit generated or
custom written shellcode
○  Metasploit Framework payloads/options are
dynamically loaded
●  Third-party tools can be easily integrated
○  Hyperion, PE Scrambler, Backdoor Factory, etc.
●  Command line switches add in scriptability
●  Check payload hashes against VirusTotal
Native Compilation
Shellcode Injection 101
●  Void Pointer Casting
○  Can’t guarantee shellcode is in an executable part of
memory
●  VirtualAlloc
○  Allocate memory as RWX, inject and execute the
shellcode from the allocated section of memory
●  HeapAlloc
○  Creates a heap object, allocates memory, injects
and executes shellcode
Pwnstaller
●  What if some vendors trigger on the
Pyinstaller loader.exe itself?
●  How about a (reasonably) obfuscated
version of the Pyinstaller loader? :)
o  BSides Boston ‘14: Pwnstaller 1.0
o  https://github.com/harmj0y/pwnstaller/
●  Integrated into Veil-Evasion this past May
“Pure” Stagers
●  Stage 1 Meterpreter loaders don’t have to be
implemented in shellcode
●  Meterpreter stagers can be written in higher-
level languages
o  Thanks Raffi!
https://github.com/rsmudge/metasploit-loader
●  Lots of varieties in Python, C, PowerShell,
C# and Ruby
How Stagers Work
●  1) a tcp connection is opened to the handler
●  2) the handler sends back 4 bytes indicating
the .dll size, and then transfers the .dll
●  3) the socket number for this tcp connection
is pushed into the edi register
●  4) execution is passed to the .dll just like
regular shellcode (void * or VirtualAlloc)
●  reverse_http[s] stagers skip steps 2 and 3
V-Day
●  Our release cycle, modeled on Microsoft’s
Patch Tuesday :)
●  New modules are released on the 15th of
every month
●  Currently there are 34+ modules for use
○  We still have 20+ modules in a development or QA
state
●  We plan to keep #avloling for quite some
time
Veil-Evasion Demo
Veil-Catapult
Payload Delivery
Veil-Catapult
●  After payload generation, our focus moved
to payload delivery
●  Features integration with Veil-Evasion to
generate payloads, and can upload or host/
execute binaries on targets
o  additional methods (like PowerShell) as well
●  Obsoleted with the release of Veil-Pillage
Veil-Catapult
Veil-Pillage
Modular
Post-Exploitation
Features
●  Trigger Options:
o  with a preference for stealth
o  Pillage utilizes pth-winexe, pth-wmis, and Impacket’s
smbexec/smb servers for delivery and triggering
●  Modularity:
o  want it to be easy to implement new post-
exploitation techniques (common library)
o  and want to be able to easily integrate our code/
techniques into other tools (cli options)
●  Completeness:
o  automation, comprehensive logging, cleanup, etc.
Veil-Pillage
exe_delivery
●  Catapult functionality ported to Pillage
●  Executables can be specified, or generated
with seamless Veil-Evasion integration
●  .EXEs are then uploaded/triggered, or
hosted/triggered with a UNC path
o  This gets some otherwise disk-detectable .EXEs
right by some AVs!
Hashdumping
●  Let’s aggregate some of the best existing
techniques and build some logic in:
if (Powershell working) {
Powerdump/PowerSploit }
else {
determine_arch {
host/execute appropriate binaries }
}
●  Expose these techniques to the user for
situation-dependent decisions
powersploit/*
●  Several PowerSploit modules are included in
Pillage
●  A web server is stood up in the background
o  the ‘IEX (New-Object
Net.WebClient).DownloadString(...)’ cradle is
transparently triggered
●  Makes it easy to run PowerSploit across
multiple machines
Veil-PowerView
Situational
Awareness with
PowerShell
Veil-PowerView
●  Pure PowerShell situational awareness tool
●  Arose partially because a client banned “net”
commands on domain machines
●  Otherwise initially inspired by Rob Fuller’s
netview.exe tool
○  Wanted something a bit more flexible that also didn’t
drop a binary to disk
●  Started to explore and expand functionality
Get-Net*
●  Full-featured replacements for almost all “net
*” commands, utilizing Powershell AD hooks
and various API calls
o  Get-NetUsers, Get-NetGroup, Get-NetServers, Get-
NetSessions, Get-NetLoggedon, etc.
●  Think dsquery on steroids
●  See README.md for complete list, and
function descriptions for usage options
The Fun Stuff
●  Invoke-Netview: netview.exe replacement
●  Invoke-ShareFinder: finds open shares on
the network and checks if you have read
access
●  Invoke-FindLocalAdminAccess: port of
local_admin_search_enum.rb Metaspoit
module
●  Invoke-FindVulnSystems: queries AD for
machines likely vulnerable to MS08-067
User-Hunting
●  Goal: find which machines specific users are
logged into
●  Invoke-UserHunter: finds where target
users or group members are logged into on
the network
●  Invoke-StealthUserHunter: extracts user
HomeDirectories from AD, and runs Get-
NetSessions on file servers to hunt for
targets
o  Significantly less traffic than Invoke-UserHunter
Domain Trusts
●  PowerView can now enumerate and exploit
existing domain trusts:
o  Get-NetDomainTrusts: enumerates all existing
domain trusts, à la nltest
o  Invoke-MapDomainTrusts: recursively maps all
reachable trusts
●  Most PowerView functions now accept a
“-Domain <name>” flag, allowing them to
operate across trusts
o  e.g. Get-NetUsers –Domain sub.test.local will
enumerate all the users from the sub.test.local
domain if an implicit trust exists
Sidenote:
Mapping Domain Trusts
●  Another ATD member recently released
http://sixdub.net/2014/10/nodal-analysis-of-
domain-trusts-maximizing-the-win/
●  Shows you how to take output from Invoke-
MapDomainTrusts and perform nodal
analysis on it (centrality, etc.)
●  Also, can make neat looking graphs :)
The State of the Veil Framework
Veil-PowerView Demo
Veil-Ordinance
Fast
Shellcode
Generation
Veil-Evasion and Shellcode
●  Veil-Evasion outsources its shellcode
generation capabilities to msfvenom
●  Reliance on outside tools can sometimes
cause complications:
○  If msfvenom output changes, our parsing can break
■  This has happened twice :(
○  Speed - MSF can be slow to start (even when
instantiating the simplified framework)
What we need
●  We need a tool that generates shellcode
○  Output doesn’t change
■  Allows us to easily control what we
want to parse
○  Still provide bad character avoidance
○  Speed is always nice too
●  Encoders! Send us any/all python POCs!
○  We will slowly work through MSF encoders
●  Feedback!
Veil-Ordnance
●  6 different payloads
○  Tried to pick from the most commonly used payloads
(rev_tcp, bind_tcp, rev_https, rev_http, rev_tcp_dns,
rev_tcp_all_ports)
○  All payloads were ported from MSF (read: we did not
develop them)
●  1 current encoder
○  Single Byte Xor Encoder - Developed by Justin
Warner (@sixdub)
Veil-Ordinance Demo
Moving
Forward
Evasion Steps Forward
●  Still have a large backlog of techniques and
languages to release
●  Looking into the generation of 64-bit payload
modules
●  Researching more complex shellcode-
injection methods
Veil-Framework 3.0
●  We’re beginning a reorganization and
ground-up rewrite of the Veil-Framework
o  Veil-Framework/Veil will include Evasion, Catapult,
Pillage, and Ordnance
o  Veil-Framework/PowerTools will include
PowerView and PowerUp
●  Will keep a common theme of evasion,
interoperability, and a big UI focus
●  Planning on a Spring release timeframe
Questions?
●  harmj0y@veil-framework.com
o  @harmj0y
●  chris@veil-framework.com
o  @ChrisTruncer
●  #veil on freenode
●  https://www.veil-framework.com

More Related Content

PDF
An EyeWitness View into your Network
PDF
AV Evasion with the Veil Framework
PDF
Ever Present Persistence - Established Footholds Seen in the Wild
PDF
Egress-Assess and Owning Data Exfiltration
PDF
Windows 10 - Endpoint Security Improvements and the Implant Since Windows 2000
PPTX
Hacking - Breaking Into It
PDF
The Supporting Role of Antivirus Evasion while Persisting
PDF
A Battle Against the Industry - Beating Antivirus for Meterpreter and More
An EyeWitness View into your Network
AV Evasion with the Veil Framework
Ever Present Persistence - Established Footholds Seen in the Wild
Egress-Assess and Owning Data Exfiltration
Windows 10 - Endpoint Security Improvements and the Implant Since Windows 2000
Hacking - Breaking Into It
The Supporting Role of Antivirus Evasion while Persisting
A Battle Against the Industry - Beating Antivirus for Meterpreter and More

What's hot (20)

PDF
Veil-Ordnance
PDF
Bringing Down the House - How One Python Script Ruled Over AntiVirus
PDF
AntiVirus Evasion Reconstructed - Veil 3.0
PDF
The Art of AV Evasion - Or Lack Thereof
PDF
Higher Level Malware
PDF
What Goes In Must Come Out: Egress-Assess and Data Exfiltration
PDF
Pentester++
PPTX
The Veil-Framework
PDF
CheckPlease: Payload-Agnostic Targeted Malware
PDF
Passive Intelligence Gathering and Analytics - It's All Just Metadata!
PPTX
CheckPlease - Payload-Agnostic Implant Security
PDF
Veil-PowerView - NovaHackers
PDF
Ruxmon feb 2013 what happened to rails
PPTX
Pen Testing, Red Teaming, and More
PDF
Jwt == insecurity?
PPTX
Pwnstaller
PPTX
Introduction to Dynamic Malware Analysis ...Or am I "Cuckoo for Malware?"
PDF
Integrating web archiving in preservation workflows. Louise Fauduet, Clément ...
PDF
Exploitation and State Machines
PDF
Csw2016 d antoine_automatic_exploitgeneration
Veil-Ordnance
Bringing Down the House - How One Python Script Ruled Over AntiVirus
AntiVirus Evasion Reconstructed - Veil 3.0
The Art of AV Evasion - Or Lack Thereof
Higher Level Malware
What Goes In Must Come Out: Egress-Assess and Data Exfiltration
Pentester++
The Veil-Framework
CheckPlease: Payload-Agnostic Targeted Malware
Passive Intelligence Gathering and Analytics - It's All Just Metadata!
CheckPlease - Payload-Agnostic Implant Security
Veil-PowerView - NovaHackers
Ruxmon feb 2013 what happened to rails
Pen Testing, Red Teaming, and More
Jwt == insecurity?
Pwnstaller
Introduction to Dynamic Malware Analysis ...Or am I "Cuckoo for Malware?"
Integrating web archiving in preservation workflows. Louise Fauduet, Clément ...
Exploitation and State Machines
Csw2016 d antoine_automatic_exploitgeneration
Ad

Viewers also liked (12)

PDF
EyeWitness - A Web Application Triage Tool
PPTX
Invoke-Obfuscation nullcon 2017
PDF
Linux Shellcode disassembling
PDF
Anatomy of A Shell Code, Reverse engineering
PPTX
07 - Bypassing ASLR, or why X^W matters
ODP
Design and implementation_of_shellcodes
PDF
Efficient Bytecode Analysis: Linespeed Shellcode Detection
PPTX
05 - Bypassing DEP, or why ASLR matters
PDF
Shellcode and heapspray detection in phoneyc
PPTX
Java Shellcode Execution
PDF
Rooting Your Internals: Inter-Protocol Exploitation, custom shellcode and BeEF
EyeWitness - A Web Application Triage Tool
Invoke-Obfuscation nullcon 2017
Linux Shellcode disassembling
Anatomy of A Shell Code, Reverse engineering
07 - Bypassing ASLR, or why X^W matters
Design and implementation_of_shellcodes
Efficient Bytecode Analysis: Linespeed Shellcode Detection
05 - Bypassing DEP, or why ASLR matters
Shellcode and heapspray detection in phoneyc
Java Shellcode Execution
Rooting Your Internals: Inter-Protocol Exploitation, custom shellcode and BeEF
Ad

Similar to The State of the Veil Framework (20)

PPTX
Building an Empire with PowerShell
PDF
The Future of Security and Productivity in Our Newly Remote World
PPTX
Go Hack Yourself - 10 Pen Test Tactics for Blue Teamers
PPTX
Machine learning in cybersecutiry
PDF
ContainerCon - Test Driven Infrastructure
PPTX
Opendaylight SDN Controller
PPTX
PDF
Crikeycon 2019 Velociraptor Workshop
PPTX
An introduction to Node.js application development
PDF
44CON London 2015 - Software Defined Networking (SDN) Security
PDF
44CON & Ruxcon: SDN security
PDF
Scala, docker and testing, oh my! mario camou
PDF
Pluggable Infrastructure with CI/CD and Docker
PPTX
Kubernetes 101
PDF
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
PDF
Devops with Python by Yaniv Cohen DevopShift
PDF
Bgoug 2019.11 building free, open-source, plsql products in cloud
PDF
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
PDF
'Effective node.js development' by Viktor Turskyi at OdessaJS'2020
PPTX
Instant developer onboarding with self contained repositories
Building an Empire with PowerShell
The Future of Security and Productivity in Our Newly Remote World
Go Hack Yourself - 10 Pen Test Tactics for Blue Teamers
Machine learning in cybersecutiry
ContainerCon - Test Driven Infrastructure
Opendaylight SDN Controller
Crikeycon 2019 Velociraptor Workshop
An introduction to Node.js application development
44CON London 2015 - Software Defined Networking (SDN) Security
44CON & Ruxcon: SDN security
Scala, docker and testing, oh my! mario camou
Pluggable Infrastructure with CI/CD and Docker
Kubernetes 101
O'Reilly Software Architecture Conference London 2017: Building Resilient Mic...
Devops with Python by Yaniv Cohen DevopShift
Bgoug 2019.11 building free, open-source, plsql products in cloud
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
'Effective node.js development' by Viktor Turskyi at OdessaJS'2020
Instant developer onboarding with self contained repositories

Recently uploaded (20)

PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
KodekX | Application Modernization Development
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Electronic commerce courselecture one. Pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Machine learning based COVID-19 study performance prediction
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
20250228 LYD VKU AI Blended-Learning.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
The AUB Centre for AI in Media Proposal.docx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Encapsulation_ Review paper, used for researhc scholars
Mobile App Security Testing_ A Comprehensive Guide.pdf
KodekX | Application Modernization Development
Digital-Transformation-Roadmap-for-Companies.pptx
Electronic commerce courselecture one. Pdf
A Presentation on Artificial Intelligence
Machine learning based COVID-19 study performance prediction
Spectral efficient network and resource selection model in 5G networks
Understanding_Digital_Forensics_Presentation.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Per capita expenditure prediction using model stacking based on satellite ima...

The State of the Veil Framework

  • 1. The State of the Veil Framework @harmj0y @ChrisTruncer
  • 2. Who We Are ●  Will Schroeder (@harmj0y) o  Former national research lab keyboard monkey ●  Christopher Truncer (@ChrisTruncer) o  Florida State Graduate - Go Noles! ●  Red Teamers, Pen Testers, and Security Researchers for the Adaptive Threat Division
  • 3. Overview ●  Genesis ●  The Veil-Framework ○  Evading AV Veil- Evasion ○  Payload Delivery Veil-Catapult ○  Situational Awareness Veil-PowerView ○  Post-Exploitation Veil-Pillage ○  Shellcode Generation Veil-Ordinance ○  demos throughout ●  Moving Forward ○  Veil-Framework 3.0
  • 5. Our Problem ●  Why are are pentesters caught but malware authors aren’t?
  • 6. Our Initial Solution ●  Want a way to bypass antivirus “solutions” as easily as professional malware ●  Minimize repetition ○  Don’t roll custom backdoors each assessment ●  Execute our agents on targets in a way that bypasses most antivirus detection
  • 7. The Veil-Framework ●  A toolset aiming to bridge the gap between pentesting and red teaming capabilities ●  We started with Veil-Evasion, and began to branch out to payload delivery and PowerShell exploitation ●  Nothing revolutionary here, but want to bring together existing techniques and incremental research try to push things forward
  • 8. Ethical Considerations ●  Similar parallels to the exploit disclosure debate ●  The public community is typically 5+ years behind professional malware developers ●  The blackhat industry has solved this problem, why shouldn’t the whitehats as well?
  • 9. HD’s Take ●  “The strongest case for information disclosure is when the benefit of releasing the information outweighs the possible risks. In this case, like many others, the bad guys already won.” ●  https://community.rapid7.com/community/ metasploit/blog/2009/02/23/the-best- defense-is-information
  • 10. Public Reaction ●  “surely this will result in 21 new signatures for all major AVs, and then we’re back to square one?” ●  “Isn’t our entire field meant to be working towards increasing security, rather than handing out fully functioning weapons?” ●  “The other point here is that anything that helps to expose how in-effective AV is at stopping even a minimally sophisticated attacker is a good thing.” http://www.reddit.com/r/netsec/comments/1fc2xp/veil_a_metasploit_payload_generator_for_bypassing/
  • 13. Our Approach ●  Aggregate various shellcode injection techniques across multiple languages ○  Public techniques used by a variety of open-source tools ●  Some shellcodeless Meterpreter stagers and “auxiliary” modules as well ●  Focus on usability, automation, and the creation of a true framework
  • 14. Previous Work ●  Mark Baggett’s post Tips for Evading Anti-Virus During Pen Testing was the first public resource to talk about using Python to inject shellcode ●  Dave Kennedy released PyInjector in 2012 ●  We ended up mostly drawing from Debasish Mandal's Execute ShellCode Using Python o  Uses the VirtualAlloc/CreateThread/ WaitForSingleObject pattern
  • 15. Features ●  Can use either Metasploit generated or custom written shellcode ○  Metasploit Framework payloads/options are dynamically loaded ●  Third-party tools can be easily integrated ○  Hyperion, PE Scrambler, Backdoor Factory, etc. ●  Command line switches add in scriptability ●  Check payload hashes against VirusTotal
  • 17. Shellcode Injection 101 ●  Void Pointer Casting ○  Can’t guarantee shellcode is in an executable part of memory ●  VirtualAlloc ○  Allocate memory as RWX, inject and execute the shellcode from the allocated section of memory ●  HeapAlloc ○  Creates a heap object, allocates memory, injects and executes shellcode
  • 18. Pwnstaller ●  What if some vendors trigger on the Pyinstaller loader.exe itself? ●  How about a (reasonably) obfuscated version of the Pyinstaller loader? :) o  BSides Boston ‘14: Pwnstaller 1.0 o  https://github.com/harmj0y/pwnstaller/ ●  Integrated into Veil-Evasion this past May
  • 19. “Pure” Stagers ●  Stage 1 Meterpreter loaders don’t have to be implemented in shellcode ●  Meterpreter stagers can be written in higher- level languages o  Thanks Raffi! https://github.com/rsmudge/metasploit-loader ●  Lots of varieties in Python, C, PowerShell, C# and Ruby
  • 20. How Stagers Work ●  1) a tcp connection is opened to the handler ●  2) the handler sends back 4 bytes indicating the .dll size, and then transfers the .dll ●  3) the socket number for this tcp connection is pushed into the edi register ●  4) execution is passed to the .dll just like regular shellcode (void * or VirtualAlloc) ●  reverse_http[s] stagers skip steps 2 and 3
  • 21. V-Day ●  Our release cycle, modeled on Microsoft’s Patch Tuesday :) ●  New modules are released on the 15th of every month ●  Currently there are 34+ modules for use ○  We still have 20+ modules in a development or QA state ●  We plan to keep #avloling for quite some time
  • 25. ●  After payload generation, our focus moved to payload delivery ●  Features integration with Veil-Evasion to generate payloads, and can upload or host/ execute binaries on targets o  additional methods (like PowerShell) as well ●  Obsoleted with the release of Veil-Pillage Veil-Catapult
  • 27. Features ●  Trigger Options: o  with a preference for stealth o  Pillage utilizes pth-winexe, pth-wmis, and Impacket’s smbexec/smb servers for delivery and triggering ●  Modularity: o  want it to be easy to implement new post- exploitation techniques (common library) o  and want to be able to easily integrate our code/ techniques into other tools (cli options) ●  Completeness: o  automation, comprehensive logging, cleanup, etc.
  • 29. exe_delivery ●  Catapult functionality ported to Pillage ●  Executables can be specified, or generated with seamless Veil-Evasion integration ●  .EXEs are then uploaded/triggered, or hosted/triggered with a UNC path o  This gets some otherwise disk-detectable .EXEs right by some AVs!
  • 30. Hashdumping ●  Let’s aggregate some of the best existing techniques and build some logic in: if (Powershell working) { Powerdump/PowerSploit } else { determine_arch { host/execute appropriate binaries } } ●  Expose these techniques to the user for situation-dependent decisions
  • 31. powersploit/* ●  Several PowerSploit modules are included in Pillage ●  A web server is stood up in the background o  the ‘IEX (New-Object Net.WebClient).DownloadString(...)’ cradle is transparently triggered ●  Makes it easy to run PowerSploit across multiple machines
  • 33. Veil-PowerView ●  Pure PowerShell situational awareness tool ●  Arose partially because a client banned “net” commands on domain machines ●  Otherwise initially inspired by Rob Fuller’s netview.exe tool ○  Wanted something a bit more flexible that also didn’t drop a binary to disk ●  Started to explore and expand functionality
  • 34. Get-Net* ●  Full-featured replacements for almost all “net *” commands, utilizing Powershell AD hooks and various API calls o  Get-NetUsers, Get-NetGroup, Get-NetServers, Get- NetSessions, Get-NetLoggedon, etc. ●  Think dsquery on steroids ●  See README.md for complete list, and function descriptions for usage options
  • 35. The Fun Stuff ●  Invoke-Netview: netview.exe replacement ●  Invoke-ShareFinder: finds open shares on the network and checks if you have read access ●  Invoke-FindLocalAdminAccess: port of local_admin_search_enum.rb Metaspoit module ●  Invoke-FindVulnSystems: queries AD for machines likely vulnerable to MS08-067
  • 36. User-Hunting ●  Goal: find which machines specific users are logged into ●  Invoke-UserHunter: finds where target users or group members are logged into on the network ●  Invoke-StealthUserHunter: extracts user HomeDirectories from AD, and runs Get- NetSessions on file servers to hunt for targets o  Significantly less traffic than Invoke-UserHunter
  • 37. Domain Trusts ●  PowerView can now enumerate and exploit existing domain trusts: o  Get-NetDomainTrusts: enumerates all existing domain trusts, à la nltest o  Invoke-MapDomainTrusts: recursively maps all reachable trusts ●  Most PowerView functions now accept a “-Domain <name>” flag, allowing them to operate across trusts o  e.g. Get-NetUsers –Domain sub.test.local will enumerate all the users from the sub.test.local domain if an implicit trust exists
  • 38. Sidenote: Mapping Domain Trusts ●  Another ATD member recently released http://sixdub.net/2014/10/nodal-analysis-of- domain-trusts-maximizing-the-win/ ●  Shows you how to take output from Invoke- MapDomainTrusts and perform nodal analysis on it (centrality, etc.) ●  Also, can make neat looking graphs :)
  • 42. Veil-Evasion and Shellcode ●  Veil-Evasion outsources its shellcode generation capabilities to msfvenom ●  Reliance on outside tools can sometimes cause complications: ○  If msfvenom output changes, our parsing can break ■  This has happened twice :( ○  Speed - MSF can be slow to start (even when instantiating the simplified framework)
  • 43. What we need ●  We need a tool that generates shellcode ○  Output doesn’t change ■  Allows us to easily control what we want to parse ○  Still provide bad character avoidance ○  Speed is always nice too ●  Encoders! Send us any/all python POCs! ○  We will slowly work through MSF encoders ●  Feedback!
  • 44. Veil-Ordnance ●  6 different payloads ○  Tried to pick from the most commonly used payloads (rev_tcp, bind_tcp, rev_https, rev_http, rev_tcp_dns, rev_tcp_all_ports) ○  All payloads were ported from MSF (read: we did not develop them) ●  1 current encoder ○  Single Byte Xor Encoder - Developed by Justin Warner (@sixdub)
  • 47. Evasion Steps Forward ●  Still have a large backlog of techniques and languages to release ●  Looking into the generation of 64-bit payload modules ●  Researching more complex shellcode- injection methods
  • 48. Veil-Framework 3.0 ●  We’re beginning a reorganization and ground-up rewrite of the Veil-Framework o  Veil-Framework/Veil will include Evasion, Catapult, Pillage, and Ordnance o  Veil-Framework/PowerTools will include PowerView and PowerUp ●  Will keep a common theme of evasion, interoperability, and a big UI focus ●  Planning on a Spring release timeframe
  • 49. Questions? ●  harmj0y@veil-framework.com o  @harmj0y ●  chris@veil-framework.com o  @ChrisTruncer ●  #veil on freenode ●  https://www.veil-framework.com