ronin-listener

CI Code Climate

Description

ronin-listener is a small CLI utility for receiving exfiltrated data over DNS or HTTP.

Features

  • Supports starting a DNS server for receiving exfiltrated data via DNS queries for a domain.
  • Supports starting a HTTP server for receiving exfiltrated data via HTTP requests.

Synopsis

$ ronin-listener
Usage: ronin-listener [options]

Options:
    -V, --version                    Prints the version and exits
    -h, --help                       Print help information

Arguments:
    [COMMAND]                        The command name to run
    [ARGS ...]                       Additional arguments for the command

Commands:
    completion
    dns
    help
    http

Listen for DNS queries on 127.0.0.1 port 5553 for the domain example.com:

ronin-listener dns -H 127.0.0.1 -p 5553 example.com

Listen for HTTP requests on 127.0.0.1 port 8080:

ronin-listener http -H 127.0.0.1 -p 8080

Listen specifically for HTTP requests sent to example.com:

ronin-listener http -H 127.0.0.1 -p 8080 --vhost example.com

Generate a new standalone DNS listener Ruby script:

ronin-listener new dns file.rb

Generate a new standalone HTTP listener Ruby script:

ronin-listener new http file.rb

Requirements

Install

$ gem install ronin-listener

Gemfile

gem 'ronin-listener', '~> 0.1'

gemspec

gem.add_dependency 'ronin-listener', '~> 0.1'

Development

  1. Fork It!
  2. Clone It!
  3. cd ronin-listener/
  4. ./scripts/setup
  5. git checkout -b my_feature
  6. Code It!
  7. bundle exec rake spec
  8. git push origin my_feature

License

Copyright (c) 2023-2024 Hal Brodigan (postmodern.mod3@gmail.com)

ronin-listener is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

ronin-listener is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with ronin-listener. If not, see https://www.gnu.org/licenses/.