Giter Site home page Giter Site logo

clickoncehunter's Introduction

ClickonceHunter

Tool released in combination with the Less SmartScreen More Caffeine: ClickOnce (Ab)Use for Trusted Code Execution conference presentation / blog post by 0xthirteen and myself.

Golang web scraper that makes use of both chromedp, as well as normal HTTP requests to scrape search engines for published ClickOnce applications. Includes support for AWS API gateway source IP rotation and specifying an HTTP proxy for troubleshooting. Google and Swisscows search engines are currently supported for scraping.

Credits

  • Mike Felch - for the fireprox project which allowed for much easier Golang reimplementation
  • Max Harley - for reimplementing the majority of fireprox in Go to be used in this project

Usage

The functionality of ClickonceHunter is controlled by config.yml. There are currently two modes the application will run in:

  • create - provide AWS access and secret keys in the config and ClickonceHunter will create AWS API gateway endpoints to use with your search engine requests, then clean them up when it finishes
  • provided - create your AWS API gateway endpoint(s) manually or using a tool like fireprox and populate them in the awsapigateway field(s) within the config

Values in the config.yml file relevant to search engine requests include:

  • pages - the amount of pages to request with each of the specified dorks
    • suggested max values for these are included in a comment within the config
  • iterations - the amount of times to request each page for each of the specified dorks, sometimes unique results will be returned when rotating source IP
    • anything beyond 3-5 iterations might be excessive depending on your use case
  • dorks - targeted searches to be conducted for the specified search engine

Other relevant values in the config.yml file include:

  • http proxy - no proxy will be used if this value is left blank, and if populated, all the requests will route through the specified proxy and ignore certificate warnings

Demo

ClickonceHunter_demo1.mp4

Implementation Notes

Swisscows scraping has been implemented by making use of the Chrome DevTools protocol with the chromedp project. There are CSRF-like integrity checks included in searches made on the Swisscows search engine, which appear in the form of the X-Request-Signature and X-Request-Nonce headers. For each dork request, a headless chromium browser is used to browse to the Swisscows landing page using the getSwissSecrets() function, and a listening event is created with the listenForSwissSecrets() function for when these headers are identified. The headers are then populated for our dork request to pass the integrity check.

ClickonceHunter is not parsing links anymore?!

The HTTP proxy option was added to help the users troubleshoot this for if/when the implemented search engines undoubtedly change their response formatting or API endpoints used to make requests. PRs are welcome!

Why no threading though...

Multithreading / goroutine support to the searches made was not implemented. For the purpose of finding published ClickOnce applications, it didn't seem necessary.

clickoncehunter's People

Contributors

zyn3rgy avatar

Stargazers

clod avatar  avatar 0乂ᐯ爪 avatar Solomon Sklash avatar TK avatar  avatar nuts. avatar  avatar Nicolas Vincent avatar ⠀ avatar Jorge avatar  avatar Sam Deviron avatar  avatar Jules avatar  avatar Matt Robinson avatar  avatar  avatar  avatar Nyx2023 avatar Swissky avatar Xeldax avatar Erik avatar Computer button pusher // Pousseur de boutons en informatique  || SIN - SIN HACK - HACK || NO-CODE evangelist || Black coffee like my sense of humor avatar  avatar Antero Guy avatar AVA avatar  avatar  avatar  avatar  avatar  avatar Mariusz Banach avatar Phil Miller avatar S avatar  avatar Mr.X avatar nbsec avatar shira balali avatar  avatar  avatar xedis avatar Samuel A. Adewole avatar mrpnkt avatar WtZ avatar Li Jie avatar  avatar Matthew Linney avatar Kr0ff avatar Tom Tom avatar  avatar Roman Hossain Shaon avatar soap avatar unbaiat avatar  avatar Guillaume Caillé avatar  avatar  avatar Max Harley avatar  avatar  avatar Steven F avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.