SlideShare une entreprise Scribd logo
1  sur  61
Télécharger pour lire hors ligne
Using Algorithms to
Brute Force Algorithms
… a journey through time and namespace
Anthony Kasza
Bsides Chicago 2015
Audience Participation:
Answer a question, win a prize
Audience Participation:
What is an algorithm?
algorithm
noun
Word used by programmers when they do
not want to explain what they did.
[12]	
  
Outline
Background
Malware Communications and Botnet Architectures
Analyzing Domain Generation Algorithms
Ramnit
Ramnit’s DGA
Brute Force Identification of Ramnit DGA Seeds
Results
Graphs
Applications and Improvements
Me
Anthony Kasza
Security Researcher: OpenDNS
@anthonykasza
github.com/anthonykasza
Background
Malware Communications
Let’s pretend…
We all just compromised 10k hosts for our botnet
[10]	
  
Malware Communications
Let’s pretend…
We all just compromised 10k hosts for our botnet
What do we do now?
[10]	
  
Malware Communications
Let’s pretend…
We all just compromised 10k hosts for our botnet
What do we do now?
Have our malware phone home
[10]	
  
Malware Communications
Let’s pretend…
We all just compromised 10k hosts for our botnet
What do we do now?
Have our malware phone home
Botnets are resilient cloud based, often distributed, remote
administration systems
[10]	
  
Audience Participation:
Name a malware
Malware Communications: IP
Open socket
Beacon to IP address
Easy to set up
Easy to take down
Client	
  
Implant	
  
C2	
  
Server	
  
Client	
  
Implant	
  
Client	
  
Implant	
  
Malware Communications: P2P
Open socket
Beacon to super node peer(s)
Very resilient
Peer consensus issues
Complex to set up
Super	
  
node	
  
Super	
  
node	
  
Super	
  
node	
  
Super	
  
node	
  
[9]	
  
Client	
  
Implant	
  
Client	
  
Implant	
  
Client	
  
Implant	
  
Malware Communications: DNS
Open socket
Issue DNS query
Client	
  
Implant	
  
C2	
  
Server	
  
Client	
  
Implant	
  
Client	
  
Implant	
  
DNS	
  
Resolver	
  
Malware Communications: DNS
Open socket
Issue DNS query
Open socket
Beacon to IP address
Relatively easy to set up
Relatively easy to take down
Client	
  
Implant	
  
C2	
  
Server	
  
Client	
  
Implant	
  
Client	
  
Implant	
  
DNS	
  
Resolver	
  
Audience Participation:
Name a botnet that uses DNS
Malware Communications:
DNS Resiliency Tricks
Fast Flux – DNS A records change quickly
Double Flux – DNS A and NS records change quickly
Domain Generation Algorithms (DGA) – C2 domain
names are generated dynamically by a deterministic
function within the implant at run time.
Samples are "strings proof"
How To DGA
Client	
  
DGA	
  
Date	
   Seed	
  
Hash/PRNG	
  
String	
   TLD	
  set	
  
Domain	
  
name	
  
Lexicon	
  
query	
   connect	
  to	
  IP	
  	
  
NXD	
  
A	
  
Start 	
  
End 	
  
Example DGA Output
vfxlsatformalisticirekb[.]com
rd0ee55073a3776810962c124f02a99424[.]ws
croialotvvnfliyjmvt[.]ru
yxjsibeugmmj[.]in
osghqrdmlyhh[.]net
easebrainjobmarket[.]com
Malware Communications: DGA
-  Function that generates
domain names
-  Shared secret between
botnet implants and
operators
-  Often incorporates the date
Operator registers domain
“just in time” before the
implant generates it
[3]	
  
Client	
  
Implant	
  
Registrar	
   Operator	
  
DNS	
  
Resolver	
  
C2	
  
Server	
  
Malware Communications: DGA
-  Function that generates
domain names
-  Shared secret between
botnet implants and
operators
-  Often incorporates the date
Registrar ensures the domain
is inserted into the DNS
[3]	
  
Client	
  
Implant	
  
Registrar	
   Operator	
  
DNS	
  
Resolver	
  
C2	
  
Server	
  
Malware Communications: DGA
-  Function that generates
domain names
-  Shared secret between
botnet implants and
operators
-  Often incorporates the date
Implant generates and
resolves the domain
[3]	
  
Client	
  
Implant	
  
Registrar	
   Operator	
  
DNS	
  
Resolver	
  
C2	
  
Server	
  
Malware Communications: DGA
-  Function that generates
domain names
-  Shared secret between
botnet implants and
operators
-  Often incorporates the date
Implant connects to C2 IPv4
[3]	
  
Client	
  
Implant	
  
Registrar	
   Operator	
  
DNS	
  
Resolver	
  
C2	
  
Server	
  
Malware Communications: DGA
-  Function that generates
domain names
-  Shared secret between
botnet implants and
operators
-  Often incorporates the date
Repeat:
Operator is constantly
registering domain names
[3]	
  
Client	
  
Implant	
  
Registrar	
   Operator	
  
DNS	
  
Resolver	
  
C2	
  
Server	
  
Audience Participation:
Name a malware that uses a DGA
Malware that uses a DGA
Banjori
DirCrypt
Dyre
GameoverZeus
Hesperbot
Matsnu
Necurs
Pushdo
Pykspa
Qakbot
Ramnit
Shiotob
Simbda/Shiz
Symmi
TinyBanker
Bedep
Emotet
Gozi
Nymaim
Suppobox
Urlzone
VolatileCedar
Cryptolocker
Conficker
Murofet
BankPatch
Bobax
Ramdo
Flashback
Kelihos
Rovnix
Torpig
Many more…
[5]	
  
Each DGA is Special Snowflake
Conficker.C – generated 50k names per day
Pushdo – DGA as a backup if C2 domain went down
Kelihos – DGA as a backup if P2P network went down
newGOZ DGA domains…
registered through a few common registrars
typically registered 1hr before algo would generate them
changed NS domains but reused NS IPv4s
[4]	
  	
  [11]	
  
DGA Domain Query Periods
Dyre
Ramnit
Matsnu
Pykspa
Bedep
~1 day
N/A
~2 weeks
~3 weeks
~1 week
Generalized DGA pseudo code…
for i in domain_set_size:
domain = generate_domain(date, magic)
resolve domain
if domain resolves
contact domain
StopIteration
def generate_domain(date, magic):
domain = ''
for i in lexicon_item_count:
item = random_select(lexicon, magic)
domain = domain + item
domain = domain + random_select(tld_set, magic)
return domain
Generalized Algorithms Analyses
Domain set size
How many domains to generate
Date
Today's date
Seed
A number used to ignite a PRNG
Salt
A magic number or campaign ID
Lexicon
A set of letters, n-grams, or words
Lexicon Items Count
Number of items to use from lexicon
TLD set
All possible TLDs
MD*, SHA*, Etc
Some hash
PRNG
Random numbers
Bitwise Math
xor, shl/shr, mod, b64, ascii to
hex
Names to contact
These are often regex-able due to
properties of the transformation
function
Inputs Functions Outputs
An Algorithm Taxonomy from Inputs
Group	
   Lexicon	
   Domain	
  	
  
set	
  size	
  
Salt/
Seed	
  
Date	
   Examples	
  
