iScanner is a free open source tool lets you detect and remove malicious codes and web page malwares from your website easily and automatically. iScanner will not only show you the infected files in your server but it’s also able to clean these files by removing the malware code ONLY from the infected files.

This tool has been programmed by iSecur1ty using Ruby programming language and it’s released under the terms of GNU Affero General Public License 3.0.

Current Features:

Ability to scan one file, directory or remote web page / website.
Detect and remove website malwares and malicious code in web pages. This include hidden iframe tags, javascript, vbscript, activex objects, suspicious PHP codes and some known malwares.
Extensive log shows the infected files and the malicious code.
Support for sending email reports.
Ability to clean the infected web pages automatically.
Easy backup and restore system for the infected files.
Simple and editable signature based database.
You can easily send malicious file to iScanner developers for analyzes.
Ability to update the database and the program easily from iScanner’s server.
Very flexible options and easy to use.
Fast scanner with great performance.
Yes, it’s FREE!!

Download or read more

Installation:

First of all make sure that Ruby is installed in your server.

[cc lang=”bash”]# ruby -v[/cc]
If Ruby wasn’t installed, you can simply use yum package manager:

[cc lang=”bash”]# yum install ruby[/cc]
Or apt-get if you were using Ubuntu or any other Debian based distributions:

[cc lang=”bash”]# apt-get install ruby[/cc]
Otherwise you can download Ruby and install it on your machine from:

[cc lang=”bash”]# http://www.ruby-lang.org/en/downloads/[/cc]
iScanner doesn’t require any external libraries and you don’t need to install the program to be able to use it but we included installer you can use it to install and uninstall iScanner from your server using the following command:

[cc lang=”bash”]# ./installer -i[/cc]
This command will install iScanner in the default directory ‘/etc/iscanner’ but you can change the installation directory using the ‘-d’ option:

[cc lang=”bash”]# ./installer -i -d /opt/iscanner[/cc]
And easly uninstall iScanner by removing the the folder or using the following command:

[cc lang=”bash”]# ./installer -u[/cc]

Usage:

-R Use this option to scan a remote web page / website.

[cc lang=”bash”]# iscanner -R http://example.com[/cc]
-F Use this option to scan a specific file.

[cc lang=”bash”]# iscanner -F /home/user/file.php[/cc]
-f Use this option to scan a specific directory.

[cc lang=”bash”]# iscanner -f /home/user[/cc]
-e This option will allow you to select specific file extensions for scanning, by default iScanner will scan [htm, html, php, js] if you wanted to scan other or specific extensions only:

[cc lang=”bash”]# iscanner -f /home/user -e htm:html[/cc]
-d By default iScanner will load the latest version of signatures database in the folder, if wanted to use older or modified version of the database:

[cc lang=”bash”]# iscanner -f /home/user -d database.db[/cc]
-M Using this option allows you to specify malware code and iScanner will automatically generate regex signature for it then scan the files / website you want (incase you wanted to scan for specific code or undetected malware!)

[cc lang=”bash”]# iscanner -M /home/user/malware_code.txt -f /home/user
# iscanner -M /home/user/malware_code.txt -R http://example.com[/cc]
-o Using this option will allow you to choose the name of the infected log file. If this option wasn’t used the name of the infected log file will be in this format “infected-[TIME]-[DATE].log”, if you wanted to select other name:

[cc lang=”bash”]# iscanner -f /home/user -o user.log[/cc]
-m With this option you can tell iScanner to send a copy of the infected log to selected email address:

[cc lang=”bash”]# iscanner -f /home/user -m email@example.com[/cc]
-c This option will clean the infected files by removing the malicious code only without deleting the infected files. Before using this option make sure to check the infected log to know what exactly iScanner will remove from each infected file.

[cc lang=”bash”]# iscanner -c infected.log[/cc]
-b If you used this option iScanner will take backup from the infected files before cleaning it. You can find backup of the cleaned files in a folder have the name “backup-[TIME]-[DATE]”.

[cc lang=”bash”]# iscanner -b -c infected.log[/cc]
-r If you used the previous option when cleanning the infected log and something went wrong, use this option to restore the files from the backup directory.

[cc lang=”bash”]# iscanner -r backup/[/cc]
-a Using this option will make iScanner clean every infected file automatically. This option could be dangerous if you didn’t scan the folder before and you don’t know the results.

[cc lang=”bash”]# iscanner -f /home/user -a[/cc]
-D This option will make iScanner run in the debug mode, the option will be useful if you had problem while running iScanner.

[cc lang=”bash”]# iscanner -f /home/user -D[/cc]
-q If you don’t want to see any output from iScanner you can enable this option to make the program run in the quit mode.

[cc lang=”bash”]# iscanner -f /home/user -q[/cc]
-s This option allows you to send malicious file to iScanner developers for analyzes. This will help us improve the signatures database and keeping it updated.

[cc lang=”bash”]# iscanner -s /home/user/malicious_file.html[/cc]
-U With this option you can update iScanner and the signatures database to the latest version easily.

[cc lang=”bash”]# iscanner -U[/cc]
-u This option will update the signatures database only instead of updating the whole program.

[cc lang=”bash”]# iscanner -u[/cc]
-v This option will print iScanner’s version and release date with the database version and it’s release date too.

[cc lang=”bash”]# iscanner -v[/cc]
-h This option will show the help message.

[cc lang=”bash”]# iscanner -h[/cc]

Tips & Tricks:

You can easily modify the signatures database and have your own customized version by adding, removing or changing the regular expressions in the database.

If several websites on your server has been hacked, you can add signature to iScanner’s database to make it locate all the hacked index pages in your server.

You can add iScanner to the cron jobs to make it scan you server every 24 hours and send the infected log to your email address.

It is possible to configure your ftp server (PureFTPd for example) to make iScanner scan all the uploaded files by the users and send email alert if malicious file has been detected.