All Projects → needmorecowbell → Funnel

needmorecowbell / Funnel

Licence: other
Funnel is a lightweight yara-based feed scraper

Programming Languages

python
139335 projects - #7 most used programming language
YARA
70 projects

Projects that are alternatives of or similar to Funnel

Python Iocextract
Defanged Indicator of Compromise (IOC) Extractor.
Stars: ✭ 300 (+689.47%)
Mutual labels:  osint, yara
Threatingestor
Extract and aggregate threat intelligence.
Stars: ✭ 439 (+1055.26%)
Mutual labels:  osint, yara
Pentest-Bookmarkz
A collection of useful links for Pentesters
Stars: ✭ 118 (+210.53%)
Mutual labels:  rss, osint
osint-cli-tool-skeleton
Template for new OSINT command-line tools
Stars: ✭ 25 (-34.21%)
Mutual labels:  osint
feedsearch-crawler
Crawl sites for RSS, Atom, and JSON feeds.
Stars: ✭ 23 (-39.47%)
Mutual labels:  rss
tf
Telefeedbot
Stars: ✭ 16 (-57.89%)
Mutual labels:  rss
OSINT-Brazuca
Repositório criado com intuito de reunir informações, fontes(websites/portais) e tricks de OSINT dentro do contexto Brasil.
Stars: ✭ 508 (+1236.84%)
Mutual labels:  osint
tgto
Telegram to RSS bot.
Stars: ✭ 20 (-47.37%)
Mutual labels:  rss
rss2email
Convert RSS feeds to emails
Stars: ✭ 72 (+89.47%)
Mutual labels:  rss
securitytools
quality community projects 👨‍👩‍👧‍👦📓🔎
Stars: ✭ 26 (-31.58%)
Mutual labels:  osint
filter-app
Rails app - news aggregator that powers http://hrfilter.de and http://fahrrad-filter.de
Stars: ✭ 22 (-42.11%)
Mutual labels:  rss
gatsby-blog-mdx
A ready-to-use, customizable personal blog with minimalist design
Stars: ✭ 61 (+60.53%)
Mutual labels:  rss
drop-feeds
Drop Feeds is a Sage / Sage++ like addon (webextension) for Firefox Quantum
Stars: ✭ 18 (-52.63%)
Mutual labels:  rss
onedrive user enum
onedrive user enumeration - pentest tool to enumerate valid onedrive users
Stars: ✭ 223 (+486.84%)
Mutual labels:  osint
evine
Interactive CLI Web Crawler
Stars: ✭ 140 (+268.42%)
Mutual labels:  osint
sherlock
🔎 Find usernames across social networks
Stars: ✭ 52 (+36.84%)
Mutual labels:  osint
rss-button-for-safari
Safari web extension for news feed discovery of RSS, Atom, JSON Feed & RDF+RSS.
Stars: ✭ 16 (-57.89%)
Mutual labels:  rss
yara-rust
Rust bindings for VirusTotal/Yara
Stars: ✭ 35 (-7.89%)
Mutual labels:  yara
NiceFeed
Android RSS feed reader and news aggregator
Stars: ✭ 74 (+94.74%)
Mutual labels:  rss
AmpliSpy
Check local or remote list of DNS servers for suitability in DNS Amplification DoS.
Stars: ✭ 39 (+2.63%)
Mutual labels:  osint

Funnel

Funnel is a lightweight yara-based feed scraper. Give a list of inputs and it will check them. Put it in a crontab and it will regularly update the database. If the article gets matched to the yara rule, it will be put into the database. All matched results get put into an sqlite database, with the rule it flagged.

Installation

Install your required dependencies and you're good to go.

pip3 install -r requirements.txt

Usage:

Funnel.py [-h] [-v] [-u] rule_path target_path

positional arguments:
  rule_path      path to directory of rules used on list of feeds
  target_path    path to sources list or url

optional arguments:
  -h, --help     show this help message and exit
  -v, --verbose  increase output verbosity
  -u, --url      scan one url instead of using sources list

Example:

You want to get every new post on the internet that has your name or personal info in it. You would use as many sources as possible,and fill out the personal_info.yar rule.

Schedule this command to run regularly using crontab:

python3 Funnel.py rules/personal/ sources/sources-large.json

Want to scan just one url to see if it matches against any of your rule set?

python3 Funnel.py -u rules/ https://www.bbc.com/news/world-asia-47844000

A bar that wants all the newest margharita recipes? You could do that. Every single post about a politician, for a data visualization project on how much each person is talked about? Works too! Just add rules and sources.

Sources

The sources should be in a json file, with a url and a title for each source in the list. Here is a barebones example:

{
    "sources-rss":[
        {
                "url": "https://www.reddit.com/r/netsec/.rss",
                "title": "netsec subreddit"
        },
        {
                "url": "https://www.reddit.com/r/malware/.rss",
                "title": "malware subreddit"
        }

    ]

}

Tip: Extract sources from feedly by using the opml_to_json.py file in the util folder to turn your exported feedly opml file into a valid sources file

Rules

Some sample rules have been provided in the rules folder. Any standard yara rule will work, it is always being compared on text content at this point, no file analysis yet. You can pass in either a directory of rules, a nested directory of rules, or just one rule.

Database

The database is in sqlite, and works with two tables. The first, is a table of links of matched articles, which have a unique id. The second table is a table of the matched rules with the matched article's id together. This keeps duplicates out of the links table, and makes for easy reference.

Contribute

Feel free to add your suggestions for what to add to this project, even better if you give me a pull request!

Inspired by ThreatIngestor from InQuest

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].