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
- Hacker
- Best Pentesting Tools 2018
- Pentest Tools Online
- Hacker Tools For Mac
- Nsa Hacker Tools
- Hacking Tools For Pc
- Pentest Tools Apk
- Hacker Tools Apk Download
- Hacker Tools Apk Download
- Easy Hack Tools
- How To Install Pentest Tools In Ubuntu
- Best Hacking Tools 2020
- Hacking Tools Download
- Hacker Tools Hardware
- Hacker Tools Mac
- Hacker Techniques Tools And Incident Handling
- Hack Tools Download
- Hacker Tools 2019
- Pentest Reporting Tools
- Hacker Tools Windows
- Hacker Hardware Tools
- Growth Hacker Tools
- Hacker Search Tools
- Hacker Tools Free Download
- Physical Pentest Tools
- Hack Tools For Games
- Hacker Tools Linux
- Hack And Tools
- Hacking Tools Name
- Termux Hacking Tools 2019
- Hack Tools For Pc
- Hacker Tools Apk
- Install Pentest Tools Ubuntu
- Usb Pentest Tools
- Nsa Hack Tools Download
- Hacking Tools Hardware
- Hacking Tools Name
- Pentest Tools For Android
- Hack Tools
- Hacker Techniques Tools And Incident Handling
- Pentest Tools Linux
- Underground Hacker Sites
- Pentest Tools Github
- Hack Tools For Pc
- Hackers Toolbox
- Hacking Tools Name
- Pentest Tools Website Vulnerability
- Hacker Tools Apk
- Hacker
- Pentest Tools Download
- Physical Pentest Tools
- Github Hacking Tools
- Pentest Tools For Android
- Hacker Tools For Pc
- Hacking Tools Download
- Nsa Hack Tools Download
- Hacking Tools Github
- Pentest Tools List
- Hacking Tools 2019
- Physical Pentest Tools
- Underground Hacker Sites
- Wifi Hacker Tools For Windows
- Pentest Tools For Android
- What Are Hacking Tools
- Hack Apps
- What Are Hacking Tools
- Hackrf Tools
- Pentest Tools For Windows
- Pentest Tools Linux
- Hack Apps
- Hack Tools Github
- Hacker Tools
- Hacking Tools Download
- Hack Tools For Pc
- Pentest Tools Download
- Pentest Tools Bluekeep
- Pentest Tools For Windows
No comments:
Post a Comment