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 posts
- How To Make Hacking Tools
- Pentest Tools Online
- Pentest Tools Review
- Pentest Tools For Android
- Pentest Tools Alternative
- Bluetooth Hacking Tools Kali
- Pentest Tools Website Vulnerability
- Hack Tools Download
- Pentest Tools Website Vulnerability
- Hacker Tools Mac
- Bluetooth Hacking Tools Kali
- Pentest Tools Tcp Port Scanner
- World No 1 Hacker Software
- Hacking Tools Windows
- Pentest Tools For Android
- Underground Hacker Sites
- Top Pentest Tools
- New Hacker Tools
- Hacking Tools And Software
- Hacker Search Tools
- Hack And Tools
- Android Hack Tools Github
- Best Hacking Tools 2020
- Hack Tools For Ubuntu
- Hacker Tool Kit
- Pentest Recon Tools
- Pentest Tools Find Subdomains
- Nsa Hack Tools Download
- Hacker Tools List
- Hack Tool Apk
- Install Pentest Tools Ubuntu
- Hack Tool Apk
- Hack Tools For Ubuntu
- Tools Used For Hacking
- Github Hacking Tools
- Hacking Tools 2020
- Pentest Tools Nmap
- Hacking Tools Github
- Hacks And Tools
- Pentest Tools List
- Underground Hacker Sites
- Hacker Techniques Tools And Incident Handling
- How To Hack
- Pentest Tools Apk
- Hak5 Tools
- Hack Tools For Ubuntu
- Hacking Tools And Software
- Best Hacking Tools 2020
- Pentest Tools Online
- Pentest Tools Online
- Install Pentest Tools Ubuntu
- Hacker Search Tools
- Hack Tools
- Pentest Tools Github
- Growth Hacker Tools
- Hacking Tools Software
- Hacker Tools Mac
- Hacking Tools Pc
- Hack Tools For Pc
- Hacking Tools
- Black Hat Hacker Tools
- Hack Apps
- Pentest Tools For Mac
- Hacker Tools
- Best Hacking Tools 2020
- Hak5 Tools
- Hacker Tools 2019
- Game Hacking
- Pentest Tools Alternative
- Hacker
- Pentest Automation Tools
- Hacking Tools Pc
- Hacker Tools Linux
- Hacker Tools Mac
- Hacker Tools Hardware
- Termux Hacking Tools 2019
- Pentest Reporting Tools
- Free Pentest Tools For Windows
- Top Pentest Tools
- Hacker Tools Linux
- Hacking Tools For Windows Free Download
- Hacker Search Tools
- How To Hack
0 comments:
Post a Comment