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 ).
More info
- Pentest Tools Open Source
- Pentest Tools Github
- Underground Hacker Sites
- Hack Website Online Tool
- Hacker Tools 2020
- Best Pentesting Tools 2018
- Pentest Tools Bluekeep
- Hacking App
- Hacking Tools 2020
- Pentest Tools Port Scanner
- Pentest Tools Subdomain
- Best Hacking Tools 2020
- Hacking Tools Windows
- Underground Hacker Sites
- Hacker Tool Kit
- Hacking Tools For Beginners
- Pentest Tools List
- Pentest Tools Open Source
- Hacker Tools Hardware
- What Is Hacking Tools
- Hack Tools For Windows
- Best Hacking Tools 2020
- Nsa Hack Tools Download
- Hacker Tools For Pc
- Pentest Tools Port Scanner
- How To Hack
- Hacker Tools For Pc
- Pentest Tools Free
- Physical Pentest Tools
- Hacking Tools Download
- Hack Tools Online
- Termux Hacking Tools 2019
- Growth Hacker Tools
- Hack Tools Github
- Hacking Tools Usb
- Hacker Tools Software
- Pentest Automation Tools
- Hacking Tools 2019
- Pentest Tools Website Vulnerability
- Hacking Tools For Pc
- Pentest Tools Download
- World No 1 Hacker Software
- Hak5 Tools
- Hacker Tools For Pc
- Pentest Tools Android
- Pentest Tools Website Vulnerability
- Pentest Tools Github
- Ethical Hacker Tools
- Hacking Tools For Mac
- Hacker Tools
- Hack Tools
- Hack Tools For Ubuntu
- Hacker Tools List
- Tools Used For Hacking
- Pentest Tools List
- Hacker Tools Software
- Easy Hack Tools
- Pentest Tools For Windows
- Hackrf Tools
- Hack Apps
- Easy Hack Tools
- Usb Pentest Tools
- Hacking Tools For Windows Free Download
- Hacking Tools Download
- Hacking Tools Download
- Ethical Hacker Tools
- Hack Tools Download
- Pentest Reporting Tools
- Hack Tools
- Hacker Tools Free
- Hacker Tools Free
- Hack And Tools
- Pentest Tools Alternative
- Termux Hacking Tools 2019
- Pentest Tools Android
- Hacker Tools 2020
- Blackhat Hacker Tools
- Install Pentest Tools Ubuntu
- Hacking Tools Mac
- Hack Tool Apk No Root
Tidak ada komentar:
Posting Komentar