================================================== INFO ================================================== The wireless client, WeFi v3.3.3.0 is susceptible to a local information disclosure due to irresponsible coding. Earlier versions may also be affected. ================================================== DISCUSSION ================================================== Due to the WeFi client storing the keys in memory, a dump is able to show valid WEP, WPA and WPA2 keys that can be used by a local attacker. This information can often be found around the 044296C0 offset. An attacker could easily dump the credentials from memory whilst walking past a laptop with an autorun U3 USB. The file that keeps the keys in memory is as follows: C:\Program Files\WeFi\WeFi.exe ================================================== SAMPLE 1 ================================================== Here is a sample of the hexadecimal memory dump: Offset 00 01 02 03 04 05 06 07 08 09 ASCII 044296C0 03 8B CB 00 30 39 46 38 32 39 .‹Ë.09F829 <--WEP KEY 044296CA 38 30 43 58 00 00 00 00 00 00 80CX...... <--WEP KEY As you can see, the WEP key, "09F82980CX" has been stored in plain text. The WEP Key has been changed from its true values to protect the identity and anonymity of the victim. ================================================== SAMPLE 2 ================================================== A few lines down and we find the SSID, "linksys": Offset 00 01 02 03 04 05 06 07 08 09 ASCII 044296FC 00 00 00 00 00 00 00 00 6C 69 ........li <--SSID 04429706 6E 6B 73 79 73 2E 2E 2E 2E 2E nksys..... <--SSID The SSID has been changed from its true values to protect the identity and anonymity of the victim. ================================================== NOTES ================================================== The WeFi client continues to keep the WEP keys long after the client has authenticated with the wireless access point. The first network that the client authenticates with is around 044296C0 and further wireless keys can be found after that offset. All wireless keys are accompanied with their respectable SSID shortly after the key. ================================================== SOLUTION ================================================== Do not keep the wireless encryption keys in the program and disallow the client to "Remember Key". The wireless key should only be used during authentication and should not be kept in the system memory. Encryption is no longer a valid solution as this can be reversed if the algorithm is known or reversed. The vendor has been notified. ================================================== Thanks, Xia Shing Zee