diff --git a/README.md b/README.md index f1cac2c..3863d7c 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ - [Quick overview of the payload](#quick-overview-of-the-payload) - [Exfiltrated data formatting](#exfiltrated-data-formatting) - [USB Mass Storage Device Problem](#usb-mass-storage-device-problem) + - [Payload Writer](#payload-writer) - [Limitations/Drawbacks](#limitationsdrawbacks) - [To-Do List](#to-do-list) @@ -114,10 +115,10 @@ https://github.com/AleksaMCode/WiFi-password-stealer/blob/a90ffb208e6a09d1b0ae44

In order to run the wifi_passwords_print.sh script you will need to update the script with the correct name of your USB stick after which you can type in the following command in your terminal:

```bash -echo PASSWORD | sudo -S sh wifi_passwords_print.sh +echo PASSWORD | sudo -S sh wifi_passwords_print.sh USBSTICK ``` -where `PASSWORD` is your account's password. +where `PASSWORD` is your account's password and `USBSTICK` is the name for your USB device. #### Quick overview of the payload

NetworkManager is based on the concept of connection profiles, and it uses plugins for reading/writing data. It uses .ini-style keyfile format and stores network configuration profiles. The keyfile is a plugin that supports all the connection types and capabilities that NetworkManager has. The files are located in /etc/NetworkManager/system-connections/. Based on the keyfile format, the payload uses the grep command with regex in order to extract data of interest. For file filtering, a modified positive lookbehind assertion was used ((?<=keyword)). While the positive lookbehind assertion will match at a certain position in the string, sc. at a position right after the keyword without making that text itself part of the match, the regex (?<=keyword).* will match any text after the keyword. This allows the payload to match the values after SSID and psk (pre-shared key) keywords.

@@ -141,6 +142,13 @@ https://github.com/AleksaMCode/WiFi-password-stealer/blob/f5b3b11328764eb07d765a >
  • Don't solder the pins because you will probably want to change/update the payload at some point.
  • > +## Payload Writer +

    When creating a functioning payload file, you can use the writer.py script, or you can manually change the template file. In order to run the script successfully you will need to pass in addition to the script wile name, a name of the OS (windows or linux) and the name of the payload file (e.q. payload.dd). Below you can find an example how to run the script when creating a Windows payload.

    + +```bash +python3 writer.py windows payload.dd +``` + ## Limitations/Drawbacks