• Stars
    star
    188
  • Rank 205,536 (Top 5 %)
  • Language
    Shell
  • Created over 8 years ago
  • Updated about 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A project designed to parse public source code repositories and find various types of vulnerabilities.

RepoSsessed

RepoSsessed is a project designed to parse public source code repositories and find various types of vulnerabilities. The current focus is on finding secrets, but see the Next Steps section to see what is being added.

The tool has two main audiences:

  1. Internal teams looking to make sure they don't have secrets in their code repositories.
  2. Consultants looking to check their customers' repositories for secrets, i.e., vulnerabilities.

Philosophy

Finding flaws in public source code repositories is not a new idea, and many have done great work in the area.

The reason this project was created was twofold:

  1. To add source code flaws to the public source code repository conversation. So, not just looking for information disclosure, but actual coding flaws as well, e.g., input validation mistakes that can lead to critical bugs in various languages.
  2. I am looking to collapse all useful code repository signatures, including my own for coding flaws, into a single, flat, transparent format that can be used by ANY engine. This way you can write whatever interface you'd like and use the evergreen signatures from this project.
  3. Due to regular issues with leveraging search APIs, e.g., limiting sensitive (dangerous) searches and rate limiting, this project works by searching the repo locally post-clone.

Current implementation

Currently the tool works in two ways:

  1. Searches within a repo for a number of sensitive files.
  2. Searches within a repo for a number of sensitive strings within files.

Installation

  1. Clone the directory.
  2. Install ripgrep.

Usage

There are two primary ways to use this project.

  1. Create your own tool and use the filetypes.txt and strings.txt and regex.txt files as your search content.
  2. Use the provided script to perform the actual searches.

If you're doing #2, simply clone this repo, cd into it, drop the repo you want to test into the ./target directory, and then run the ./repossessed.sh script, which will send your results to the console.

Next steps

With secrets being covered fairly well, the next thing I want to add to the project are some rudimentary source code checks.

  • Use of deprecated APIs within code.
  • Use of dangerous functions.
  • Use of blacklisted patterns.
  • Etc.

Basically, if it's possible to grep for a string within a particular language's code, and find something that should not ever be done, I'm going to try to include it here.

High false negative, but also low false positive. I think that's the right tradeoff for something like this. And if you have any examples you'd like to see included, please let me know via Issues.

Credits

I'd like to give credit to the following people for either their prior work or their contributions:

  • Samar Dhwoj Acharya for allowing me to use signatures from his Github Dorks project.
  • Michael Henriksen for allowing me to use signature files from his GitRob project.
  • Thanks to the creator of ripgrep for making such a nice implementation of grep.

Notes

  1. If you benefit from this project and think of any other signatures, please submit them to the project through pull requests or issues. The project will always remain open and transparent so that people can benefit from the shared signatures, and it's always nice to keep that going.

More Repositories

1

jdwp-shellifier

Python
815
star
2

XDiFF

Extended Differential Fuzzing Framework
Python
320
star
3

laf

This project intends to provide a series of tools to craft, parse, send, analyze and crack a set of LoRaWAN packets in order to audit or pentest the security of a LoraWAN infrastructure.
Python
167
star
4

Platbox

UEFI and SMM Assessment Tool
Python
161
star
5

I-know-where-your-page-lives

I Know Where Your Page Lives: Derandomizing the latest Windows 10 Kernel - ZeroNights 2016
C++
157
star
6

Melkor_ELF_Fuzzer

Melkor is a very intuitive and easy-to-use ELF file format fuzzer to find functional and security bugs in ELF parsers.
C
148
star
7

FuzzNDIS

A Fuzzer for Windows NDIS Drivers OID Handlers
C
91
star
8

kmdf_re

Helper idapython code for reversing kmdf drivers
C
66
star
9

BlueCrawl

Frida (Android) Script for extracting bluetooth information
JavaScript
59
star
10

FileFormatFuzzing

C
39
star
11

AOSP-DownloadProviderDbDumperSQLiWhere

PoC Exploiting SQL Injection in Android's Download Provider in Selection Parameter (CVE-2019-2198)
Java
32
star
12

AOSP-ExploitUserDictionary

PoC Exploit for AOSP UserDictionary Content Provider (CVE-2018-9375)
Java
21
star
13

SearchAndCollect

search and collect windows files from multiple locations on machine and store in one centralized directory
C
20
star
14

AOSP-DownloadProviderHijacker

PoC Exploiting Permission Bypass in Android's Download Provider (CVE-2018-9468)
Java
18
star
15

AutoGadgetFS

USB testing framework
Python
15
star
16

BurpJDSer-ng

Allows you to deserialize java objects to XML and lets you dynamically load classes/jars as needed
Java
15
star
17

uefi_research

A repository with UEFI research stuff
13
star
18

Embedded-Defense

Sample embedded defense code for applications written in .NET, Java, PHP and Python.
JavaScript
11
star
19

PinguCrew

Python
9
star
20

Paddo

Framework for auditing and conducting "padding oracle" attacks
Python
8
star
21

AOSP-DownloadProviderDbDumper

PoC Exploiting SQL Injection in Android's Download Provider (CVE-2018-9493)
Java
7
star
22

BlackHat_2017

Materials for "Go Nuclear: Breaking Radiation Monitoring Devices"
C
6
star
23

AOSP-DownloadProviderHeadersDumper

PoC Exploiting Headers Disclosure in Android's Download Provider (CVE-2018-9546)
Java
6
star
24

NexusTacos

A vulnerability in the SNMP module of NX-OS could allow an unauthenticated, remote attacker to disclose potentially sensitive information.
Python
5
star
25

FileSquattingExample

FileSquatting Exploitation by Example
C
5
star
26

HL7-Fuzzer

An HL7 message fuzzer ( client and server )
Python
4
star
27

rubenBlackHat2018

Last Call For Satcom Security Materials
C
3
star
28

AOSP-DownloadProviderDbDumperSQLiLimit

PoC Exploiting SQL Injection in Android's Download Provider in Sort Parameter (CVE-2019-2196)
Java
2
star