You can build your own firmware using the ESP-IDF framework. However, we will focus on the ESP-IDF framework in this guide.
Important
The version you need to install must be 5.3.1; we cannot guarantee that a more recent version will compile.
- Minino
- ESP-IDF v5.3.1 installed
- Make installed
- pre-commit installed (optional but recommended)
- Clone this repository:
Using HTTPS:
git clone https://github.com/ElectronicCats/Minino.git
Using SSH:
git clone [email protected]:ElectronicCats/Minino.git
- Change to the firmware directory:
cd Minino/firmware
- Set the IDF_PATH environment variable:
get_idf
Note:
get_idf
should be an alias you created if you followed the ESP-IDF installation guide.
- Setup the project environment:
make setup
To build the firmware, run the following command:
make compile
-
Connect your Minino to your computer and identify the port it is connected to. For example,
/dev/ttyUSB0
or/dev/ttyACM0
on Linux,COM1
orCOM2
on Windows, or/dev/cu.usbmodem14401
on macOS. -
Set the PORT to an environment variable, for example:
export PORT=/dev/ttyUSB0
Replace
/dev/ttyUSB0
with the port your Minino is connected to.
- Flash the firmware:
make flash
To monitor the serial output, run the following command:
make monitor
To do all the previous steps in one command, run:
make all
If you you have dependencies issues or want to clean the project, run the following command:
make clean
To create a release, you need to update the firmware version in the menuconfig
. To do this, run:
idf.py menuconfig
Navigate to General project
-> Firmware version
and update the version number.
Get the build files:
./get_build.sh
If you can't run the script, make sure it has the correct permissions:
chmod +x get_build.sh
Note: On Windows, you can run the script using Git Bash.
The build files will be in the build_files.zip
file. Now you can create a release on GitHub and attach the build_files.zip
file.
Table for ESP Tool
Flash Address | File |
---|---|
0x0 | bootloader.bin |
0x8000 | partition-table.bin |
0x15000 | ota_data_initial.bin |
0xa0000 | minino.bin |
python -m esptool --chip esp32c6 -b 460800 --before default_reset --after hard_reset write_flash --flash_mode dio --flash_size 8MB --flash_freq 80m 0x0 bootloader.bin 0x8000 partition-table.bin 0x15000 ota_data_initial.bin 0xa0000 minino.bin
Flash Address | File |
---|---|
0x0 | bootloader.bin |
0x8000 | partition-table.bin |
0x20000 | minino.bin |
python -m esptool --chip esp32c6 -b 460800 --before default_reset --after hard_reset write_flash --flash_mode dio --flash_size 8MB --flash_freq 80m 0x0 bootloader.bin 0x8000 partition-table.bin 0x20000 minino.bin
BLE_SCAN_FILTER_ALLOW_ALL = 0x0, /*!< Accept all :
1. advertisement packets except directed advertising packets not addressed to this device (default). */
BLE_SCAN_FILTER_ALLOW_ONLY_WLST = 0x1, /*!< Accept only :
1. advertisement packets from devices where the advertiser’s address is in the White list.
2. Directed advertising packets which are not addressed for this device shall be ignored. */
BLE_SCAN_FILTER_ALLOW_UND_RPA_DIR = 0x2, /*!< Accept all :
1. undirected advertisement packets, and
2. directed advertising packets where the initiator address is a resolvable private address, and
3. directed advertising packets addressed to this device. */
BLE_SCAN_FILTER_ALLOW_WLIST_RPA_DIR = 0x3, /*!< Accept all :
1. advertisement packets from devices where the advertiser’s address is in the White list, and
2. directed advertising packets where the initiator address is a resolvable private address, and
3. directed advertising packets addressed to this device.*/
First run a python simple server with:
python3 -m http.server
Next open the DoS app in minino and if you haven't a AP saved in the serial terminal you need to add your AP:
Welcome to the Minino Console.
Type 'help' to get the list of commands.
Use UP/DOWN arrows to navigate through command history.
Press TAB when typing command name to auto-complete.
Press Enter or Ctrl+C will terminate the console environment.
minino> save AP_NAME PASSWORD
The minino will try to connect to AP. Once you have a AP saved if the minino app do not show the AP's exit and come back to the app to load AP, once minino found a AP available this will try to connect and if done, the next screen will show the target, if target is not configured, you need to introduce manually in the serial terminal:
Welcome to the Minino Console.
Type 'help' to get the list of commands.
Use UP/DOWN arrows to navigate through command history.
Press TAB when typing command name to auto-complete.
Press Enter or Ctrl+C will terminate the console environment.
minino> web_config IP_VICTIM PORT_VICTIM _PATH_VICTIM
In this case our victim server are our pc so the command will be like this: web_config 192.168.0.178 8000 /
Then we can execute the command catdos
to start the attack.