Pentest Tools

Published on September 26th, 2015 📆 | 6960 Views ⚑

0

Gryffin — Large Scale Web Security Scanning


https://www.ispeech.org
Gryffin is a large scale web security scanning platform. It is not a yet another scanner. It was written to solve two specific problems with existing scanners, that of, coverage and scale.

Better coverage translates to fewer false negatives. Inherent scalability translates to, capaility of scanning and supporting a large elastic application infrastructure. Or simply put, the ability to scan 1000 applications today to 100,000 applications tomorrow by straightforward horizontal scaling.

[adsense size='1']

Coverage

Coverage has two dimensions – one during crawl and the other during fuzzing. In crawl phase, coverage implies, being able to find as much of the application footprint. In scan phase or while fuzzing, it implies, being able to test each part of the application for applied set of vulnerabilities in a deep.

 

Crawl Coverage

Today a large number of web applications are template driven, that means, same code or path generates millions of URLs. For a security scanner, it just needs one of the million URLs that are generated by the same code or path. Gryffin’s crawler does just that.

 

Page Deduplication

Gryffin has a deduplication engine at its heart that compares the new page with the already seen pages. If the HTML structure of the new page is similar to the ones seen, it is classified as duplicate and not crawled further.

 

DOM Rendering and Navigation

A large number of applications today are rich applications. They are heavily driven by client-side JavaScript. In order to discover links and code paths in such applications, Gryffin’s crawler, uses PhantomJS for DOM rendering and navigation.

[adsense size='1']

Scan Coverage

As Gryffin is a scanning platform and not a scanner, it does not have its own fuzzer modules, even for fuzzing common web vulnerabilities like XSS and SQL Injection.

It’s not wise to reinvent the wheel where you do not have to. Gryffin at production scale at Yahoo uses open source and custom fuzzers. Some of these custom fuzzers might be open sourced in future and might or might not be part of Gryffin repository.





For demonstration purpose, Gryffin comes integrated with sqlmap and arachni. It does not endorse them or any other scanner in particular.

Philosophy is to improve scan coverage by being able to fuzz for just what you need.

 

Scale

While Gryffin is available as a standalone package, it’s primarily built for scale.

Gryffin is built on the publisher-subscriber model. Each component is either a publisher or a subscriber or both. This allows Gryffin to scale horizontally by simply adding more subscriber or publisher nodes.

 

Operating Gryffin

[adsense size='1']

Pre-requisite

  1. Go
  2. PhantomJS, v2
  3. Sqlmap (for fuzzing SQLi)
  4. Arachni (for fuzzing XSS and web vulnerabilities)
  5. NSQ ,
    • running lookupd at port 4160,4161
    • running nsqd at port 4150,4151
    • with –max-msg-size=5000000
  6. Kibana and Elastic search, for dashboarding

 

Installation

go get github.com/yahoo/gryffin/...

 

 

Source && Download



Comments are closed.