Giter VIP home page Giter VIP logo

red-kite-solutions / stalker Goto Github PK

View Code? Open in Web Editor NEW
76.0 2.0 4.0 13.98 MB

Stalker, the Extensible Attack Surface Management tool.

Home Page: https://wiki.stalker.red-kite.io/

License: GNU General Public License v3.0

JavaScript 0.35% TypeScript 74.78% Dockerfile 0.28% Shell 2.43% HTML 11.20% SCSS 3.64% C# 3.62% Python 3.71%
attack-surface-management security-automation security-tools easm security bug-bounty xasm

stalker's People

Contributors

aboisier avatar lm-sec avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

stalker's Issues

Dockerize the Jobs Handler

Ensure that it is deployable via a dockerfile
Ensure that it is deployable via a docker-compose file along with the other modules
Ensure that every job is runnable via the adequate environment in the docker container

Add a HTTP screenshot job

The HTTP screenshot job will try to take a screenshot of the front-page of a website to help identifying it quickly. The goal is then to store it as base64 in the database. It may be useful to have a web interface to visualize the pictures of a program or something.

Look into aquatone or another tool. It needs to be able to run without a GUI.

Add a port details job

Scan the known open ports with nmap -sV -sC options and store the output. This will give us more details about the service running on the port.

Add a Slack reporting service

Add a Slack reporting service that will send reports to different Slack channels to be used as a GUI/notification portal. When a new vulnerabiliity if found or a new website is screenshoted, for instance, the data will be sent as a slack message for later consultation.

Give domains an attribute that marks them as "big"

Maybe make a boolean on domain objects that marks them as "big"

Big domains should not be queried with their domain array included if possible, but only query their child domains (subdomains). For performance reasons.

For instance, if example.com has 2000 subdomains, query the full domain object as little as possible and try to query sub1.example.com instead.

Add a job to the database upon creation

Add the job to the database when it is created so that we can keep track of it. It will enable the deletion of said task upon completion, guaranteeing that the job will be done or queued (so eventually done), even if the server is stopped mid-job. The job would simply be restarted, granted that the content of the database is preserved and intact.

UI for Flow Manager

Add an admin UI to the flow manager

Templates with nice features (must include a copy of the MIT license and credit the creators):
https://github.com/akveo/ngx-admin

The UI will obviously need some backend features.

A completed first UI would include:

  • A login page
  • A landing home page once logged in
  • A navigation menu on the left including :
    • An application settings link including :
      • A multi-tabs container with the tabs
        • Application settings
        • Users and roles
    • A home page link that sends you to the landing page
  • A profile drop down on the top right including :
    • A link to modify profile (requires password to submit)
      • Change display name
      • Change email
      • Change password
    • A link to logout
  • A 404 page

I want to scan an IP range.

AC:

  • Add an IP range to a company
  • Scan IP range for live hosts
  • Refresh on a time basis like a cron job
  • Add the new hosts to the database
  • The maximum is /8

Job queue order is altered when a job with a lower priority is added

Lets say you add 5 jobs with a priority of 5, they will get prioritized in FIFO order. If you then add a job with a priority smaller than 5, lets say 3, it will become the next job as its priority is higher. However, the other jobs will lose their FIFO order and will get into a seemingly random order.

Explained visually:

At first:
{ id: 1, priority: 5}
{ id: 2, priority: 5}
{ id: 3, priority: 5}
{ id: 4, priority: 5}
{ id: 5, priority: 5}

Then:
{ id: 6, priority: 3}
{ id: 3, priority: 5}
{ id: 1, priority: 5}
{ id: 2, priority: 5}
{ id: 5, priority: 5}
{ id: 4, priority: 5}

The entended behavior is to keep the FIFO order in same priority jobs. A solution might be to add a queue entry timestamp with milliseconds and do a second prioritization based on that. I do not know if it is supported by the python priority queue.

Dockerize the Flow Manager

Make sure that the flow manager is easily deployable via a Dockerfile
Make sure that the flow manager is deployable via a docker-compose file, along with the other modules, and that they interconnect properly

I want to list open TCP ports.

AC:

  • Scan all TCP ports for a host
  • Add the found ports to the host in the database
  • When a host is found, start a TCP scan on it

Add a way to report ports for a subdomain

Domain objects need to be able to handlea list of Ports that will contain a port number and several details about the running service. Only open ports will be stored.

Add support for IP ranges

Add the possibility to handle IP ranges in Program objects to potentially perform port scanning and host discovery on ip ranges

Create a MongoDB instance

Create the Mongo DB instance in a docker container for easy erase of the data, to start clean everytime for development purposes.

Make sure that authentication is properly setup on it.

Find a convenient Mongo DB client for debugging purposes.

Recursively go through tree to callback in every leaf

Make a function that goes through the full domain tree and calls a callback function in every node.

Useful for everything that needs its custom logic in every node, but needs to go through the full tree.

Something like:
function fullTreeAction(callback: function): void

It would call the callback by giving it the current domain node (this).

Implement the function in domain_tree.utils.ts

Add a is HTTP job

This job will find out and mark a port as running a HTTP server. Other jobs will rely on this information such as potential dirsearch jobs, web screenshot jobs, etc.

Add subdomain alteration scanning job

More research needs to be performed, but subdomain alteration scanning consists of trying common alternatives of a found subdomain to try to find new ones. For instance, www.example.com could lead to trying the subdomain ww2.example.com.

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.