Skip to content

Setup.cfg

In this file, you can find extend documentation on every option in the setup.cfg file.

The setup.cfg is the first file that gets loaded on start of the P4wnP1 service.
The Payload gets loaded directly afterwards and has the ability to override variables defined setup.cfg (so if some features don't behave like they should, their settings are probably getting overridden by the payload)


Gadgets

USB_VID

defines the USB-VendorID
Can be any 4-digit hexadecimal number, but if you want the Pi to like a certain device, you can look up VIDs by name at the-sz.com.

Info

Mac OS only plug'n'plays Apple accessories. So you should change the VID to 0x05ac if you plan on using the P4wnP1 only Apple devices.

USB_PID

defines the USB-ProductID
Can be any 4-digit hexadecimal number.

Info

Since P4wnP1 is limited to USB 2.0 speeds, the reported internet speed is only 450 Mbit/s max.

Note

currently only 128MB capacity.


Wired Network

IF_IP

defines the local IP of the P4wnP1 which can be used to connect to it from the target machine.

IF_MASK

defines the netmask

IF_DHCP_RANGE

defines the range of possible IPs assignable to the target

Info

P4wnP1 needs internet connectivity and ipv4-forwarding enabled so requests go through.

WPAD_ENTRY

TODO

WIFI Network


WIFI_REG

defines the WiFi regulatory domain
if this is not set to the country you are currently in, you may be using banned bands or not using bands you are allowed to use.

*

WIFI_ACCESSPOINT

defines if an accesspoint should be started can be either true or false

WIFI_ACCESSPOINT_NAME

defines the name as which P4wnP1 will appear can be a string

WIFI_ACCESSPOINT_PSK

defines the password of the AP can be a string

WIFI_ACCESSPOINT_IP

defines the IP P4wnP1 will be accessible from the target can be a normal IP-address

WIFI_ACCESSPOINT_NETMASK

defines the Netmask can be a regular netmask

WIFI_ACCESSPOINT_DHCP_RANGE

defines a the range of possible IP addresses assigned via DHCP can be a two IP-addresses seperated by a comma.

WIFI_ACCESSPOINT_HIDE_SSID

defines if the WIFI_ACCESSPOINT_NAME is hidden might evade suspicious network admins that like to watch their wireless infrastructure :-)


WIFI_CLIENT

defines if P4wnP1 should try to connect to an already existing WiFi can be true or false; will fall back into AP mode if WIFI_ACCESSPOINT is true

WIFI_CLIENT_SSID

Name of the target network to connect to

WIFI_CLIENT_PSK

Passphrase of the target network to connect to


lang

defines the default language gets overridden in most payloads; so be aware that the language might got reset by the used payload.

HID_KEYBOARD_TEST

test if keyboard driver got installed and is ready to be used calls callback 'onKeyboardUp' afterwards; mostly there to provide a default if not set explicitly in payload.


Bluetooth Network

Warning

Connecting Bluetooth Network Access Point (NAP) with a mobile device requires to disable other networks with internet access on this device in most cases (like WiFi). NAP provided by P4wnP1 doesn't necessarily provide Internet access, but is used to grant network access on P4wnP1 via bluetooth. The alternative would be to establish a "Group Network (GN)" instead of NAP, which unfortunately didn't work in most test cases, when it cames to connection of a mobile device. So if Internet should be provided from P4wnP1 via NAP (which isn't the purpose of P4wnP1), P4wnP1 itself has to be connected to Internet (for example using RNDIS + ICS on windows or using the WiFi client mode). Additionally iptables rules have to be deployed to enable MASQUERADING on the respective outbound interface.

To summerize: P4wnP1 provides NAP as access option to SSH via bluetooth, not to serve Internet, although this could be achieved.

BLUETOOTH_NAP

Enable Bluetooth NAP to SSH in via Bluetooth

BLUETOOTH_NAP_PIN

unused, PIN authentication currently not working (custom agent for bluez 5 needed)

BLUETOOTH_NAP_IP

IP used by P4wnP1

BLUETOOTH_NAP_NETMASK

Mandantory Netmask

BLUETOOTH_NAP_DHCP_RANGE

DHCP Server IP Range


AutoSSH

AUTOSSH_ENABLED

defines if AUTOSSH reachback is enabled if enabled P4wnP1 will continuously try to bring up a SSH connection tunneling out its internal SSH server to a remote SSH Server

AUTOSSH_REMOTE_HOST

host address of the remote SSH server Should be a hostname like "YourSSH-server.com"

AUTOSSH_REMOTE_USER

valid user of the remote SSH server passwordless login has to be possible with the key given by AUTOSSH_PRIVATE_KEY

AUTOSSH_PRIVATE_KEY

path to private key used to login to the remote server (has to be present in ~/.ssh/authorized_keys file of AUTOSSH_REMOTE_USER)

AUTOSSH_PUBLIC_KEY

path to public key this key has to be present in ~/.ssh/authorized_keys file of AUTOSSH_REMOTE_USER (use ./ssh/pushkey.sh to assist)

AUTOSSH_REMOTE_PORT

port number P4wnP1's SSH shell will be reachable at this port on the remote SSH server (the port is bound to localhost and thus not exposed to public facing IP)