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 ).
Continue reading
- Pentest Tools Linux
- Underground Hacker Sites
- Hacking Tools Software
- Hacker Tools Github
- Hackers Toolbox
- How To Make Hacking Tools
- Pentest Tools Bluekeep
- Growth Hacker Tools
- Hacking Tools Usb
- Nsa Hacker Tools
- Hacks And Tools
- How To Install Pentest Tools In Ubuntu
- Top Pentest Tools
- Hack Tools Download
- Game Hacking
- Hacker Techniques Tools And Incident Handling
- Pentest Tools Kali Linux
- New Hack Tools
- Hacking Tools Download
- Hackrf Tools
- Bluetooth Hacking Tools Kali
- Nsa Hack Tools
- Hacking Tools 2020
- Hacking Tools Name
- Game Hacking
- Hacker Tools Free
- Hacker Tools Mac
- Hacker Tool Kit
- Pentest Box Tools Download
- Black Hat Hacker Tools
- Hacker Tools List
- Hack Tools Online
- Hacker Tools
- Pentest Tools List
- Hack Tools For Pc
- Hacking Tools Windows
- Pentest Tools Online
- Hacker Security Tools
- Hacker Security Tools
- Hack Tools
- Top Pentest Tools
- Best Pentesting Tools 2018
- Wifi Hacker Tools For Windows
- Hacker Tools Windows
- Hackrf Tools
- Pentest Tools Subdomain
- Hack Rom Tools
- Pentest Tools Linux
- Underground Hacker Sites
- Pentest Tools Open Source
- Pentest Tools For Android
- Hacker Tools Free Download
- Hacker Tools List
- Hacking Tools For Windows 7
- Github Hacking Tools
- Hacker Techniques Tools And Incident Handling
- New Hacker Tools
- Hack Apps
- Pentest Tools Review
- Hacking Tools Windows
- Hacking Tools For Windows
- Pentest Tools Bluekeep
- Hacking Tools Windows
- Hacking Tools For Windows Free Download
- Pentest Tools Github
- Kik Hack Tools
- Install Pentest Tools Ubuntu
- Pentest Box Tools Download
- How To Hack
- Hacker Tools List
- Pentest Tools Kali Linux
- Hacking Tools Pc
- Pentest Tools Kali Linux
- Pentest Tools Tcp Port Scanner
- How To Hack
- Hackrf Tools
- Pentest Tools Bluekeep
No comments:
Post a Comment