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 Online
- Black Hat Hacker Tools
- Pentest Tools Kali Linux
- Hacking Tools For Mac
- Pentest Tools Subdomain
- Pentest Tools Linux
- Pentest Tools Nmap
- Hacker Tools Apk
- New Hack Tools
- Hack Tools For Mac
- Pentest Tools List
- Hacking Tools Github
- Hacker Tools 2019
- Pentest Tools For Android
- Hack Tools
- Hack Tools
- Hacking Tools Windows 10
- Hack Tools For Windows
- Physical Pentest Tools
- Hack Tools Online
- Hak5 Tools
- Ethical Hacker Tools
- Hacker
- Growth Hacker Tools
- Hack Tools For Games
- Hacking Apps
- Growth Hacker Tools
- Nsa Hacker Tools
- Pentest Tools Tcp Port Scanner
- Pentest Tools For Mac
- Pentest Tools Website
- Hacking Apps
- Pentest Tools Android
- Best Pentesting Tools 2018
- Hacker Security Tools
- Hacking Tools 2019
- Hack And Tools
- Hacker Tools Software
- Hack Tools For Ubuntu
- Hack Tool Apk No Root
- Hacker Tools Online
- Pentest Tools Port Scanner
- Hacking Tools For Beginners
- Ethical Hacker Tools
- Hacking Tools Windows 10
- Hackers Toolbox
- Hack Tools 2019
- Hacking Tools Software
- Pentest Tools List
- Hacker Tools Mac
- Pentest Tools For Ubuntu
- How To Make Hacking Tools
- Hacker Techniques Tools And Incident Handling
- Hacking Tools Pc
- Hacker Tools Apk
- Kik Hack Tools
- Blackhat Hacker Tools
- Hack Tools For Pc
- New Hacker Tools
- Hack Rom Tools
- Hack Tools
- Hack Tools For Games
- Hack Tools 2019
- Hacker Tools 2020
- Hacking Tools For Windows
- Pentest Tools Find Subdomains
- Hacking Tools For Windows
- Bluetooth Hacking Tools Kali
- Hack Tools Mac
- Hacker Tools Linux
- Free Pentest Tools For Windows
- Hacking Tools Free Download
- Hacker Tools 2019
- Hacking Tools Online
- Nsa Hack Tools Download
- Hacker Hardware Tools
- Nsa Hacker Tools
- Pentest Reporting Tools
- Hacker Tools 2019
- Usb Pentest Tools
- Pentest Tools
- Hacking Tools Pc
- Hacker Tools
No comments:
Post a Comment