dns hijacking using

89

Upload: others

Post on 02-Feb-2022

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DNS hijacking using
Page 2: DNS hijacking using

DNS hijacking using cloud providers – no verification needed

@fransrosen

Page 3: DNS hijacking using

Security Advisor @detectify ( twitter: @fransrosen )HackerOne #5 all time @ hackerone.com/thanksBlog at labs.detectify.com"The Swedish Ninja"

Frans Rosén

Page 4: DNS hijacking using

• Background• History• Tools & Techniques• Deeper levels of hijacking• Evolution• Mitigations• Monitoring

Page 5: DNS hijacking using

campaign.site.com

Campaign!

Subdomain Takeover v1.0

Page 6: DNS hijacking using

campaign.site.com

Campaign! Fake site!

Subdomain Takeover v1.0

Page 7: DNS hijacking using

Ever seen one of these?

Page 8: DNS hijacking using

http://esevece.tumblr.com/post/99786512849/onavo-cname-records-pointing-to-heroku-but-no

First instance, 12th Oct '14

Page 9: DNS hijacking using

https://labs.detectify.com/2014/10/21/hostile-subdomain-takeover-using-herokugithubdesk-more/

9 days later, 21st Oct '14

Page 10: DNS hijacking using

Heroku: “We're aware of this issue”

GitHub: “My apologies for the delayed response.

We are aware of this issue”

Shopify: “I had already identified that this is

a security issue”

Response from services

Page 11: DNS hijacking using

What have we seen?

Page 12: DNS hijacking using

https://hackerone.com/reports/172137

What have we seen?

Page 13: DNS hijacking using

What have we seen?

Page 14: DNS hijacking using

https://hackerone.com/reports/32825

What have we seen?

Page 15: DNS hijacking using

What have we seen?

Page 16: DNS hijacking using

https://crt.sh/?q=%25.uber.com

What have we seen?

Page 17: DNS hijacking using

https://blog.rubidus.com/2017/02/03/deep-thoughts-on-subdomain-takeovers/

What have we seen?

Page 18: DNS hijacking using

What have we seen?

https://labs.detectify.com/2016/10/05/the-story-of-ev-ssl-aws-and-trailing-dot-domains/

Page 19: DNS hijacking using

What have we seen?

Page 20: DNS hijacking using

What have we seen?

Page 21: DNS hijacking using

https://twitter.com/briankrebs/status/833558237244960768

What have we seen?

Page 22: DNS hijacking using

Tools

Page 23: DNS hijacking using

Not active dev.

https://github.com/TheRook/subbrute

subbrute

Page 24: DNS hijacking using

https://github.com/aboul3la/Sublist3r

Active dev! Took over subbrute!Fetching from multiple sources

Sublist3r

Page 25: DNS hijacking using

https://github.com/blechschmidt/massdns

Fast as hell!Needs good resolver lists

massdns

Page 26: DNS hijacking using

https://github.com/infosec-au/altdns

Soo soo powerful if you have good mutationsCombine with massdns == successCan resolve, but better for just creating the lists

altdns

Page 27: DNS hijacking using

https://github.com/anshumanbh/tko-subs

Interesting idea, auto takeover when finding issuesMight be a liiittle bit too aggressive

tko-subs

Page 28: DNS hijacking using

We could look here?

Page 29: DNS hijacking using

WRONG!

WRONG!

WRONG!

WRONG!

WRONG!WRONG!

WRONG!

Page 30: DNS hijacking using

Resolve and not resolve is what matters.WRONG!

Page 31: DNS hijacking using

Dead DNS records

Page 32: DNS hijacking using

A dead record?

Page 33: DNS hijacking using

A dead record?

Page 34: DNS hijacking using

dig is your friend

Page 35: DNS hijacking using

9 year old bug

Page 36: DNS hijacking using

https://thehackerblog.com/the-orphaned-internet-taking-over-120k-domains-via-a-dns-vulnerability-in-aws-google-cloud-rackspace-and-digital-ocean/index.html

SERVFAIL/REFUSED

Page 37: DNS hijacking using

Also works on subdomain delegations!

Page 38: DNS hijacking using

NOERROR

Resolves. All OK.

DNS status codes

Page 39: DNS hijacking using