A	
   LeNers	
   Yes	
   Yes	
   Yes	
   Necurs,	
  GOZ,	
  Symmi,	
  Tinba,	
  Pykspa	
  
B	
   LeNers	
   Yes	
   Yes	
   No	
   Ramnit,	
  DirCrypt,	
  VolaVleCedar,	
  Ramdo	
  
C.i	
   LeNers	
   Yes	
   No	
   Yes	
   Conficker,	
  Dyre,	
  Cryptolocker,	
  Pushdo,	
  
Qakbot	
  
C.ii	
   Words	
   Yes	
   No	
   Yes	
   Matsnu,	
  Rovnix	
  
Enter Ramnit
Audience Participation:
Tell me anything about Ramnit
Ramnit Malware
Worm/RAT
Emerged 2010
“Borrowed” features from Zeus source 2011
Spread via EK, social media, bundled software, etc
Uses a DGA
[7]	
  
Ramnit DGA Pseudo Code
class RandInt: # LCG PRNG, random uint32
def __init__(self, seed):
self.seed = seed
def rand_int_modulus(self, modulus):
ix = self.seed
ix = 16807*(ix % 127773) - 2836*(ix / 127773) /
& 0xFFFFFFFF
self.seed = ix
return ix % modulus
r = RandInt(seed) # seed = ?
for i in domain_set_size: # domain_set_size = ?
seed_a = r.seed
domain_length = r.rand_int_modulus(12) + 8 # domain_length = {8,19}
seed_b = r.seed
domain = ''
for i in domain_length:
char = 'a' + r.rand_int_modulus(25) # lexicon = [a-y]
domain += char
domain += ".com” # tld_set = [“.com”]
m = seed_a*seed_b
r.seed = (m + m//(2**32)) % 2**32
yield domain
[1]	
  
Ramnit DGA Pseudo Code
class RandInt: # LCG PRNG, random uint32
def __init__(self, seed):
self.seed = seed
def rand_int_modulus(self, modulus):
ix = self.seed
ix = 16807*(ix % 127773) - 2836*(ix / 127773) /
& 0xFFFFFFFF
self.seed = ix
return ix % modulus
r = RandInt(seed) # seed = ?
for i in domain_set_size: # domain_set_size = ?
seed_a = r.seed
domain_length = r.rand_int_modulus(12) + 8 # domain_length = {8,19}
seed_b = r.seed
domain = ''
for i in domain_length:
char = 'a' + r.rand_int_modulus(25) # lexicon = [a-y]
domain += char
domain += ".com” # tld_set = [“.com”]
m = seed_a*seed_b
r.seed = (m + m//(2**32)) % 2**32
yield domain
[1]	
  
Ramnit DGA Pseudo Code
Client	
  
DGA	
  
Seed	
  
uint32	
  
LCG	
  PRNG	
  
string	
   +	
  ".com"	
  
Domain	
  
Name	
  
Lexicon	
  
[a-­‐y]{8,19}	
  
query	
   connect	
  to	
  IP	
  	
  
NXD	
  
A	
  
Ramnit DGA Pseudo Code
Unknowns
1.  Linear congruential
generator’s seed
2.  How many times this
loop occurs
Client	
  
DGA	
  
Seed	
  
uint32	
  
LCG	
  PRNG	
  
string	
   +	
  ".com"	
  
Domain	
  
Name	
  
Lexicon	
  
[a-­‐y]{8,19}	
  
query	
   connect	
  to	
  IP	
  	
  
NXD	
  
A	
  
Brute Forcing Ramnit DGA Seeds
Inputs: domain_set_size, seed, tld_set, lexicon
Outputs: names
I.  Iterate over seed space (232) and identify candidate
seeds
II.  Find and generate the seeds’ associated
domain_set_size
III.  Determine the minimum set of seeds to produce all
domains (overlap in LCG output)
[2]	
  
Step 1: Identify Candidate Seeds
1.  Seed the Ramnit DGA with every value 0-232
2.  Generate the first domain from each seed
–  27 hours on an AWS c3.8xlarge
–  24 processes, each with its own CPU core and a portions
of the seed space
–  Resulting seed and domain tuples sorted and merged
3.  Scan OpenDNS querylogs and find which domains
received at least one query
4.  Seeds which generated domains that received
queries are candidate seeds
Audience Participation:
Which are candidate seeds?
Candidate Seeds Example
seed1, domain1
seed2, domain1
seed3, domain1
seed4, domain1
Step 2: Find Seeds’ Domain Set Size
1.  Observe the domain’s hourly query counts for the
previous two weeks*
2.  For each candidate seed, generate the next domain
3.  Compare 2 to the seed’s composite query pattern
If they are similar:
1.  Merge the pattern into the seed’s composite query pattern
2.  Increment the seed’s domain set size
3.  Goto 1
Otherwise:
1.  Exit
* A vector with each position representing an hourly count of DNS queries
Audience Participation:
What is this seed’s domain set size?
Seeds’ Domain Set Size Example
seed1, domain1
seed1, domain2
seed1, domain3
seed1, domain4
Step 3: Minimum Seed Set for Domain Coverage
1.  For each seed and its associated domain set…
2.  Remove all domain sets that are subset of other
domain sets
3.  Minimum seed set for domain coverage remains
Seeds that remain aren’t necessarily “in the wild”
They are seeds that generate all domains “in the wild”
Audience Participation:
Which seeds would be eliminated?
Minimum Seed Set Example
seed1: domain1, domain2
seed2: domain1, domain2, domain3
seed3: domain3, domain4
seed4: domain1, domain2, domain3, domain4
seed5: domain5
Brute Forcing Algorithm Weaknesses
1.  The first domain from each seed is used to
located candidate seeds
2.  No queries on that day means seed is ignored
3.  Point in time analysis
4.  DGAs collide with legitimate domain names
-  1 million monkeys typing in 1 million address bars
will eventually browse to 4chan
Results
Results: Seeds, Domains, Clients
29 seeds, 3924 domains
-  Seeds confirmed by Symantec’s report
I found some seeds not listed in Symantec’s report
-  Not a big deal due to overlaps in Ramnit DGA’s LCG
seeds
I found some domains not listed in Symantec’s report
-  Bigger deal if Symantec is serious about takedowns
[7]	
  	
  [8]	
  
Audience Participation:
Was anyone here involved in the
Ramnit takedown?
Results: Patterns in Domain Queries by Seed
Results: Patterns in Domain Queries
1.  Locate IPv4s that queried each domain
2.  Create a graph of seed -> domains -> client IPv4s
3.  Count connect components (I found two)
S	
   S	
   S	
   S	
   S	
  
D	
   D	
   D	
   D	
   D	
  D	
   D	
   D	
   D	
  
C	
   C	
   C	
   C	
   C	
   C	
  
Results: Patterns in Domain Queries by IPv4
Groups
Applications and Improvements
Generalize framework for use with all DGA implementations
- Currently working with more than just Ramnit
Vigilant monitoring instead of point in time search
-  Ramdo seeds are able to be updated by the C2 server
-  even if you RE the algorithm, you don't have the seed
unique to each compromised system
Combine with other DGA detection techniques
-  co-occurrances and lexical features
[6]	
  
Conclusion
Why should you care?
-  Many malware families are using DGAs
-  This is a new way to identify new badness
-  Know the shared secret, find all the C2 domains
-  Not all DGAs are created equal
-  Some are more difficult to track than others
-  malware authors are people too
-  3:30, “The Life and Times of an APT Malware Author”
Audience Participation:
Are there any questions?
Thanks
BsidesChicago
OpenDNS
Johannes Bader
Daniel Plohmann
John Bambenek
Thomas Mathew
Dhia Mahjoub
Steve Mckinney
References
http://johannesbader.ch/2014/12/the-dga-of-ramnit/ [1]
https://labs.opendns.com/2015/02/18/at-high-noon-algorithms-do-battle/ [2]
http://www.cc.gatech.edu/~ynadji3/docs/pubs/pleiades2012.pdf [3]
http://www.slideshare.net/OpenDNS/shmoocon-2015-presentation [4]
https://github.com/Andrewaeva/DGA [5]
http://blogs.technet.com/b/mmpc/archive/2014/04/08/msrt-april-2014-ramdo.aspx [6]
http://www.symantec.com/connect/blogs/ramnit-cybercrime-group-hit-major-law-enforcement-operation [7]
http://www.symantec.com/content/en/us/enterprise/media/security_response/whitepapers/w32-ramnit-analysis.pdf [8]
http://www.malwaretech.com/2013/12/peer-to-peer-botnets-for-beginners.html [9]
http://en.wikipedia.org/wiki/Botnet [10]
http://commons.wikimedia.org/wiki/File:Snowflake-black.png [11]
Somewhere on Twitter [12]

Contenu connexe

Tendances

Hunting for APT in network logs workshop presentation
Hunting for APT in network logs workshop presentationHunting for APT in network logs workshop presentation
Hunting for APT in network logs workshop presentationOlehLevytskyi1
 
Class Project Showcase: DNS Spoofing
Class Project Showcase: DNS SpoofingClass Project Showcase: DNS Spoofing
Class Project Showcase: DNS SpoofingBeibei Yang
 
Extending Zeek for ICS Defense
Extending Zeek for ICS DefenseExtending Zeek for ICS Defense
Extending Zeek for ICS DefenseJames Dickenson
 
Assume Compromise
Assume CompromiseAssume Compromise
Assume CompromiseZach Grace
 
Hiding in plain sight
Hiding in plain sightHiding in plain sight
Hiding in plain sightRob Gillen
 
Umbrella for MSPs: Enterprise Grade Malware Protection & Containment
Umbrella for MSPs: Enterprise Grade Malware Protection & ContainmentUmbrella for MSPs: Enterprise Grade Malware Protection & Containment
Umbrella for MSPs: Enterprise Grade Malware Protection & ContainmentOpenDNS
 
Threat hunting != Throwing arrow! Hunting for adversaries in your it environment
Threat hunting != Throwing arrow! Hunting for adversaries in your it environmentThreat hunting != Throwing arrow! Hunting for adversaries in your it environment
Threat hunting != Throwing arrow! Hunting for adversaries in your it environmentNahidul Kibria
 
"Into the Fog The Return of ICEFOG APT" - Chi en (Ashley) Shen
"Into the Fog The Return of ICEFOG APT" - Chi en (Ashley) Shen"Into the Fog The Return of ICEFOG APT" - Chi en (Ashley) Shen
"Into the Fog The Return of ICEFOG APT" - Chi en (Ashley) ShenPROIDEA
 
DEF CON 27 - MAKSIM SHUDRAK - zero bugs found hold my beer afl how to improve...
DEF CON 27 - MAKSIM SHUDRAK - zero bugs found hold my beer afl how to improve...DEF CON 27 - MAKSIM SHUDRAK - zero bugs found hold my beer afl how to improve...
DEF CON 27 - MAKSIM SHUDRAK - zero bugs found hold my beer afl how to improve...Felipe Prado
 
DEF CON 27 - TRAVIS PALMER - first try dns cache poisoning with ipv4 and ipv6...
DEF CON 27 - TRAVIS PALMER - first try dns cache poisoning with ipv4 and ipv6...DEF CON 27 - TRAVIS PALMER - first try dns cache poisoning with ipv4 and ipv6...
DEF CON 27 - TRAVIS PALMER - first try dns cache poisoning with ipv4 and ipv6...Felipe Prado
 
"A rootkits writer’s guide to defense" - Michal Purzynski
"A rootkits writer’s guide to defense" - Michal Purzynski"A rootkits writer’s guide to defense" - Michal Purzynski
"A rootkits writer’s guide to defense" - Michal PurzynskiPROIDEA
 
Laura Garcia - Shodan API and Coding Skills [rooted2019]
Laura Garcia - Shodan API and Coding Skills [rooted2019]Laura Garcia - Shodan API and Coding Skills [rooted2019]
Laura Garcia - Shodan API and Coding Skills [rooted2019]RootedCON
 
(130119) #fitalk apt, cyber espionage threat
(130119) #fitalk   apt, cyber espionage threat(130119) #fitalk   apt, cyber espionage threat
(130119) #fitalk apt, cyber espionage threatINSIGHT FORENSIC
 
Monica Salas & Raul Siles - Hype Potter and the Chamber of DNSSECrets [rooted...
Monica Salas & Raul Siles - Hype Potter and the Chamber of DNSSECrets [rooted...Monica Salas & Raul Siles - Hype Potter and the Chamber of DNSSECrets [rooted...
Monica Salas & Raul Siles - Hype Potter and the Chamber of DNSSECrets [rooted...RootedCON
 
Malware Analysis Made Simple
Malware Analysis Made SimpleMalware Analysis Made Simple
Malware Analysis Made SimplePaul Melson
 

Tendances (20)

Hunting for APT in network logs workshop presentation
Hunting for APT in network logs workshop presentationHunting for APT in network logs workshop presentation
Hunting for APT in network logs workshop presentation
 
Class Project Showcase: DNS Spoofing
Class Project Showcase: DNS SpoofingClass Project Showcase: DNS Spoofing
Class Project Showcase: DNS Spoofing
 
Extending Zeek for ICS Defense
Extending Zeek for ICS DefenseExtending Zeek for ICS Defense
Extending Zeek for ICS Defense
 
Assume Compromise
Assume CompromiseAssume Compromise
Assume Compromise
 
Hiding in plain sight
Hiding in plain sightHiding in plain sight
Hiding in plain sight
 
Umbrella for MSPs: Enterprise Grade Malware Protection & Containment
Umbrella for MSPs: Enterprise Grade Malware Protection & ContainmentUmbrella for MSPs: Enterprise Grade Malware Protection & Containment
Umbrella for MSPs: Enterprise Grade Malware Protection & Containment
 
Threat hunting != Throwing arrow! Hunting for adversaries in your it environment
Threat hunting != Throwing arrow! Hunting for adversaries in your it environmentThreat hunting != Throwing arrow! Hunting for adversaries in your it environment
Threat hunting != Throwing arrow! Hunting for adversaries in your it environment
 
"Into the Fog The Return of ICEFOG APT" - Chi en (Ashley) Shen
"Into the Fog The Return of ICEFOG APT" - Chi en (Ashley) Shen"Into the Fog The Return of ICEFOG APT" - Chi en (Ashley) Shen
"Into the Fog The Return of ICEFOG APT" - Chi en (Ashley) Shen
 
DEF CON 27 - MAKSIM SHUDRAK - zero bugs found hold my beer afl how to improve...
DEF CON 27 - MAKSIM SHUDRAK - zero bugs found hold my beer afl how to improve...DEF CON 27 - MAKSIM SHUDRAK - zero bugs found hold my beer afl how to improve...
DEF CON 27 - MAKSIM SHUDRAK - zero bugs found hold my beer afl how to improve...
 
DEF CON 27 - TRAVIS PALMER - first try dns cache poisoning with ipv4 and ipv6...
DEF CON 27 - TRAVIS PALMER - first try dns cache poisoning with ipv4 and ipv6...DEF CON 27 - TRAVIS PALMER - first try dns cache poisoning with ipv4 and ipv6...
DEF CON 27 - TRAVIS PALMER - first try dns cache poisoning with ipv4 and ipv6...
 
"A rootkits writer’s guide to defense" - Michal Purzynski
"A rootkits writer’s guide to defense" - Michal Purzynski"A rootkits writer’s guide to defense" - Michal Purzynski
"A rootkits writer’s guide to defense" - Michal Purzynski
 
DNSSEC and VoIP: Who are you really calling?
DNSSEC and VoIP: Who are you really calling?DNSSEC and VoIP: Who are you really calling?
DNSSEC and VoIP: Who are you really calling?
 
08 tcp-dns
08 tcp-dns08 tcp-dns
08 tcp-dns
 
Dns tunnelling its all in the name
Dns tunnelling its all in the nameDns tunnelling its all in the name
Dns tunnelling its all in the name
 
Python Cryptography & Security
Python Cryptography & SecurityPython Cryptography & Security
Python Cryptography & Security
 
Laura Garcia - Shodan API and Coding Skills [rooted2019]
Laura Garcia - Shodan API and Coding Skills [rooted2019]Laura Garcia - Shodan API and Coding Skills [rooted2019]
Laura Garcia - Shodan API and Coding Skills [rooted2019]
 
(130119) #fitalk apt, cyber espionage threat
(130119) #fitalk   apt, cyber espionage threat(130119) #fitalk   apt, cyber espionage threat
(130119) #fitalk apt, cyber espionage threat
 
DNS Security
DNS SecurityDNS Security
DNS Security
 
Monica Salas & Raul Siles - Hype Potter and the Chamber of DNSSECrets [rooted...
Monica Salas & Raul Siles - Hype Potter and the Chamber of DNSSECrets [rooted...Monica Salas & Raul Siles - Hype Potter and the Chamber of DNSSECrets [rooted...
Monica Salas & Raul Siles - Hype Potter and the Chamber of DNSSECrets [rooted...
 
Malware Analysis Made Simple
Malware Analysis Made SimpleMalware Analysis Made Simple
Malware Analysis Made Simple
 

En vedette

Poscat seminar 3-1
Poscat seminar 3-1Poscat seminar 3-1
Poscat seminar 3-1Hyungyu Shin
 
Talos Insight: Threat Innovation Emerging from the Noise
Talos Insight: Threat Innovation Emerging from the NoiseTalos Insight: Threat Innovation Emerging from the Noise
Talos Insight: Threat Innovation Emerging from the NoiseCisco Canada
 
Password cracking and brute force
Password cracking and brute forcePassword cracking and brute force
Password cracking and brute forcevishalgohel12195
 
A Parallel Data Distribution Management Algorithm
A Parallel Data Distribution Management AlgorithmA Parallel Data Distribution Management Algorithm
A Parallel Data Distribution Management AlgorithmGabriele D'Angelo
 
Perform brute force
Perform brute forcePerform brute force
Perform brute forceSHC
 
04 brute force
04 brute force04 brute force
04 brute forceHira Gul
 
One Phish, Two Phish, Red Phish, Your Account Details Just Got Stolen
One Phish, Two Phish, Red Phish, Your Account Details Just Got StolenOne Phish, Two Phish, Red Phish, Your Account Details Just Got Stolen
One Phish, Two Phish, Red Phish, Your Account Details Just Got StolenOpenDNS
 
Advanced threat security - Cyber Security For The Real World
Advanced threat security - Cyber Security For The Real WorldAdvanced threat security - Cyber Security For The Real World
Advanced threat security - Cyber Security For The Real WorldCisco Canada
 
Blackhat USA 2015: BGP Stream Presentation
Blackhat USA 2015: BGP Stream PresentationBlackhat USA 2015: BGP Stream Presentation
Blackhat USA 2015: BGP Stream PresentationOpenDNS
 
Cisco Security Architecture
Cisco Security ArchitectureCisco Security Architecture
Cisco Security ArchitectureCisco Canada
 
Clipping Algorithm In Computer Graphics
Clipping Algorithm In Computer GraphicsClipping Algorithm In Computer Graphics
Clipping Algorithm In Computer Graphicsstudent(MCA)
 

En vedette (13)

Poscat seminar 3-1
Poscat seminar 3-1Poscat seminar 3-1
Poscat seminar 3-1
 
Talos Insight: Threat Innovation Emerging from the Noise
Talos Insight: Threat Innovation Emerging from the NoiseTalos Insight: Threat Innovation Emerging from the Noise
Talos Insight: Threat Innovation Emerging from the Noise
 
Password cracking and brute force
Password cracking and brute forcePassword cracking and brute force
Password cracking and brute force
 
A Parallel Data Distribution Management Algorithm
A Parallel Data Distribution Management AlgorithmA Parallel Data Distribution Management Algorithm
A Parallel Data Distribution Management Algorithm
 
Perform brute force
Perform brute forcePerform brute force
Perform brute force
 
04 brute force
04 brute force04 brute force
04 brute force
 
Ch04 dna mapping
Ch04 dna mappingCh04 dna mapping
Ch04 dna mapping
 
One Phish, Two Phish, Red Phish, Your Account Details Just Got Stolen
One Phish, Two Phish, Red Phish, Your Account Details Just Got StolenOne Phish, Two Phish, Red Phish, Your Account Details Just Got Stolen
One Phish, Two Phish, Red Phish, Your Account Details Just Got Stolen
 
Advanced threat security - Cyber Security For The Real World
Advanced threat security - Cyber Security For The Real WorldAdvanced threat security - Cyber Security For The Real World
Advanced threat security - Cyber Security For The Real World
 
Blackhat USA 2015: BGP Stream Presentation
Blackhat USA 2015: BGP Stream PresentationBlackhat USA 2015: BGP Stream Presentation
Blackhat USA 2015: BGP Stream Presentation
 
String matching algorithms
String matching algorithmsString matching algorithms
String matching algorithms
 
Cisco Security Architecture
Cisco Security ArchitectureCisco Security Architecture
Cisco Security Architecture
 
Clipping Algorithm In Computer Graphics
Clipping Algorithm In Computer GraphicsClipping Algorithm In Computer Graphics
Clipping Algorithm In Computer Graphics
 

Similaire à Using Algorithms to Brute Force Algorithms...A Journey Through Time and Namespace

PHDAYS: DGAs and Threat Intelligence
PHDAYS: DGAs and Threat IntelligencePHDAYS: DGAs and Threat Intelligence
PHDAYS: DGAs and Threat IntelligenceJohn Bambenek
 
Dns protocol design attacks and security
Dns protocol design attacks and securityDns protocol design attacks and security
Dns protocol design attacks and securityMichael Earls
 
HITCON 2015 - DGAs, DNS and Threat Intelligence
HITCON 2015 - DGAs, DNS and Threat IntelligenceHITCON 2015 - DGAs, DNS and Threat Intelligence
HITCON 2015 - DGAs, DNS and Threat IntelligenceJohn Bambenek
 
Jesse Burke RDPwned HackMiami7
Jesse Burke RDPwned HackMiami7Jesse Burke RDPwned HackMiami7
Jesse Burke RDPwned HackMiami7Jesse Burke
 
2016 state of the internet threat advisory dnssec ddos amplification attacks
2016 state of the internet threat advisory dnssec ddos amplification attacks2016 state of the internet threat advisory dnssec ddos amplification attacks
2016 state of the internet threat advisory dnssec ddos amplification attacksAndrey Apuhtin
 
Hacking your Droid (Aditya Gupta)
Hacking your Droid (Aditya Gupta)Hacking your Droid (Aditya Gupta)
Hacking your Droid (Aditya Gupta)ClubHack
 
Project Darkstar
Project DarkstarProject Darkstar
Project DarkstarAhmed Saeed
 
eProsima RPC over DDS - Connext Conf London October 2015
eProsima RPC over DDS - Connext Conf London October 2015 eProsima RPC over DDS - Connext Conf London October 2015
eProsima RPC over DDS - Connext Conf London October 2015 Jaime Martin Losa
 
3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds
3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds
3-Way Scripts as a Practical Platform for Secure Distributed Code in CloudsTokyo University of Science
 
DETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSIS
DETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSISDETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSIS
DETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSISAIRCC Publishing Corporation
 
DETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSIS
DETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSISDETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSIS
DETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSISijcsit
 
DEF CON 27 - GERALD DOUSSOT AND ROGER MEYER - state of dns rebinding attack ...
DEF CON 27 - GERALD DOUSSOT  AND ROGER MEYER - state of dns rebinding attack ...DEF CON 27 - GERALD DOUSSOT  AND ROGER MEYER - state of dns rebinding attack ...
DEF CON 27 - GERALD DOUSSOT AND ROGER MEYER - state of dns rebinding attack ...Felipe Prado
 
How to Introduce Telemetry Streaming (gNMI) in Your Network with SNMP with Te...
How to Introduce Telemetry Streaming (gNMI) in Your Network with SNMP with Te...How to Introduce Telemetry Streaming (gNMI) in Your Network with SNMP with Te...
How to Introduce Telemetry Streaming (gNMI) in Your Network with SNMP with Te...InfluxData
 
MATATABI: Cyber Threat Analysis and Defense Platform using Huge Amount of Dat...
MATATABI: Cyber Threat Analysis and Defense Platform using Huge Amount of Dat...MATATABI: Cyber Threat Analysis and Defense Platform using Huge Amount of Dat...
MATATABI: Cyber Threat Analysis and Defense Platform using Huge Amount of Dat...APNIC
 
Cybercrime in the Deep Web (BHEU 2015)
Cybercrime in the Deep Web (BHEU 2015)Cybercrime in the Deep Web (BHEU 2015)
Cybercrime in the Deep Web (BHEU 2015)Marco Balduzzi
 
Cybercrime In The Deep Web
Cybercrime In The Deep WebCybercrime In The Deep Web
Cybercrime In The Deep WebTrend Micro
 
Malware vs Big Data
Malware vs Big DataMalware vs Big Data
Malware vs Big DataFrank Denis
 

Similaire à Using Algorithms to Brute Force Algorithms...A Journey Through Time and Namespace (20)

Atelier Technique CISCO ACSS 2018
Atelier Technique CISCO ACSS 2018Atelier Technique CISCO ACSS 2018
Atelier Technique CISCO ACSS 2018
 
PHDAYS: DGAs and Threat Intelligence
PHDAYS: DGAs and Threat IntelligencePHDAYS: DGAs and Threat Intelligence
PHDAYS: DGAs and Threat Intelligence
 
Dns protocol design attacks and security
Dns protocol design attacks and securityDns protocol design attacks and security
Dns protocol design attacks and security
 
HITCON 2015 - DGAs, DNS and Threat Intelligence
HITCON 2015 - DGAs, DNS and Threat IntelligenceHITCON 2015 - DGAs, DNS and Threat Intelligence
HITCON 2015 - DGAs, DNS and Threat Intelligence
 
Jesse Burke RDPwned HackMiami7
Jesse Burke RDPwned HackMiami7Jesse Burke RDPwned HackMiami7
Jesse Burke RDPwned HackMiami7
 
2016 state of the internet threat advisory dnssec ddos amplification attacks
2016 state of the internet threat advisory dnssec ddos amplification attacks2016 state of the internet threat advisory dnssec ddos amplification attacks
2016 state of the internet threat advisory dnssec ddos amplification attacks
 
Hacking your Droid (Aditya Gupta)
Hacking your Droid (Aditya Gupta)Hacking your Droid (Aditya Gupta)
Hacking your Droid (Aditya Gupta)
 
Project Darkstar
Project DarkstarProject Darkstar
Project Darkstar
 
eProsima RPC over DDS - Connext Conf London October 2015
eProsima RPC over DDS - Connext Conf London October 2015 eProsima RPC over DDS - Connext Conf London October 2015
eProsima RPC over DDS - Connext Conf London October 2015
 
3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds
3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds
3-Way Scripts as a Practical Platform for Secure Distributed Code in Clouds
 
DETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSIS
DETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSISDETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSIS
DETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSIS
 
DETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSIS
DETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSISDETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSIS
DETECTION OF ALGORITHMICALLYGENERATED MALICIOUS DOMAIN USING FREQUENCY ANALYSIS
 
Dns rebinding
Dns rebindingDns rebinding
Dns rebinding
 
DEF CON 27 - GERALD DOUSSOT AND ROGER MEYER - state of dns rebinding attack ...
DEF CON 27 - GERALD DOUSSOT  AND ROGER MEYER - state of dns rebinding attack ...DEF CON 27 - GERALD DOUSSOT  AND ROGER MEYER - state of dns rebinding attack ...
DEF CON 27 - GERALD DOUSSOT AND ROGER MEYER - state of dns rebinding attack ...
 
How to Introduce Telemetry Streaming (gNMI) in Your Network with SNMP with Te...
How to Introduce Telemetry Streaming (gNMI) in Your Network with SNMP with Te...How to Introduce Telemetry Streaming (gNMI) in Your Network with SNMP with Te...
How to Introduce Telemetry Streaming (gNMI) in Your Network with SNMP with Te...
 
G3t R00t at IUT
G3t R00t at IUTG3t R00t at IUT
G3t R00t at IUT
 
MATATABI: Cyber Threat Analysis and Defense Platform using Huge Amount of Dat...
MATATABI: Cyber Threat Analysis and Defense Platform using Huge Amount of Dat...MATATABI: Cyber Threat Analysis and Defense Platform using Huge Amount of Dat...
MATATABI: Cyber Threat Analysis and Defense Platform using Huge Amount of Dat...
 
Cybercrime in the Deep Web (BHEU 2015)
Cybercrime in the Deep Web (BHEU 2015)Cybercrime in the Deep Web (BHEU 2015)
Cybercrime in the Deep Web (BHEU 2015)
 
Cybercrime In The Deep Web
Cybercrime In The Deep WebCybercrime In The Deep Web
Cybercrime In The Deep Web
 
Malware vs Big Data
Malware vs Big DataMalware vs Big Data
Malware vs Big Data
 

Plus de OpenDNS

What Happens Before the Kill Chain
What Happens Before the Kill Chain What Happens Before the Kill Chain
What Happens Before the Kill Chain OpenDNS
 
Highly Available Docker Networking With BGP
Highly Available Docker Networking With BGPHighly Available Docker Networking With BGP
Highly Available Docker Networking With BGPOpenDNS
 
Security Ninjas: An Open Source Application Security Training Program
Security Ninjas: An Open Source Application Security Training ProgramSecurity Ninjas: An Open Source Application Security Training Program
Security Ninjas: An Open Source Application Security Training ProgramOpenDNS
 
OpenDNS CTO Dan Hubbard VizSec 2014 Keynote Slides
OpenDNS CTO Dan Hubbard VizSec 2014 Keynote SlidesOpenDNS CTO Dan Hubbard VizSec 2014 Keynote Slides
OpenDNS CTO Dan Hubbard VizSec 2014 Keynote SlidesOpenDNS
 
Standardizing and Strengthening Security to Lower Costs
Standardizing and Strengthening Security to Lower CostsStandardizing and Strengthening Security to Lower Costs
Standardizing and Strengthening Security to Lower CostsOpenDNS
 
Docker at OpenDNS
Docker at OpenDNSDocker at OpenDNS
Docker at OpenDNSOpenDNS
 
IP Routing, AWS, and Docker
IP Routing, AWS, and DockerIP Routing, AWS, and Docker
IP Routing, AWS, and DockerOpenDNS
 
Marauder or Scanning Your DNSDB for Fun and Profit - SOURCE Boston
Marauder or Scanning Your DNSDB for Fun and Profit - SOURCE BostonMarauder or Scanning Your DNSDB for Fun and Profit - SOURCE Boston
Marauder or Scanning Your DNSDB for Fun and Profit - SOURCE BostonOpenDNS
 
Network Security: A Four Point Analysis of Appliances vs. the Cloud
Network Security: A Four Point Analysis of Appliances vs. the CloudNetwork Security: A Four Point Analysis of Appliances vs. the Cloud
Network Security: A Four Point Analysis of Appliances vs. the CloudOpenDNS
 
CanSecWest 2014 Presentation: "Intelligent Use of Intelligence: Design to Dis...
CanSecWest 2014 Presentation: "Intelligent Use of Intelligence: Design to Dis...CanSecWest 2014 Presentation: "Intelligent Use of Intelligence: Design to Dis...
CanSecWest 2014 Presentation: "Intelligent Use of Intelligence: Design to Dis...OpenDNS
 
Rethinking Cyber-Security: 7 Key Strategies for the Challenges that Lie Ahead
Rethinking Cyber-Security: 7 Key Strategies for the Challenges that Lie AheadRethinking Cyber-Security: 7 Key Strategies for the Challenges that Lie Ahead
Rethinking Cyber-Security: 7 Key Strategies for the Challenges that Lie AheadOpenDNS
 
Speak Security: Under the Hood of the OpenDNS Security Research Labs with Dhi...
Speak Security: Under the Hood of the OpenDNS Security Research Labs with Dhi...Speak Security: Under the Hood of the OpenDNS Security Research Labs with Dhi...
Speak Security: Under the Hood of the OpenDNS Security Research Labs with Dhi...OpenDNS
 
Baythreat Cryptolocker Presentation
Baythreat Cryptolocker PresentationBaythreat Cryptolocker Presentation
Baythreat Cryptolocker PresentationOpenDNS
 
MSP Webcast - Leveraging Cloud Security to Become a Virtual CIO
MSP Webcast - Leveraging Cloud Security to Become a Virtual CIOMSP Webcast - Leveraging Cloud Security to Become a Virtual CIO
MSP Webcast - Leveraging Cloud Security to Become a Virtual CIOOpenDNS
 
Umbrella for MSPs: Cloud Security via N-able
Umbrella for MSPs: Cloud Security via N-ableUmbrella for MSPs: Cloud Security via N-able
Umbrella for MSPs: Cloud Security via N-ableOpenDNS
 

Plus de OpenDNS (16)

What Happens Before the Kill Chain
What Happens Before the Kill Chain What Happens Before the Kill Chain
What Happens Before the Kill Chain
 
Highly Available Docker Networking With BGP
Highly Available Docker Networking With BGPHighly Available Docker Networking With BGP
Highly Available Docker Networking With BGP
 
Security Ninjas: An Open Source Application Security Training Program
Security Ninjas: An Open Source Application Security Training ProgramSecurity Ninjas: An Open Source Application Security Training Program
Security Ninjas: An Open Source Application Security Training Program
 
OpenDNS CTO Dan Hubbard VizSec 2014 Keynote Slides
OpenDNS CTO Dan Hubbard VizSec 2014 Keynote SlidesOpenDNS CTO Dan Hubbard VizSec 2014 Keynote Slides
OpenDNS CTO Dan Hubbard VizSec 2014 Keynote Slides
 
Standardizing and Strengthening Security to Lower Costs
Standardizing and Strengthening Security to Lower CostsStandardizing and Strengthening Security to Lower Costs
Standardizing and Strengthening Security to Lower Costs
 
Docker at OpenDNS
Docker at OpenDNSDocker at OpenDNS
Docker at OpenDNS
 
IP Routing, AWS, and Docker
IP Routing, AWS, and DockerIP Routing, AWS, and Docker
IP Routing, AWS, and Docker
 
Defcon
DefconDefcon
Defcon
 
Marauder or Scanning Your DNSDB for Fun and Profit - SOURCE Boston
Marauder or Scanning Your DNSDB for Fun and Profit - SOURCE BostonMarauder or Scanning Your DNSDB for Fun and Profit - SOURCE Boston
Marauder or Scanning Your DNSDB for Fun and Profit - SOURCE Boston
 
Network Security: A Four Point Analysis of Appliances vs. the Cloud
Network Security: A Four Point Analysis of Appliances vs. the CloudNetwork Security: A Four Point Analysis of Appliances vs. the Cloud
Network Security: A Four Point Analysis of Appliances vs. the Cloud
 
CanSecWest 2014 Presentation: "Intelligent Use of Intelligence: Design to Dis...
CanSecWest 2014 Presentation: "Intelligent Use of Intelligence: Design to Dis...CanSecWest 2014 Presentation: "Intelligent Use of Intelligence: Design to Dis...
CanSecWest 2014 Presentation: "Intelligent Use of Intelligence: Design to Dis...
 
Rethinking Cyber-Security: 7 Key Strategies for the Challenges that Lie Ahead
Rethinking Cyber-Security: 7 Key Strategies for the Challenges that Lie AheadRethinking Cyber-Security: 7 Key Strategies for the Challenges that Lie Ahead
Rethinking Cyber-Security: 7 Key Strategies for the Challenges that Lie Ahead
 
Speak Security: Under the Hood of the OpenDNS Security Research Labs with Dhi...
Speak Security: Under the Hood of the OpenDNS Security Research Labs with Dhi...Speak Security: Under the Hood of the OpenDNS Security Research Labs with Dhi...
Speak Security: Under the Hood of the OpenDNS Security Research Labs with Dhi...
 
Baythreat Cryptolocker Presentation
Baythreat Cryptolocker PresentationBaythreat Cryptolocker Presentation
Baythreat Cryptolocker Presentation
 
MSP Webcast - Leveraging Cloud Security to Become a Virtual CIO
MSP Webcast - Leveraging Cloud Security to Become a Virtual CIOMSP Webcast - Leveraging Cloud Security to Become a Virtual CIO
MSP Webcast - Leveraging Cloud Security to Become a Virtual CIO
 
Umbrella for MSPs: Cloud Security via N-able
Umbrella for MSPs: Cloud Security via N-ableUmbrella for MSPs: Cloud Security via N-able
Umbrella for MSPs: Cloud Security via N-able
 

Dernier

Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 

Dernier (20)

Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 

Using Algorithms to Brute Force Algorithms...A Journey Through Time and Namespace

  • 1. Using Algorithms to Brute Force Algorithms … a journey through time and namespace Anthony Kasza Bsides Chicago 2015
  • 2. Audience Participation: Answer a question, win a prize
  • 4. algorithm noun Word used by programmers when they do not want to explain what they did. [12]  
  • 5. Outline Background Malware Communications and Botnet Architectures Analyzing Domain Generation Algorithms Ramnit Ramnit’s DGA Brute Force Identification of Ramnit DGA Seeds Results Graphs Applications and Improvements
  • 6. Me Anthony Kasza Security Researcher: OpenDNS @anthonykasza github.com/anthonykasza
  • 8. Malware Communications Let’s pretend… We all just compromised 10k hosts for our botnet [10]  
  • 9. Malware Communications Let’s pretend… We all just compromised 10k hosts for our botnet What do we do now? [10]  
  • 10. Malware Communications Let’s pretend… We all just compromised 10k hosts for our botnet What do we do now? Have our malware phone home [10]  
  • 11. Malware Communications Let’s pretend… We all just compromised 10k hosts for our botnet What do we do now? Have our malware phone home Botnets are resilient cloud based, often distributed, remote administration systems [10]  
  • 13. Malware Communications: IP Open socket Beacon to IP address Easy to set up Easy to take down Client   Implant   C2   Server   Client   Implant   Client   Implant  
  • 14. Malware Communications: P2P Open socket Beacon to super node peer(s) Very resilient Peer consensus issues Complex to set up Super   node   Super   node   Super   node   Super   node   [9]   Client   Implant   Client   Implant   Client   Implant  
  • 15. Malware Communications: DNS Open socket Issue DNS query Client   Implant   C2   Server   Client   Implant   Client   Implant   DNS   Resolver  
  • 16. Malware Communications: DNS Open socket Issue DNS query Open socket Beacon to IP address Relatively easy to set up Relatively easy to take down Client   Implant   C2   Server   Client   Implant   Client   Implant   DNS   Resolver  
  • 17. Audience Participation: Name a botnet that uses DNS
  • 18. Malware Communications: DNS Resiliency Tricks Fast Flux – DNS A records change quickly Double Flux – DNS A and NS records change quickly Domain Generation Algorithms (DGA) – C2 domain names are generated dynamically by a deterministic function within the implant at run time. Samples are "strings proof"
  • 19. How To DGA Client   DGA   Date   Seed   Hash/PRNG   String   TLD  set   Domain   name   Lexicon   query   connect  to  IP     NXD   A   Start   End  
  • 21. Malware Communications: DGA -  Function that generates domain names -  Shared secret between botnet implants and operators -  Often incorporates the date Operator registers domain “just in time” before the implant generates it [3]   Client   Implant   Registrar   Operator   DNS   Resolver   C2   Server  
  • 22. Malware Communications: DGA -  Function that generates domain names -  Shared secret between botnet implants and operators -  Often incorporates the date Registrar ensures the domain is inserted into the DNS [3]   Client   Implant   Registrar   Operator   DNS   Resolver   C2   Server  
  • 23. Malware Communications: DGA -  Function that generates domain names -  Shared secret between botnet implants and operators -  Often incorporates the date Implant generates and resolves the domain [3]   Client   Implant   Registrar   Operator   DNS   Resolver   C2   Server  
  • 24. Malware Communications: DGA -  Function that generates domain names -  Shared secret between botnet implants and operators -  Often incorporates the date Implant connects to C2 IPv4 [3]   Client   Implant   Registrar   Operator   DNS   Resolver   C2   Server  
  • 25. Malware Communications: DGA -  Function that generates domain names -  Shared secret between botnet implants and operators -  Often incorporates the date Repeat: Operator is constantly registering domain names [3]   Client   Implant   Registrar   Operator   DNS   Resolver   C2   Server  
  • 26. Audience Participation: Name a malware that uses a DGA
  • 27. Malware that uses a DGA Banjori DirCrypt Dyre GameoverZeus Hesperbot Matsnu Necurs Pushdo Pykspa Qakbot Ramnit Shiotob Simbda/Shiz Symmi TinyBanker Bedep Emotet Gozi Nymaim Suppobox Urlzone VolatileCedar Cryptolocker Conficker Murofet BankPatch Bobax Ramdo Flashback Kelihos Rovnix Torpig Many more… [5]  
  • 28. Each DGA is Special Snowflake Conficker.C – generated 50k names per day Pushdo – DGA as a backup if C2 domain went down Kelihos – DGA as a backup if P2P network went down newGOZ DGA domains… registered through a few common registrars typically registered 1hr before algo would generate them changed NS domains but reused NS IPv4s [4]    [11]  
  • 29. DGA Domain Query Periods Dyre Ramnit Matsnu Pykspa Bedep ~1 day N/A ~2 weeks ~3 weeks ~1 week
  • 30. Generalized DGA pseudo code… for i in domain_set_size: domain = generate_domain(date, magic) resolve domain if domain resolves contact domain StopIteration def generate_domain(date, magic): domain = '' for i in lexicon_item_count: item = random_select(lexicon, magic) domain = domain + item domain = domain + random_select(tld_set, magic) return domain
  • 31. Generalized Algorithms Analyses Domain set size How many domains to generate Date Today's date Seed A number used to ignite a PRNG Salt A magic number or campaign ID Lexicon A set of letters, n-grams, or words Lexicon Items Count Number of items to use from lexicon TLD set All possible TLDs MD*, SHA*, Etc Some hash PRNG Random numbers Bitwise Math xor, shl/shr, mod, b64, ascii to hex Names to contact These are often regex-able due to properties of the transformation function Inputs Functions Outputs
  • 32. An Algorithm Taxonomy from Inputs Group   Lexicon   Domain     set  size   Salt/ Seed   Date   Examples   A   LeNers   Yes   Yes   Yes   Necurs,  GOZ,  Symmi,  Tinba,  Pykspa   B   LeNers   Yes   Yes   No   Ramnit,  DirCrypt,  VolaVleCedar,  Ramdo   C.i   LeNers   Yes   No   Yes   Conficker,  Dyre,  Cryptolocker,  Pushdo,   Qakbot   C.ii   Words   Yes   No   Yes   Matsnu,  Rovnix  
  • 34. Audience Participation: Tell me anything about Ramnit
  • 35. Ramnit Malware Worm/RAT Emerged 2010 “Borrowed” features from Zeus source 2011 Spread via EK, social media, bundled software, etc Uses a DGA [7]  
  • 36. Ramnit DGA Pseudo Code class RandInt: # LCG PRNG, random uint32 def __init__(self, seed): self.seed = seed def rand_int_modulus(self, modulus): ix = self.seed ix = 16807*(ix % 127773) - 2836*(ix / 127773) / & 0xFFFFFFFF self.seed = ix return ix % modulus r = RandInt(seed) # seed = ? for i in domain_set_size: # domain_set_size = ? seed_a = r.seed domain_length = r.rand_int_modulus(12) + 8 # domain_length = {8,19} seed_b = r.seed domain = '' for i in domain_length: char = 'a' + r.rand_int_modulus(25) # lexicon = [a-y] domain += char domain += ".com” # tld_set = [“.com”] m = seed_a*seed_b r.seed = (m + m//(2**32)) % 2**32 yield domain [1]  
  • 37. Ramnit DGA Pseudo Code class RandInt: # LCG PRNG, random uint32 def __init__(self, seed): self.seed = seed def rand_int_modulus(self, modulus): ix = self.seed ix = 16807*(ix % 127773) - 2836*(ix / 127773) / & 0xFFFFFFFF self.seed = ix return ix % modulus r = RandInt(seed) # seed = ? for i in domain_set_size: # domain_set_size = ? seed_a = r.seed domain_length = r.rand_int_modulus(12) + 8 # domain_length = {8,19} seed_b = r.seed domain = '' for i in domain_length: char = 'a' + r.rand_int_modulus(25) # lexicon = [a-y] domain += char domain += ".com” # tld_set = [“.com”] m = seed_a*seed_b r.seed = (m + m//(2**32)) % 2**32 yield domain [1]  
  • 38. Ramnit DGA Pseudo Code Client   DGA   Seed   uint32   LCG  PRNG   string   +  ".com"   Domain   Name   Lexicon   [a-­‐y]{8,19}   query   connect  to  IP     NXD   A  
  • 39. Ramnit DGA Pseudo Code Unknowns 1.  Linear congruential generator’s seed 2.  How many times this loop occurs Client   DGA   Seed   uint32   LCG  PRNG   string   +  ".com"   Domain   Name   Lexicon   [a-­‐y]{8,19}   query   connect  to  IP     NXD   A  
  • 40. Brute Forcing Ramnit DGA Seeds Inputs: domain_set_size, seed, tld_set, lexicon Outputs: names I.  Iterate over seed space (232) and identify candidate seeds II.  Find and generate the seeds’ associated domain_set_size III.  Determine the minimum set of seeds to produce all domains (overlap in LCG output) [2]  
  • 41. Step 1: Identify Candidate Seeds 1.  Seed the Ramnit DGA with every value 0-232 2.  Generate the first domain from each seed –  27 hours on an AWS c3.8xlarge –  24 processes, each with its own CPU core and a portions of the seed space –  Resulting seed and domain tuples sorted and merged 3.  Scan OpenDNS querylogs and find which domains received at least one query 4.  Seeds which generated domains that received queries are candidate seeds
  • 43. Candidate Seeds Example seed1, domain1 seed2, domain1 seed3, domain1 seed4, domain1
  • 44. Step 2: Find Seeds’ Domain Set Size 1.  Observe the domain’s hourly query counts for the previous two weeks* 2.  For each candidate seed, generate the next domain 3.  Compare 2 to the seed’s composite query pattern If they are similar: 1.  Merge the pattern into the seed’s composite query pattern 2.  Increment the seed’s domain set size 3.  Goto 1 Otherwise: 1.  Exit * A vector with each position representing an hourly count of DNS queries
  • 45. Audience Participation: What is this seed’s domain set size?
  • 46. Seeds’ Domain Set Size Example seed1, domain1 seed1, domain2 seed1, domain3 seed1, domain4
  • 47. Step 3: Minimum Seed Set for Domain Coverage 1.  For each seed and its associated domain set… 2.  Remove all domain sets that are subset of other domain sets 3.  Minimum seed set for domain coverage remains Seeds that remain aren’t necessarily “in the wild” They are seeds that generate all domains “in the wild”
  • 48. Audience Participation: Which seeds would be eliminated?
  • 49. Minimum Seed Set Example seed1: domain1, domain2 seed2: domain1, domain2, domain3 seed3: domain3, domain4 seed4: domain1, domain2, domain3, domain4 seed5: domain5
  • 50. Brute Forcing Algorithm Weaknesses 1.  The first domain from each seed is used to located candidate seeds 2.  No queries on that day means seed is ignored 3.  Point in time analysis 4.  DGAs collide with legitimate domain names -  1 million monkeys typing in 1 million address bars will eventually browse to 4chan
  • 52. Results: Seeds, Domains, Clients 29 seeds, 3924 domains -  Seeds confirmed by Symantec’s report I found some seeds not listed in Symantec’s report -  Not a big deal due to overlaps in Ramnit DGA’s LCG seeds I found some domains not listed in Symantec’s report -  Bigger deal if Symantec is serious about takedowns [7]    [8]  
  • 53. Audience Participation: Was anyone here involved in the Ramnit takedown?
  • 54. Results: Patterns in Domain Queries by Seed
  • 55. Results: Patterns in Domain Queries 1.  Locate IPv4s that queried each domain 2.  Create a graph of seed -> domains -> client IPv4s 3.  Count connect components (I found two) S   S   S   S   S   D   D   D   D   D  D   D   D   D   C   C   C   C   C   C  
  • 56. Results: Patterns in Domain Queries by IPv4 Groups
  • 57. Applications and Improvements Generalize framework for use with all DGA implementations - Currently working with more than just Ramnit Vigilant monitoring instead of point in time search -  Ramdo seeds are able to be updated by the C2 server -  even if you RE the algorithm, you don't have the seed unique to each compromised system Combine with other DGA detection techniques -  co-occurrances and lexical features [6]  
  • 58. Conclusion Why should you care? -  Many malware families are using DGAs -  This is a new way to identify new badness -  Know the shared secret, find all the C2 domains -  Not all DGAs are created equal -  Some are more difficult to track than others -  malware authors are people too -  3:30, “The Life and Times of an APT Malware Author”
  • 60. Thanks BsidesChicago OpenDNS Johannes Bader Daniel Plohmann John Bambenek Thomas Mathew Dhia Mahjoub Steve Mckinney
  • 61. References http://johannesbader.ch/2014/12/the-dga-of-ramnit/ [1] https://labs.opendns.com/2015/02/18/at-high-noon-algorithms-do-battle/ [2] http://www.cc.gatech.edu/~ynadji3/docs/pubs/pleiades2012.pdf [3] http://www.slideshare.net/OpenDNS/shmoocon-2015-presentation [4] https://github.com/Andrewaeva/DGA [5] http://blogs.technet.com/b/mmpc/archive/2014/04/08/msrt-april-2014-ramdo.aspx [6] http://www.symantec.com/connect/blogs/ramnit-cybercrime-group-hit-major-law-enforcement-operation [7] http://www.symantec.com/content/en/us/enterprise/media/security_response/whitepapers/w32-ramnit-analysis.pdf [8] http://www.malwaretech.com/2013/12/peer-to-peer-botnets-for-beginners.html [9] http://en.wikipedia.org/wiki/Botnet [10] http://commons.wikimedia.org/wiki/File:Snowflake-black.png [11] Somewhere on Twitter [12]