The basic functionality of the application is as follows:
- Application sends out a UDP broadcast on port 5978
- Camera sees the broadcast on port 5978 and inspects the payload – if it sees that the initial part of the payload contains "FF FF FF FF FF FF" it responds (UDP broadcast port 5978) with an encoded payload with its own MAC address
- Application retrieves the camera's response and creates another UDP broadcast but this time it sets the payload to contain the target camera's MAC address, this encoded value contains the command to send over the password
- Camera sees the broadcast on port 5978 and checks that it is meant for it by inspecting the MAC address that has been specified in the payload, it responds with an encoded payload that contains its password (base64 encoded)
After spending some time with the application in a debugger I found what looked like it was responsible for the decoding of the encoded values that are passed:
super exciting screen shot. |
Translated into english: the application first uses a lookup table to translate every byte in the input string, to do this it uses the value of the current byte as an offset into the table. After it is done with "stage1" it traverses the translated input buffer a dword at a time and does some bit shifting and addition to fully decode the value. The following roughly shows the "stage2" routine:
(Dword[0] << 2) + (Dword[1] >> 4) = unencoded byte 1
(Dword[1] << 4) + (Dword[2] >> 2) = unencoded byte 2
(Dword[2] << 6) + Dword[3] = unencoded byte 3
I then confirmed that this routine worked on an "encoded" value that went over the wire from the application to the camera. After confirming the encoding scheme worked, I recreated the network transaction the application does with the camera to create a stand alone script that will retrieve the password from a camera that is on the same lan as the "attacker". The script can be found here, thanks to Jason Doyle for the original finding (@jasond0yle ).
More articles
- Android Hack Tools Github
- Hacking Tools For Kali Linux
- Pentest Tools Free
- Pentest Tools Github
- Hacking Tools For Pc
- Hack Tools 2019
- Pentest Tools For Ubuntu
- Hacking Tools Name
- Pentest Tools For Android
- Pentest Tools Review
- Physical Pentest Tools
- Tools Used For Hacking
- Best Hacking Tools 2019
- Hack Tools For Ubuntu
- Hack Tools Mac
- Hacking Tools Name
- Hacker Tools Free
- Hack Tool Apk
- Best Hacking Tools 2019
- Free Pentest Tools For Windows
- Pentest Tools Linux
- Hacking Tools For Kali Linux
- Usb Pentest Tools
- Pentest Tools For Mac
- Hacking Tools Software
- Pentest Tools For Ubuntu
- Hacker Tools Apk Download
- Hacker Tools Github
- Best Hacking Tools 2020
- Pentest Tools Apk
- Hacking Tools For Games
- How To Hack
- Hacking Tools Mac
- Blackhat Hacker Tools
- Pentest Tools Windows
- Pentest Tools List
- Hack Apps
- Hacking Tools Pc
- Tools 4 Hack
- Pentest Recon Tools
- Underground Hacker Sites
- Usb Pentest Tools
- Hacking Tools For Windows Free Download
- Hack Rom Tools
- Hacker Tools For Windows
- Nsa Hacker Tools
- Termux Hacking Tools 2019
- Computer Hacker
- Pentest Tools Url Fuzzer
- Hack Tools For Games
- How To Install Pentest Tools In Ubuntu
- Pentest Tools Github
- Hacking Tools Free Download
- How To Install Pentest Tools In Ubuntu
- Hacking Tools For Mac
- Pentest Tools Open Source
- Pentest Tools Url Fuzzer
- Hacking Tools Mac
- Hackers Toolbox
- Physical Pentest Tools
- Pentest Tools Linux
- Game Hacking
- Game Hacking
- Hacker Tools List
- What Is Hacking Tools
- Pentest Automation Tools
- Kik Hack Tools
- Hacking Tools Name
- Hacking Tools Download
- Hacking Tools Free Download
- Github Hacking Tools
- Hacker Search Tools
- Hacker Hardware Tools
- Hacking App
- Hacks And Tools
- Hacking Tools For Pc
- Pentest Tools Apk
- Hacking Tools Windows
- Hacker Tools For Windows
- Hacking Tools For Windows
- Hackrf Tools
Nenhum comentário:
Postar um comentário