NXDOMAIN

Doesn’t exist. Could still have a DNS RR.Query NS to find out more.

DNS status codes

Page 40: DNS hijacking using

REFUSED

NS does not like this domain.

DNS status codes

Page 41: DNS hijacking using

SERVFAIL

Not even responding. Very interesting!

DNS status codes

Page 42: DNS hijacking using

SERVFAIL

REFUSED

NOERRORNXDOMAIN

????The tools find what?

Page 43: DNS hijacking using

Subdomain delegation

Page 44: DNS hijacking using

Subdomain delegation

Page 45: DNS hijacking using

Subdomain delegation

Page 46: DNS hijacking using

Brute add/delete R53 DNS RR

Page 47: DNS hijacking using

We now control the domain!

Page 48: DNS hijacking using

Orphaned EC2 IPs

https://www.bishopfox.com/blog/2015/10/fishing-the-aws-ip-pool-for-dangling-domains/

Page 49: DNS hijacking using

Orphaned EC2 IPs

Page 50: DNS hijacking using

dev.on.site.com

http://integrouschoice.com/

Page 51: DNS hijacking using

dev.on.site.com

Page 52: DNS hijacking using

dev.on.site.com

Page 53: DNS hijacking using

Brute* Collect NOERROR* Collect SERVFAIL / REFUSED +trace the NS* Collect NXDOMAIN if CNAME, +trace

Flow

Page 54: DNS hijacking using

Resolve* Check NOERROR for patterns* SERVFAIL/REFUSED, Check NS for patterns* NXDOMAIN, traverse up to apex, check:

NXDOMAIN|SERVFAIL|REFUSED|no servers could be reached

Flow

Page 55: DNS hijacking using

Improve* Collect all subdomain names* Sort them by popularity* Sort www below all names with p>2

Flow

Page 56: DNS hijacking using

Analyze unknowns* Collect titles of all sites* Filter out common titles + name of company* Generate screenshots, create a image map

Flow

Page 57: DNS hijacking using

Repeat* Do it every day* Push notification changes

Flow

Page 58: DNS hijacking using

Jan 2017

Page 59: DNS hijacking using

Jan 2017

Page 60: DNS hijacking using

Jan 2017

Page 61: DNS hijacking using

Jan 2017

Page 62: DNS hijacking using

Jan 2017

Page 63: DNS hijacking using

Last week

Page 64: DNS hijacking using

Last week

Page 65: DNS hijacking using

The competition

@avlidienbrunn @arneswinnen @TheBoredEng

Page 66: DNS hijacking using

Takeovers since 2014-10

Page 67: DNS hijacking using
Page 68: DNS hijacking using

Email snooping

Page 69: DNS hijacking using

http://blog.pentestnepal.tech/post/149985438982/reading-ubers-internal-emails-uber-bug-bounty

September 2016

Page 70: DNS hijacking using

2 of 3 in action

Page 71: DNS hijacking using

Inbound mail. This is important.

MX-records

Page 72: DNS hijacking using

MX-records

Page 73: DNS hijacking using

Conflict check + Validation

Page 74: DNS hijacking using

Oh, add this!

Page 75: DNS hijacking using

CNAME -> MX

Page 76: DNS hijacking using

Whitelisted aliases for verification

Page 77: DNS hijacking using

Back to this

Page 78: DNS hijacking using

Tadaa!

Page 79: DNS hijacking using

We now get postmaster@

Page 80: DNS hijacking using

Response the day after

Page 81: DNS hijacking using

Response the day after

Page 82: DNS hijacking using

Response the day after

Page 83: DNS hijacking using

https://twitter.com/realdonaldtrump/status/190093504939163648

On a final note

Page 84: DNS hijacking using

https://twitter.com/realdonaldtrump/status/190093504939163648

On a final note

Page 85: DNS hijacking using

On a final note

Page 86: DNS hijacking using

On a final note

Page 87: DNS hijacking using

On a final note

Page 88: DNS hijacking using

• Know your DNS Zone file MX, CNAME, A, AAAA, ALIAS. Everything.

• AUTOMATION, probably the only proper solution

• will.i.am loves this

Recap

Page 89: DNS hijacking using

Thanks!

Frans Rosén (@fransrosen)