SlideShare ist ein Scribd-Unternehmen logo
1 von 60
Downloaden Sie, um offline zu lesen
Unmanned Aerial Vehicles
Exploit Automation with
the Metasploit Framework
James Lee
1
# whoami
● James Lee
● egypt
● Core Developer, Metasploit Project
● Working full time on Metasploit for
2
3
Fingerprinting
Clients
Exploiting
Clients
Scanning for
Servers
Exploiting
Servers
User Interface
Post-
Exploitation
Overview
4
Automating msfconsole
● Resource files
● A list of commands to be run in sequence
● Can be anything you would type at the msf> prompt
● setg
● save
5
Resource files
● $ ./msfconsole -r foo.rc
● msf> resource foo.rc
● ~/.msf3/msfconsole.rc
● Loaded on startup
Example Resource File
setg RHOSTS 10.1.1.1-254
setg USERNAME Administrator
setg PASSWORD password
use auxiliary/scanner/smb/smb_login
run
use auxiliary/scanner/telnet/telnet_login
run
6
SERVERS
7
Scanning
● Have to find servers
before you can exploit
them
● Metasploit has several
ways to do this
● Run nmap and nexpose
directly from the console
● Import other tools‟ output
● MSF built-in scanners
(auxiliary/scanner/*)
8
Israeli Orbiter, surveillance UAV
nmap
● Two options:
● Run nmap normally with -oX and use db_import to
store the results
● db_nmap command will run nmap and handle the
import for you
● Either way, results get stored in the database
9
10
● nexpose_scan
● db_import
● If you have a Community license (free), limited to 32
IP addresses at a time
● Msf will scan the whole range in 32-address chunks
Nexpose
● Also stores vulnerability references
● CVE, BID, …
● Without these, figuring out which exploits to run can
be more difficult
● Can be used to launch exploits as well
11
MSF Built-in Scanning
● Implemented as
auxiliary modules
● Aux is like an exploit
without a payload
● Usage similar to
exploits
● Can go through
meterpreter routes
12
FanWing Surveillance Platform
Faster Setup
● RHOSTS can be nmap-notation or
“file:<filename>”
● File should contain nmap-notation address
ranges
● e.g.:
10.1.1.2,5,7-254
10.2.2.*
10.3.3.0/24
13
Faster Scanning
● set THREADS 256
● Windows freaks out after 16 threads
● Cygwin doesn‟t handle more than about 200
● Linux? Go to town.
● Caveat: tunneling through meterpreter
14
Selected Scanners
● Informational
● smb_version
● netbios/nbname
● Pwnage
● smb_login
● telnet_login
● mssql_login
● vnc_none_auth
15
16
Server Exploits
● The bulk of msf's exploit modules
● 385 as of Jan 9
● Many protocols implemented in an exploit-
friendly way
● smtp, imap, http, smb, dcerpc, sunrpc, ftp, …
● Wide range of protocol-level IDS evasions
Automatically Exploiting Servers
● db_autopwn
● NeXpose plugin
17
db_autopwn
● Need to have targets stored in the db
● If vulnerability references are available, can
cross-reference against specific hosts
● Can just use matching ports if you don't have
refs
● Checks global MinimumRank to limit exploits to
a particular safety level
18
19
NeXpose
● Scan, detect, exploit all in one command
● nexpose_scan -x <host range>
1. Populates the db with hosts, services, vulns
2. Cross-references vulns and exploits
3. Throws exploits at vulnerable servers
● Has the potential to give you tons of shells
● Can take a long time for lots of hosts
● Uses MinimumRank as well
CLIENTS
20
Client Fingerprinting
● User Agent
● Easy to spoof
● Easy to change in a
proxy
● Some third-party
software changes it
● Less often changed in
JavaScript
21
Fingerprinting the Client
● Various JS objects only exist in one browser
● window.opera, Array.every
● Some only exist in certain versions
● window.createPopup, Array.every, window.Iterator
● Rendering differences and parser bugs
● IE's conditional comments
22
Internet Explorer
● Parser bugs, conditional comments
● Reliable, but not precise
● ScriptEngine*Version()
● Almost unique across all combinations of client and
OS, including service pack
● ClientCaps
23
Opera
● window.opera.version()
● Includes minor version, e.g. “9.61”
● window.opera.buildNumber()
● Different on each platform for a given version
● e.g.: “8501” == Windows
● Not precise, only gives platform, no version or
service pack
24
Hybrid Approach for FF
● Existence of
document.getElementsByClassName
means Firefox 3.0
● If UA says IE6, go with FF 3.0
● If UA says FF 3.0.8, it's probably not lying, so
use the more specific value
25
Firefox OS Detection
● Most of the objects used in standard detection
scripts are affected by the User-Agent
● E.g., when spoofing as iPhone,
navigator.platform = “iPhone”
● navigator.oscpu is not
● “Linux i686”
● “Windows NT 6.0”
26
Safari / Webkit
● Infuriatingly standards compliant in JS
● Can detect its existence easily
● window.WebkitPoint, many others
● Most Safari-specific stuff has been around since
1.2, so not useful for version detection
27
Chrome / Webkit
● Same javascript engine as Safari
● So far, no easy way to change UA
● navigator.vendor is always “Google Inc.”
28
29
Client Exploits in MSF
● Extensive HTTP support
● Heapspray in two lines of code
● Sotirov's .NET DLL, heap feng shui
● Wide range of protocol-level IDS evasion
● Simple exploit in ~10 lines of code
30
Automatically Exploiting Clients
● Browser Autopwn Auxiliary module
● I spoke about this at Defcon in 2009
● Fingerprints a client
● Stores detection in the database
● Determines what exploits might work
● Uses MinimumRank, too
● Tries the ones most likely to succeed
31
Advantages of Browser Autopwn
● OS and client detection is client-side, more
reliable in presence of spoofed or broken UA
● Detection results automatically stored in the
database
● Not written in PHP
● PHP sucks
Browser Autopwn Usage
msf> use auxiliary/server/browser_autopwn
msf (browser_autopwn)> set URIPATH /
msf (browser_autopwn)> set EXCLUDE opera
msf (browser_autopwn)> set MATCH .*
msf (browser_autopwn)> run
[*] Starting exploit modules on host 10.1.1.1...
[*] ---
32
Automating Users
● Browser Autopwn automates the exploits but
how do we get users to come to our evil web
server?
33
34
Karmetasploit
● Wireless Access Point of Doom
● Using aircrack-ng, appears to be every access
point that anybody probes for
● “Why, yes, I am Office_WiFi, please connect”
● Lets you control the route, the DNS, everything
● “Yup, I'm your internal web server. And your email
server. And your file server. And...”
More on Karma
● Actually about 5 years old
● It still works amazingly well
● More info about getting it working is on our wiki:
http://www.metasploit.com/redmine/projects/framework/wiki/Karmetasploit
35
Assagai
● Complete phishing framework
● Uses Metasploit exploits and payloads
● Gathers other statistics
● Has common email templates
36
37
38
39
Metaphish
● Use the target‟s public information against them
● See valsmith, Colin, and dkerb‟s talk from BH
USA 2009
40
41
Automating Post-exploitation
● Meterpreter scripts
● set AutoRunScript <script name>
● Plugins
● Can be auto loaded at startup with resource files
42
Meterpreter scripts
● Just a ruby script
● Easy to write, lots of flexibility
● Access to Meterpreter API
Meterpreter API
● Core + Extensions
● Core is basic, mostly useful for loading extensions
● Current extensions:
● Stdapi
● Priv, Incognito
● Espia
● Sniffer
43
Meterpreter Stdapi: process
● client.sys.process
● Acts like a Hash, where keys are image names and
values are process IDs
● client.sys.process[„explorer.exe‟]
● => 1408
44
Meterpreter Stdapi: memory
p =
client.sys.process.open(pid,PROCESS_ALL_ACCESS)
addr = p.memory.allocate(length)
p.memory.write(addr, “stuff”)
p.thread.create(addr)
45
Meterpreter Stdapi: filesystem
● client.fs.file.upload_file(dest, source)
● client.fs.file.download_file(dest, source)
● client.fs.file.expand_path(“%TEMP%”)
46
Priv and Incognito
● Stuff that requires privileges, SYSTEM
preferred
● Priv
● Dump hashes, alter file MACE
● Incognito
● list impersonation/delegation tokens
47
Espia
● client.espia.espia_image_get_dev_screen
● Returns a bitmap as a String
● From commandline, „screenshot‟ stores to file
● client.espia.espia_audio_get_dev_audio
● No command for this yet, only available from API
48
Meterpreter Sniffer
● client.sniffer.capture_start
● Starts capturing
● client.sniffer.capture_dump
● Puts the captured packets into a buffer we can read
● client.sniffer.capture_dump_read
● Reads from the buffer
49
Sniffer caveat
● The packet format isn‟t standard, so we have to
convert it to PCAP to be useful
● Console command does it for you
50
51
Some Nifty Existing Scripts
● vnc -- Uploads a VNC server to the target and
tunnels traffic through the current TCP
connection or a new connect-back
● packetrecorder -- Starts a sniffer on the target
and retrieves packets every <interval> seconds
● persistence -- Builds a meterpreter.exe that
connects back every <interval> seconds
● killav -- Runs through a list of known Anti-Virus
process names and kills anything that matches
Colin and Dave‟s talk
● Don‟t miss it
● Right after lunch
● About using meterpreter‟s memory API for
doing all kinds of crazy stuff
52
53
MSF Plugins
● Can extend or replace parts of the framework
● Full access to Rex and Msf APIs
● Can add callbacks for various events, add
commands to the console, anything you can
think of
Hooking sessions from a plugin
include SessionEvent
def on_session_open(session)
# Do something with the session
end
def initialize(framework, opts)
framework.events.add_session_subscriber(self)
end
54
Some notable events
● on_session_open
● on_module_run
● on_exploit_success
55
56
Some Nifty Existing Plugins
● db_credcollect – automatically retrieves hashes
from new meterpreter sessions, stores them in
the database
● pcap_log – just like running tcpdump in the
background
● session_tagger – creates a directory on new
sessions as proof of compromise
57
Demonstrations
Conclusions
● Lots of automation available that requires no
programming skills
● A little bit of ruby gives you lots of power and
flexibility
● Don‟t type any more than you have to
● Carpal Tunnel Syndrome sucks
58
59
Download it
● svn co http://metasploit.com/svn/framework3/trunk
● Submit patches to msfdev@metasploit.com
Questions?
60

Weitere ähnliche Inhalte

Was ist angesagt?

N map presentation
N map presentationN map presentation
N map presentationulirraptor
 
Penetration Testing Resource Guide
Penetration Testing Resource Guide Penetration Testing Resource Guide
Penetration Testing Resource Guide Bishop Fox
 
Nmap Hacking Guide
Nmap Hacking GuideNmap Hacking Guide
Nmap Hacking GuideAryan G
 
Mr201309 automated on-execute_test_using_virtual_box_eng
Mr201309 automated on-execute_test_using_virtual_box_engMr201309 automated on-execute_test_using_virtual_box_eng
Mr201309 automated on-execute_test_using_virtual_box_engFFRI, Inc.
 
Применение виртуализации для динамического анализа
Применение виртуализации для динамического анализаПрименение виртуализации для динамического анализа
Применение виртуализации для динамического анализаPositive Hack Days
 
Beginner's Guide to the nmap Scripting Engine - Redspin Engineer, David Shaw
Beginner's Guide to the nmap Scripting Engine - Redspin Engineer, David ShawBeginner's Guide to the nmap Scripting Engine - Redspin Engineer, David Shaw
Beginner's Guide to the nmap Scripting Engine - Redspin Engineer, David ShawRedspin, Inc.
 
Pitfalls and limits of dynamic malware analysis
Pitfalls and limits of dynamic malware analysisPitfalls and limits of dynamic malware analysis
Pitfalls and limits of dynamic malware analysisTamas K Lengyel
 
Hacking With Nmap - Scanning Techniques
Hacking With Nmap - Scanning TechniquesHacking With Nmap - Scanning Techniques
Hacking With Nmap - Scanning Techniquesamiable_indian
 
Nmap(network mapping)
Nmap(network mapping)Nmap(network mapping)
Nmap(network mapping)SSASIT
 
Automate Yo'self -- SeaGL
Automate Yo'self -- SeaGL Automate Yo'self -- SeaGL
Automate Yo'self -- SeaGL John Anderson
 
Proactive monitoring with Monit
Proactive monitoring with MonitProactive monitoring with Monit
Proactive monitoring with MonitOSOCO
 
Metasploit - Basic and Android Demo
Metasploit  - Basic and Android DemoMetasploit  - Basic and Android Demo
Metasploit - Basic and Android DemoArpit Agarwal
 

Was ist angesagt? (20)

N map presentation
N map presentationN map presentation
N map presentation
 
Penetration Testing Resource Guide
Penetration Testing Resource Guide Penetration Testing Resource Guide
Penetration Testing Resource Guide
 
Cheatsheet: Metasploit
Cheatsheet: MetasploitCheatsheet: Metasploit
Cheatsheet: Metasploit
 
Nmap scripting engine
Nmap scripting engineNmap scripting engine
Nmap scripting engine
 
Nmap Hacking Guide
Nmap Hacking GuideNmap Hacking Guide
Nmap Hacking Guide
 
Mr201309 automated on-execute_test_using_virtual_box_eng
Mr201309 automated on-execute_test_using_virtual_box_engMr201309 automated on-execute_test_using_virtual_box_eng
Mr201309 automated on-execute_test_using_virtual_box_eng
 
Применение виртуализации для динамического анализа
Применение виртуализации для динамического анализаПрименение виртуализации для динамического анализа
Применение виртуализации для динамического анализа
 
Dynamic Port Scanning
Dynamic Port ScanningDynamic Port Scanning
Dynamic Port Scanning
 
Beginner's Guide to the nmap Scripting Engine - Redspin Engineer, David Shaw
Beginner's Guide to the nmap Scripting Engine - Redspin Engineer, David ShawBeginner's Guide to the nmap Scripting Engine - Redspin Engineer, David Shaw
Beginner's Guide to the nmap Scripting Engine - Redspin Engineer, David Shaw
 
Nmap and metasploitable
Nmap and metasploitableNmap and metasploitable
Nmap and metasploitable
 
NMAP
NMAPNMAP
NMAP
 
Pitfalls and limits of dynamic malware analysis
Pitfalls and limits of dynamic malware analysisPitfalls and limits of dynamic malware analysis
Pitfalls and limits of dynamic malware analysis
 
Nmap for Scriptors
Nmap for ScriptorsNmap for Scriptors
Nmap for Scriptors
 
Understanding NMAP
Understanding NMAPUnderstanding NMAP
Understanding NMAP
 
Hacking With Nmap - Scanning Techniques
Hacking With Nmap - Scanning TechniquesHacking With Nmap - Scanning Techniques
Hacking With Nmap - Scanning Techniques
 
Nmap(network mapping)
Nmap(network mapping)Nmap(network mapping)
Nmap(network mapping)
 
Automate Yo'self -- SeaGL
Automate Yo'self -- SeaGL Automate Yo'self -- SeaGL
Automate Yo'self -- SeaGL
 
Proactive monitoring with Monit
Proactive monitoring with MonitProactive monitoring with Monit
Proactive monitoring with Monit
 
Metasploit - Basic and Android Demo
Metasploit  - Basic and Android DemoMetasploit  - Basic and Android Demo
Metasploit - Basic and Android Demo
 
Nmap commands
Nmap commandsNmap commands
Nmap commands
 

Andere mochten auch

UAV Presentation
UAV PresentationUAV Presentation
UAV PresentationRuyyan
 
Open Source Creativity
Open Source CreativityOpen Source Creativity
Open Source CreativitySara Cannon
 
The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...Brian Solis
 
Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)maditabalnco
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsBarry Feldman
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome EconomyHelge Tennø
 

Andere mochten auch (7)

UAV Presentation
UAV PresentationUAV Presentation
UAV Presentation
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 
Open Source Creativity
Open Source CreativityOpen Source Creativity
Open Source Creativity
 
The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...
 
Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome Economy
 

Ähnlich wie Black hat dc-2010-egypt-uav-slides

Using Guided Missiles in Drive-bys: Automatic Browser Fingerprinting and Expl...
Using Guided Missiles in Drive-bys: Automatic Browser Fingerprinting and Expl...Using Guided Missiles in Drive-bys: Automatic Browser Fingerprinting and Expl...
Using Guided Missiles in Drive-bys: Automatic Browser Fingerprinting and Expl...egypt
 
Metasploit: Pwnage and Ponies
Metasploit: Pwnage and PoniesMetasploit: Pwnage and Ponies
Metasploit: Pwnage and PoniesTrowalts
 
Linux Server Deep Dives (DrupalCon Amsterdam)
Linux Server Deep Dives (DrupalCon Amsterdam)Linux Server Deep Dives (DrupalCon Amsterdam)
Linux Server Deep Dives (DrupalCon Amsterdam)Amin Astaneh
 
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopVelocidex Enterprises
 
Hacking Vulnerable Websites to Bypass Firewalls
Hacking Vulnerable Websites to Bypass FirewallsHacking Vulnerable Websites to Bypass Firewalls
Hacking Vulnerable Websites to Bypass FirewallsNetsparker
 
A3Sec Advanced Deployment System
A3Sec Advanced Deployment SystemA3Sec Advanced Deployment System
A3Sec Advanced Deployment Systema3sec
 
Nagios Conference 2014 - Eric Mislivec - Getting Started With Nagios Core
Nagios Conference 2014 - Eric Mislivec - Getting Started With Nagios CoreNagios Conference 2014 - Eric Mislivec - Getting Started With Nagios Core
Nagios Conference 2014 - Eric Mislivec - Getting Started With Nagios CoreNagios
 
OSMC 2008 | Monitoring Tools Shootout by Tom De Cooman
OSMC 2008 | Monitoring Tools Shootout by Tom De CoomanOSMC 2008 | Monitoring Tools Shootout by Tom De Cooman
OSMC 2008 | Monitoring Tools Shootout by Tom De CoomanNETWAYS
 
Metasploit For Beginners
Metasploit For BeginnersMetasploit For Beginners
Metasploit For BeginnersRamnath Shenoy
 
Ever Present Persistence - Established Footholds Seen in the Wild
Ever Present Persistence - Established Footholds Seen in the WildEver Present Persistence - Established Footholds Seen in the Wild
Ever Present Persistence - Established Footholds Seen in the WildCTruncer
 
NGINX Installation and Tuning
NGINX Installation and TuningNGINX Installation and Tuning
NGINX Installation and TuningNGINX, Inc.
 
The State of the Veil Framework
The State of the Veil FrameworkThe State of the Veil Framework
The State of the Veil FrameworkVeilFramework
 
CSCAMP2013 - Introduction to pwnCore
CSCAMP2013 - Introduction to pwnCoreCSCAMP2013 - Introduction to pwnCore
CSCAMP2013 - Introduction to pwnCoreAnwar Mohamed
 
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Opersys inc.
 
Higher Level Malware
Higher Level MalwareHigher Level Malware
Higher Level MalwareCTruncer
 
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Docker, Inc.
 
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013dotCloud
 
Docker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsDocker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsFederico Michele Facca
 
Malware analysis
Malware analysisMalware analysis
Malware analysisxabean
 

Ähnlich wie Black hat dc-2010-egypt-uav-slides (20)

Using Guided Missiles in Drive-bys: Automatic Browser Fingerprinting and Expl...
Using Guided Missiles in Drive-bys: Automatic Browser Fingerprinting and Expl...Using Guided Missiles in Drive-bys: Automatic Browser Fingerprinting and Expl...
Using Guided Missiles in Drive-bys: Automatic Browser Fingerprinting and Expl...
 
Metasploit: Pwnage and Ponies
Metasploit: Pwnage and PoniesMetasploit: Pwnage and Ponies
Metasploit: Pwnage and Ponies
 
Linux Server Deep Dives (DrupalCon Amsterdam)
Linux Server Deep Dives (DrupalCon Amsterdam)Linux Server Deep Dives (DrupalCon Amsterdam)
Linux Server Deep Dives (DrupalCon Amsterdam)
 
Crikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor WorkshopCrikeycon 2019 Velociraptor Workshop
Crikeycon 2019 Velociraptor Workshop
 
Hacking Vulnerable Websites to Bypass Firewalls
Hacking Vulnerable Websites to Bypass FirewallsHacking Vulnerable Websites to Bypass Firewalls
Hacking Vulnerable Websites to Bypass Firewalls
 
I hunt sys admins 2.0
I hunt sys admins 2.0I hunt sys admins 2.0
I hunt sys admins 2.0
 
A3Sec Advanced Deployment System
A3Sec Advanced Deployment SystemA3Sec Advanced Deployment System
A3Sec Advanced Deployment System
 
Nagios Conference 2014 - Eric Mislivec - Getting Started With Nagios Core
Nagios Conference 2014 - Eric Mislivec - Getting Started With Nagios CoreNagios Conference 2014 - Eric Mislivec - Getting Started With Nagios Core
Nagios Conference 2014 - Eric Mislivec - Getting Started With Nagios Core
 
OSMC 2008 | Monitoring Tools Shootout by Tom De Cooman
OSMC 2008 | Monitoring Tools Shootout by Tom De CoomanOSMC 2008 | Monitoring Tools Shootout by Tom De Cooman
OSMC 2008 | Monitoring Tools Shootout by Tom De Cooman
 
Metasploit For Beginners
Metasploit For BeginnersMetasploit For Beginners
Metasploit For Beginners
 
Ever Present Persistence - Established Footholds Seen in the Wild
Ever Present Persistence - Established Footholds Seen in the WildEver Present Persistence - Established Footholds Seen in the Wild
Ever Present Persistence - Established Footholds Seen in the Wild
 
NGINX Installation and Tuning
NGINX Installation and TuningNGINX Installation and Tuning
NGINX Installation and Tuning
 
The State of the Veil Framework
The State of the Veil FrameworkThe State of the Veil Framework
The State of the Veil Framework
 
CSCAMP2013 - Introduction to pwnCore
CSCAMP2013 - Introduction to pwnCoreCSCAMP2013 - Introduction to pwnCore
CSCAMP2013 - Introduction to pwnCore
 
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...Using and Customizing the Android Framework / part 4 of Embedded Android Work...
Using and Customizing the Android Framework / part 4 of Embedded Android Work...
 
Higher Level Malware
Higher Level MalwareHigher Level Malware
Higher Level Malware
 
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
 
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
 
Docker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsDocker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platforms
 
Malware analysis
Malware analysisMalware analysis
Malware analysis
 

Kürzlich hochgeladen

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 

Kürzlich hochgeladen (20)

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 

Black hat dc-2010-egypt-uav-slides

  • 1. Unmanned Aerial Vehicles Exploit Automation with the Metasploit Framework James Lee 1
  • 2. # whoami ● James Lee ● egypt ● Core Developer, Metasploit Project ● Working full time on Metasploit for 2
  • 4. 4 Automating msfconsole ● Resource files ● A list of commands to be run in sequence ● Can be anything you would type at the msf> prompt ● setg ● save
  • 5. 5 Resource files ● $ ./msfconsole -r foo.rc ● msf> resource foo.rc ● ~/.msf3/msfconsole.rc ● Loaded on startup
  • 6. Example Resource File setg RHOSTS 10.1.1.1-254 setg USERNAME Administrator setg PASSWORD password use auxiliary/scanner/smb/smb_login run use auxiliary/scanner/telnet/telnet_login run 6
  • 8. Scanning ● Have to find servers before you can exploit them ● Metasploit has several ways to do this ● Run nmap and nexpose directly from the console ● Import other tools‟ output ● MSF built-in scanners (auxiliary/scanner/*) 8 Israeli Orbiter, surveillance UAV
  • 9. nmap ● Two options: ● Run nmap normally with -oX and use db_import to store the results ● db_nmap command will run nmap and handle the import for you ● Either way, results get stored in the database 9
  • 10. 10 ● nexpose_scan ● db_import ● If you have a Community license (free), limited to 32 IP addresses at a time ● Msf will scan the whole range in 32-address chunks
  • 11. Nexpose ● Also stores vulnerability references ● CVE, BID, … ● Without these, figuring out which exploits to run can be more difficult ● Can be used to launch exploits as well 11
  • 12. MSF Built-in Scanning ● Implemented as auxiliary modules ● Aux is like an exploit without a payload ● Usage similar to exploits ● Can go through meterpreter routes 12 FanWing Surveillance Platform
  • 13. Faster Setup ● RHOSTS can be nmap-notation or “file:<filename>” ● File should contain nmap-notation address ranges ● e.g.: 10.1.1.2,5,7-254 10.2.2.* 10.3.3.0/24 13
  • 14. Faster Scanning ● set THREADS 256 ● Windows freaks out after 16 threads ● Cygwin doesn‟t handle more than about 200 ● Linux? Go to town. ● Caveat: tunneling through meterpreter 14
  • 15. Selected Scanners ● Informational ● smb_version ● netbios/nbname ● Pwnage ● smb_login ● telnet_login ● mssql_login ● vnc_none_auth 15
  • 16. 16 Server Exploits ● The bulk of msf's exploit modules ● 385 as of Jan 9 ● Many protocols implemented in an exploit- friendly way ● smtp, imap, http, smb, dcerpc, sunrpc, ftp, … ● Wide range of protocol-level IDS evasions
  • 17. Automatically Exploiting Servers ● db_autopwn ● NeXpose plugin 17
  • 18. db_autopwn ● Need to have targets stored in the db ● If vulnerability references are available, can cross-reference against specific hosts ● Can just use matching ports if you don't have refs ● Checks global MinimumRank to limit exploits to a particular safety level 18
  • 19. 19 NeXpose ● Scan, detect, exploit all in one command ● nexpose_scan -x <host range> 1. Populates the db with hosts, services, vulns 2. Cross-references vulns and exploits 3. Throws exploits at vulnerable servers ● Has the potential to give you tons of shells ● Can take a long time for lots of hosts ● Uses MinimumRank as well
  • 21. Client Fingerprinting ● User Agent ● Easy to spoof ● Easy to change in a proxy ● Some third-party software changes it ● Less often changed in JavaScript 21
  • 22. Fingerprinting the Client ● Various JS objects only exist in one browser ● window.opera, Array.every ● Some only exist in certain versions ● window.createPopup, Array.every, window.Iterator ● Rendering differences and parser bugs ● IE's conditional comments 22
  • 23. Internet Explorer ● Parser bugs, conditional comments ● Reliable, but not precise ● ScriptEngine*Version() ● Almost unique across all combinations of client and OS, including service pack ● ClientCaps 23
  • 24. Opera ● window.opera.version() ● Includes minor version, e.g. “9.61” ● window.opera.buildNumber() ● Different on each platform for a given version ● e.g.: “8501” == Windows ● Not precise, only gives platform, no version or service pack 24
  • 25. Hybrid Approach for FF ● Existence of document.getElementsByClassName means Firefox 3.0 ● If UA says IE6, go with FF 3.0 ● If UA says FF 3.0.8, it's probably not lying, so use the more specific value 25
  • 26. Firefox OS Detection ● Most of the objects used in standard detection scripts are affected by the User-Agent ● E.g., when spoofing as iPhone, navigator.platform = “iPhone” ● navigator.oscpu is not ● “Linux i686” ● “Windows NT 6.0” 26
  • 27. Safari / Webkit ● Infuriatingly standards compliant in JS ● Can detect its existence easily ● window.WebkitPoint, many others ● Most Safari-specific stuff has been around since 1.2, so not useful for version detection 27
  • 28. Chrome / Webkit ● Same javascript engine as Safari ● So far, no easy way to change UA ● navigator.vendor is always “Google Inc.” 28
  • 29. 29 Client Exploits in MSF ● Extensive HTTP support ● Heapspray in two lines of code ● Sotirov's .NET DLL, heap feng shui ● Wide range of protocol-level IDS evasion ● Simple exploit in ~10 lines of code
  • 30. 30 Automatically Exploiting Clients ● Browser Autopwn Auxiliary module ● I spoke about this at Defcon in 2009 ● Fingerprints a client ● Stores detection in the database ● Determines what exploits might work ● Uses MinimumRank, too ● Tries the ones most likely to succeed
  • 31. 31 Advantages of Browser Autopwn ● OS and client detection is client-side, more reliable in presence of spoofed or broken UA ● Detection results automatically stored in the database ● Not written in PHP ● PHP sucks
  • 32. Browser Autopwn Usage msf> use auxiliary/server/browser_autopwn msf (browser_autopwn)> set URIPATH / msf (browser_autopwn)> set EXCLUDE opera msf (browser_autopwn)> set MATCH .* msf (browser_autopwn)> run [*] Starting exploit modules on host 10.1.1.1... [*] --- 32
  • 33. Automating Users ● Browser Autopwn automates the exploits but how do we get users to come to our evil web server? 33
  • 34. 34 Karmetasploit ● Wireless Access Point of Doom ● Using aircrack-ng, appears to be every access point that anybody probes for ● “Why, yes, I am Office_WiFi, please connect” ● Lets you control the route, the DNS, everything ● “Yup, I'm your internal web server. And your email server. And your file server. And...”
  • 35. More on Karma ● Actually about 5 years old ● It still works amazingly well ● More info about getting it working is on our wiki: http://www.metasploit.com/redmine/projects/framework/wiki/Karmetasploit 35
  • 36. Assagai ● Complete phishing framework ● Uses Metasploit exploits and payloads ● Gathers other statistics ● Has common email templates 36
  • 37. 37
  • 38. 38
  • 39. 39
  • 40. Metaphish ● Use the target‟s public information against them ● See valsmith, Colin, and dkerb‟s talk from BH USA 2009 40
  • 41. 41 Automating Post-exploitation ● Meterpreter scripts ● set AutoRunScript <script name> ● Plugins ● Can be auto loaded at startup with resource files
  • 42. 42 Meterpreter scripts ● Just a ruby script ● Easy to write, lots of flexibility ● Access to Meterpreter API
  • 43. Meterpreter API ● Core + Extensions ● Core is basic, mostly useful for loading extensions ● Current extensions: ● Stdapi ● Priv, Incognito ● Espia ● Sniffer 43
  • 44. Meterpreter Stdapi: process ● client.sys.process ● Acts like a Hash, where keys are image names and values are process IDs ● client.sys.process[„explorer.exe‟] ● => 1408 44
  • 45. Meterpreter Stdapi: memory p = client.sys.process.open(pid,PROCESS_ALL_ACCESS) addr = p.memory.allocate(length) p.memory.write(addr, “stuff”) p.thread.create(addr) 45
  • 46. Meterpreter Stdapi: filesystem ● client.fs.file.upload_file(dest, source) ● client.fs.file.download_file(dest, source) ● client.fs.file.expand_path(“%TEMP%”) 46
  • 47. Priv and Incognito ● Stuff that requires privileges, SYSTEM preferred ● Priv ● Dump hashes, alter file MACE ● Incognito ● list impersonation/delegation tokens 47
  • 48. Espia ● client.espia.espia_image_get_dev_screen ● Returns a bitmap as a String ● From commandline, „screenshot‟ stores to file ● client.espia.espia_audio_get_dev_audio ● No command for this yet, only available from API 48
  • 49. Meterpreter Sniffer ● client.sniffer.capture_start ● Starts capturing ● client.sniffer.capture_dump ● Puts the captured packets into a buffer we can read ● client.sniffer.capture_dump_read ● Reads from the buffer 49
  • 50. Sniffer caveat ● The packet format isn‟t standard, so we have to convert it to PCAP to be useful ● Console command does it for you 50
  • 51. 51 Some Nifty Existing Scripts ● vnc -- Uploads a VNC server to the target and tunnels traffic through the current TCP connection or a new connect-back ● packetrecorder -- Starts a sniffer on the target and retrieves packets every <interval> seconds ● persistence -- Builds a meterpreter.exe that connects back every <interval> seconds ● killav -- Runs through a list of known Anti-Virus process names and kills anything that matches
  • 52. Colin and Dave‟s talk ● Don‟t miss it ● Right after lunch ● About using meterpreter‟s memory API for doing all kinds of crazy stuff 52
  • 53. 53 MSF Plugins ● Can extend or replace parts of the framework ● Full access to Rex and Msf APIs ● Can add callbacks for various events, add commands to the console, anything you can think of
  • 54. Hooking sessions from a plugin include SessionEvent def on_session_open(session) # Do something with the session end def initialize(framework, opts) framework.events.add_session_subscriber(self) end 54
  • 55. Some notable events ● on_session_open ● on_module_run ● on_exploit_success 55
  • 56. 56 Some Nifty Existing Plugins ● db_credcollect – automatically retrieves hashes from new meterpreter sessions, stores them in the database ● pcap_log – just like running tcpdump in the background ● session_tagger – creates a directory on new sessions as proof of compromise
  • 58. Conclusions ● Lots of automation available that requires no programming skills ● A little bit of ruby gives you lots of power and flexibility ● Don‟t type any more than you have to ● Carpal Tunnel Syndrome sucks 58
  • 59. 59 Download it ● svn co http://metasploit.com/svn/framework3/trunk ● Submit patches to msfdev@metasploit.com