• Stars
    star
    197
  • Rank 197,722 (Top 4 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created over 5 years ago
  • Updated over 1 year ago

Reviews

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

Repository Details

A medium interaction printer honeypot 🍯

miniprint

Build Status Codacy Badge License

A medium interaction printer honeypot

About

miniprint acts like a standard networked printer that has been accidentally exposed to the public internet.

It speaks the Printer Job Language (PJL) over the raw network "protocol"

Features

  • A fully-featured virtual filesystem in which attackers can read and write files and directories - nothing gets written to the host
  • Any PostScript or plaintext print jobs sent to the printer will be saved to the uploads/ directory
  • Extensive (probably too much) logging
  • Shodan Honeycore: 0

Installation

  1. virtualenv venv && source ./venv/bin/activate (optional)
  2. pip3 install -r requirements.txt
  3. python3 ./server.py

Usage

usage: miniprint [-b,--bind HOST] [-l,--log-file FILE] [-t,--time-out TIME] [-h]

miniprint - a medium interaction printer honeypot
       by Dan Salmon: @BLTjetpack, github.com/sa7mon 

optional arguments:
  -b, --bind <host>       Bind the server to <host> (default: localhost)
  -l, --log-file <file>   Save all logs to <file> (default: ./miniprint.log)
  -t, --timeout <time>    Wait up to <time> seconds for commands before disconnecting client (default: 120)

  -h, --help  show this help message and exit

To interactively attack miniprint on localhost, you can use PRET with the following command: python ./pret.py localhost pjl

Logs are generated in format: time - loglevel - method - operation - message and are saved to miniprint.log by default.

Requirements

  • Python >= 3.5

Printer Protocol Support

Protocol Port Support
Raw 9100 Yes
Web 80 No
IPP 631 No
LPD 515 No

Printer Control Language Support

Language Support
PJL Yes
PML No

Page Description Language Support

Language Support
PDF Yes
XPS No
PostScript No
Plaintext Yes
PCL No

Known Issues

  • PostScript files printed that don't contain %%EOF at the end will cause the printer to wait indefinitely for the end of the job.

Thanks

More Repositories

1

S3Scanner

Scan for misconfigured S3 buckets across S3-compatible APIs!
Go
2,497
star
2

venmo-data

Venmo trasaction dataset for data analysis/visualization/anything
205
star
3

ups-telegraf

Get data from USB-connected UPS with Telegraf
Python
21
star
4

watchtower

Detect and alert when Rogue AP and Deauth attacks occur
Python
11
star
5

browser-kali

Docker image for Kali XFCE with NoVNC
Dockerfile
10
star
6

wpe-parse

This is a simple parsing script to convert output from hostapd-wpe (which makes John the Ripper-formatted logs) to Hashcat format.
Shell
7
star
7

validate_emails

A quick Python script used to validate email addresses
Python
7
star
8

press

A multi-threaded tool for resumable Wordpress bruteforcing
Python
6
star
9

h1rss

An RSS feed generator for HackerOne Hacktivity
Go
5
star
10

craigsfeed

RSS feed generator for Craigslist searches
Go
5
star
11

firefly-gone-plaid

A connector to add financial transactions from the Plaid API to Firefly III
Go
5
star
12

fccedits

Find Wikipedia edits originating from IP's belonging to the FCC
Python
5
star
13

startools

To use a RasPi to do an Evil Twin attack and capture 802.1x RADIUS creds
C
4
star
14

orchestra

Quickly create a static site hosted on AWS from the command line
Shell
3
star
15

awesome-open-source-images

3
star
16

docker-benchmark

A simple container to benchmark Docker filesystem performance using fio
Shell
2
star
17

parsecaps

Parse wpa.cap generated from besside-ng and create individual .caps for each network with a captured handshake.
Python
2
star
18

ghostup

Upgrade Ghost and ghost-cli
Shell
2
star
19

resume-latex

Current resume
TeX
1
star
20

tumblr-spam-accounts

1
star
21

podarc

A simple tool to archive podcasts
Go
1
star
22

csv-sql-tools

1
star
23

nixos

Learning NixOS
Nix
1
star
24

uenum

A customizable tool to enumerate users via APIs
Python
1
star
25

cheater-beater

Python
1
star
26

jsCaesar

Simple Caesar cipher written in JavaScript.
JavaScript
1
star
27

bindings

For all those pesky IDE's
1
star
28

dns-rebind

DNS Rebinding Attack research
Go
1
star
29

retirement-calc

MNSU IT680 Spring 2019 - Phase 2 Project
JavaScript
1
star
30

vulnchest

A collection of vulnerable applications for research purposes
Dockerfile
1
star
31

salary-viz

MNSU salary data visualization. IT680 - Spring 2019
JavaScript
1
star