Checking Hacked Server

Categories of server:


1.1 Webair managed client server: Webair will perform a variety of custom configuration, maintenance, and optimization your server for maximum performance and reliability. A list of fully managed services  can be found at


1.2 Self Managed client : The server owner becomes responsible of managing their own server.  As a self managed client, the owner can customize their own severs, has root access to servers,can install whatever applications and software desired. As well, self managed servers need to Apply their own OS and application updates and configuration  for security and performance . Other server maintenance on host files ,email settings, and performance of server security functions will become reliant to the owner .


If you are a self managed client and want some very useful commands to check if your server is hacked, please check below.  If you are a Webair Managed Client, we already do this for you!




Who is on the Server:

$ w

$ netstat -nalp | grep “:22″


$ w && netstat -nalp | grep “:22″

The above commands will say who are all logged into the server.

Who was on the Server

$ last

$ cat /var/log/secure* | grep ssh | grep Accept

$ cat /var/log/secure* | grep ftp | grep Accept

Check what is the Current Network Activity of your server

$ netstat -nalp

$ nmap localhost


$ netstat -nalp && nmap localhost

What Processes are Running:
$ ps -elf

$ ls /proc/*/exe -la

What Files are in the Common Attack Points:

$ ls /tmp -la

$ ls /var/tmp -la

$ ls /dev/shm -la

These are all the common unsecured places where the hacker intrudes into your linux server.

Don’t delete any thing or make changes just yet, just catalog every thing. Do not access a file with cat or strings, catalog the files and save that for later. Once you start deleting things you can no longer further investigate as to how deep they have penetrated. Don’t be fooled into seeing a common Apache compromise and think it ended there. Many times that was just the broken window they used to get in the first time, meanwhile they are tunneling deeper trying to get into root access.

What version of Linux is running

$ cat /etc/redhat-release

For non Red-Hat Linux

$ cat /etc/issue

Compare this to the kernel

$ uname -a


$ cat /proc/version

Who is the author of the file:

$ ls -la –author

When was the last time the file has been accessed and by who:

$ ls -l –time=access

Before you run off and use the cat command it is good to first check the file type with the file command. Many times I myself have been fooled in seeing a marked file  as something .html and finding that it was really a binary file.

What kind of file is it(ASCII or Binary):

$ file filename


$ file /path/to/directory/*

You have been trying to be sneaky and not have any obvious virus scan running in the process list so as to not be detected, but that is tedious work and slow.

Update the Locate Database:

$ updatedb &

If this is a web server then the next thing to hunt for is signs of Apache exploits and SQL injection scripts. This nice little script was handed down to me from a co-worker and does a nice job of hunting through the log files rather than the long tedious work of searching manually.

Search for Apache Exploit :

$ for i in ´locate access_log´; do echo $i; egrep -i ‘(chr(|system()|(curl|wget|chmod|gcc|perl)%20′ $i; done


$ egrep -i ‘(chr(|system()|(curl|wget|chmod|gcc|perl)%20′ /path/to/log/files/*

cPanel :

$ egrep -i ‘(chr(|system()|(curl|wget|chmod|gcc|perl)%20′ /usr/local/apache/logs/*

$ egrep -i ‘(chr(|system()|(curl|wget|chmod|gcc|perl)%20′ /home/*/statistics/logs/*


egrep -i ‘(chr(|system()|(curl|wget|chmod|gcc|perl)%20’/home/virtual/site*/fst/var/log/httpd/*

Plesk :
$ egrep -i ‘(chr(|system()|(curl|wget|chmod|gcc|perl)%20′ /home/httpd/vhosts/*/statistics/logs/*

$ egrep -i ‘(chr(|system()|(curl|wget|chmod|gcc|perl)%20′ /var/log/httpd/*

Search for Shell Code:
$ cat /path/to/access/logs/* | grep “/x90/”


Related Articles

  • Password Strengths

    Today, everyone creates a password for a variety of services but in our growing digital age it’s imperative that your passwords be created strongly. Your passwords will act as your first...
  • Identifying malicious mail scripts on FreeBSD

    This article will help you identify an possible spam scripts that may be causing unwanted outbound mail which could cause your servers ip address to be blacklisted.There are many different...
  • How to Create a Self-Signed SSL Certificate

    An SSL certificate is ideal for securing an administration interface, a member’s-only space, an intranet, webmail. etc. It is used is to keep sensitive information sent across the Internet encrypted...
  • SSH: Whitelist IPs for Your Server

    If you wish to whitelist certain IP’s for your server for any reason, you can easily go into your Webair Ezpanel for this. When whitelisting an IP, please provide the specific...