BH Eu 05 Sensepost
BH Eu 05 Sensepost
Disclaimer
About SensePost
Introduction
Conclusion
Questions
Introduction
Breaking/Securing networks involves many things:
Others:
Network: Wireless/RAS/3rd party links
Social engineering
Introduction – why do we worry?
Result:
• We miss stuff
• We get load of false positives
• Generally speaking, we can’t perform scans…
Network application level
The same applies for 302, 301 etc. Does this look familiar:
The first entry asks for /cpanel/ and will trigger as positive when a
HTTP 200 OK is returned
The second entry looks for “Could not find file SYS” string in the
response.
Example:
1. Nikto DB entry: /scripts/showcode.asp
2. Location: /scripts/, Extension: .asp
3. Request: /scripts/moomoomoo.asp
4. Response is : HTTP 200 OK – your file is not here (friendly)
5. Request: /scripts/showcode.asp
6. Response is : HTTP 200 OK – your file is not here (friendly)
7. Compare content – it’s the same. Test is: negative.
Network application level
Network application level
Network application level
Results:
• Dramatic improvement on false positives where server responses
differ in terms of location and extension. (18 false positives vs. none)
• KB larger (+-120k per host)
• Slightly slower initial scan
Network application level
Example:
Google Search: "Welcome to Intranet“
Description: According to whatis.com: "An intranet is a private network that is contained within an
enterprise. The main purpose of an intranet is to share company information and computing resources among
employees and in general looks like a private version of the Internet." Intranets, by definition should not be
available to the Internet's unwashed masses as they may contain private corporate information.
Wikto Demo…
Brute forcing tools - crowbar
Currently we are stuck with tools that
• Are not generic enough
• Tries to predict the behavior of the system
• Can only perform tests on parameters passed
• Have to PERL it every time
• Positive response not always known
Crowbar (beta)
• Tries to be as generic as possible
• Can brute 2 parameters at a time
• Can brute anything in the request – e.g. parameters, cookie, URL
• Users creates a “base response”
• Uses Wikto content comparison to find “positives”
• User can tune fuzzy logic trigger levels to get only relevant data
Crowbar – BETA!
Application level
Application level – anything that resides on top of a web server. Most
of the time this is home grown applications.
File System & Directory Traversal Attacks : Where filename are involved
–e.g. http//duh/showfile.pl?f=../../../etc/shadow
SQL & Database Query Injection: Where you suspect your input is handed
to a database e.g. http://duh/news.asp?article=88221
Interpret results:
• How do we get the pages back? 302s, frames, flash, etc. etc.
• How do we know when we have broken something? (the view
balance problem)
Application level
E-Or – a short history
2002-q2: Mieliekoek (corncake): Mirrors site via HTTTrack and finds all
actions that handle parameters. Only searches for SQL injection. Failed for
anything that requires login. Written in PERL. Command line…sucks but
gets lots of “airtime” – as it gets mentioned in SQL insertion worm paper.
2002-q3: MKv2 – the same, but with a horrible GUI interface for Win32.
Interface causes interesting mental problems in sensitive users…
2003-q1: MKX – reads from @stake webproxy file writer logs. Handles
HTTP headers and thus state information. Written in PERL, command line
interface. Fails because of complex parameter selection.
Challenges in usability
Ability to combine output that are identical (e.g. show only unique
responses)
E-Or - demo