On the second to last assessment with my former employer I couldn’t help but shake my head as I heard the raging debate within the organizations. One half who had the overall control of the network were pissed that management was allowing half of the network users to run around with administrative level permissions. That’s right, over half of the user base had admin level credentials to their local machine. The thing was it was a university! Technically the machines were physical property of the user but it was attached to the network most of the time. The main problem which was in the process of being corrected was a lack of network separation.
I recall being asked by the administrators to display to management the risks of allowing users to run as local administrator. Outside of the legal liability of having them install and run P2P software, there is the unauthorized access aspect from the execution of malware. What was really funny is their grievances with the CS students who, no matter what the network administrators did to block outgoing traffic always seemed to circumvent their controls. As auditor I found this horrible, but as a cs major I found it quite entertaining. What I ended up doing was showing a 46 second camtasia video that MC had made on his blog showing remote code execution on a fully patched Windows XP SP2 machine. My immediate statement after the conclusion of the video was:
46 Seconds (long pause) That’s how long it took. You may not understand the full technical aspects of what just happened, but I assure you that what happened was full administrator level control of that workstation (pause) IN LESS THAN 46 SECONDS! From there on out I had their full attention!
This brings me to two posts. First a post that dean had done on Carnal0wnage a few months ago, and a recent one I picked up on google reader; Titled Testing for Client side Vulnerabilities. It’s an interesting post that doesn’t necessarily deliver a technical means in which to test but certainly outlines a few items to consider as a pen tester. One thing I personally can’t wait for is a client side framework to come out. You can use metasploit to test for the exploitation aspect of client sides but on a large scale I’m not sure how feasible it is. From attending Austin Hackers I know HD Moore is currently working on integrating Karma and Metasploit. This will also have the effect of having a client potential in it that can rotate through the currently implemented metasploit modules and test the workstation for any potential vulnerabilities that may exist on the connecting client. I’m sure that if it’s not it’s own module it would only require a few adjustments to make it into a client side tester. Custom implementations can then document certain things such as the connecting IP, what client side vulns may impact the machine and then you can go from there.
While we are waiting on that however, you can use javascript to rotate through the CSLID’s you have exploits for and test which ones are installed on a machine. From there you can go one of two way’s, you can either 1 just document the CSLID and IP Address or you can press on to exploitation. I guess that depends on both your time constraints and your ROE.