Penetration testing, antivirus, firewalls and false sense of security
False sense of security is an ongoing issue. Fueled by inaccurate marketing strategies promising the ultimate security product and convincing clients that their product will make your system immune to every single attack.
Security professionals are used to hear all kind of comments from clients caught up by false sense of security; the three most common mistakes are:
Client – My application must be secure, it is running over SSL.
Penetration tester – That’s good, your IDS will not pick up my attacks.
Client – My web application must be secure, it is protected by my firewall.
Penetration tester – Sure enough your firewall is not going to filter web traffic on your web server.
Client – My server must be secure, it has an antivirus up to date.
Penetration tester – Your antivirus will only pick up known signatures, it will not pick up my custom made scripts.
We recently performed a back box web application peneration test for a client who expresed (before the penetration test) how secure his application was as he deployed SSL on the application layer, antivirus on the server and everything was protected using a firewall.
During the penetration test we managed to find a page which allowed uploading arbitrary files to the web server. When we tried to upload some of the standard web shells we saw how the antivirus was detecting them and removing them from the server. It is fair to say that an antivirus in this case provides a very thin layer of security. After doing some modifications to the scripts we easily bypassed the antivirus protection.
In this example achieving command execution required another step as the user the web server was running as had not enough privileges. However, it was easy enough finding a high privilege username/password for the MS SQL database also running on the server. The next steps were:
Creating a custom script which connected to the MS SQL database using a high privileged account.
Enabling xp_cmdshell stored procedures, as we found it disabled.
Enjoying command execution.
Once we got to this point it was easy to execute Metasploit Meterpreter to bypass firewall protection, tunneling services over HTTP.
In conclusion, SSL, antivirus and firewalls are essential parts on the security of an infrastructure, however they need to be properly implemented and they don’t protect from all kinds of attacks.