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 ).
Related articles
- Hack Tools
- Physical Pentest Tools
- Hacker Tools For Mac
- Kik Hack Tools
- Pentest Tools Apk
- Hacking Tools Free Download
- Hack Apps
- Ethical Hacker Tools
- Hack Website Online Tool
- Pentest Tools Url Fuzzer
- How To Install Pentest Tools In Ubuntu
- Hack Rom Tools
- Hacking Tools For Windows 7
- Pentest Tools Open Source
- Hacker Tools Online
- Hack Tools
- Pentest Tools For Windows
- Hacking Tools Free Download
- Install Pentest Tools Ubuntu
- Pentest Tools Website Vulnerability
- Hacking Tools Online
- Hacking Tools For Windows
- Hacking Tools For Windows 7
- Pentest Tools Android
- Black Hat Hacker Tools
- Pentest Tools Subdomain
- Hacking Tools Mac
- Pentest Tools For Windows
- Hack And Tools
- How To Hack
- Tools 4 Hack
- Pentest Tools Github
- Pentest Tools Tcp Port Scanner
- Hacking Tools Download
- Pentest Box Tools Download
- Hacking Tools Online
- Best Hacking Tools 2020
- Hacker Tools 2019
- Hack Website Online Tool
- Hacker Tools For Pc
- Hacker Tools Windows
- Hack Tools For Mac
- Hack Tools For Pc
- Pentest Tools Linux
- What Are Hacking Tools
- Hacking Tools Software
- Hack Tools Github
- Pentest Reporting Tools
- Pentest Tools Android
- Pentest Automation Tools
- Hack And Tools
- Hacking Tools Hardware
- Pentest Tools Kali Linux
- Hacker Tools Linux
- Hacker Tools Mac
- World No 1 Hacker Software
- Pentest Tools Online
- Hacker Tools Software
- Hacking Tools For Games
- Hacking Tools For Windows Free Download
- Hacker Tools 2020
- Hacker Tools For Mac
- How To Make Hacking Tools
- Hacking Tools Kit
- Hacking Tools Hardware
- What Is Hacking Tools
- Underground Hacker Sites
- Hacks And Tools
- Pentest Tools Kali Linux
- Hacker Tools Free Download
- Hack App
- Hacking Tools Free Download
- Pentest Tools Kali Linux
- Hack App
- Github Hacking Tools
- World No 1 Hacker Software
- Pentest Tools Subdomain
- Hacking Tools For Windows 7
- Hacking Tools 2020
- Hacker Tools List
- Hacking Tools For Mac

No comments:
Post a Comment