An ideal solution for shared hosting environments, where it’s often not possible to utilise or install conventional anti-virus protection solutions, phpMussel is a PHP script designed to detect trojans, viruses, malware and other threats within files uploaded to your system wherever the script is hooked, based on the signatures of ClamAV and others.
Features
Also Read – FridaExtract : Frida.re Based RunPE Extraction Tool
HOW TO INSTALL
INSTALLING MANUALLY (FOR WEB SERVERS)
/public_html/phpmussel/
or similar (though, it doesn’t matter which you choose, so long as it’s something secure and something you’re happy with) will suffice. Before you begin uploading, read on.. config.ini.RenameMe
to config.ini
(located inside vault
), and optionally (strongly recommended for advanced users, but not recommended for beginners or for the inexperienced), open it (this file contains all the directives available for phpMussel; above each option should be a brief comment describing what it does and what it’s for). Adjust these directives as you see fit, as per whatever is appropriate for your particular setup. Save file, close. *.txt
/*.md
files, but mostly, you should upload everything). vault
directory to “755” (if there are problems, you can try “777”; this is less secure, though). The main directory storing the contents (the one you chose earlier), usually, can be left alone, but CHMOD status should be checked if you’ve had permissions issues in the past on your system (by default, should be something like “755”). In short: For the package to work properly, PHP needs to be able to read and write files inside the vault
directory. Many things (updating, logging, etc) won’t be possible, if PHP can’t write to the vault
directory, and the package won’t work at all if PHP can’t read from the vault
directory. However, for optimal security, the vault
directory must NOT be publicly accessible (sensitive information, such as the information contained by config.ini
or frontend.dat
, could be exposed to potential attackers if the vault
directory is publicly accessible). require
or include
statement. Usually, this’ll be something stored in a directory such as /includes
, /assets
or /functions
, and will often be named something like init.php
, common_functions.php
, functions.php
or similar. You’ll have to work out which file this is for your situation; If you encounter difficulties in determining this for yourself, visit the phpMussel issues page at GitHub or the phpMussel support forums for assistance; It’s possible that either myself or another user may have experience with the CMS that you’re using (you’ll need to let us know which CMS you’re using), and thus, may be able to provide some assistance in this area. To do this [to use require
or include
], insert the following line of code to the very beginning of that core file, replacing the string contained inside the quotation marks with the exact address of the loader.php
file (local address, not the HTTP address; it’ll look similar to the vault address mentioned earlier). <?php require '/user_name/public_html/phpmussel/loader.php'; ?>
Save file, close, reupload.
— OR ALTERNATIVELY —
If you’re using an Apache webserver and if you have access to php.ini
, you can use the auto_prepend_file
directive to prepend phpMussel whenever any PHP request is made. Something like:
auto_prepend_file = "/user_name/public_html/phpmussel/loader.php"
Or this in the .htaccess
file:
php_value auto_prepend_file "/user_name/public_html/phpmussel/loader.php"
_testfiles
to your website via your usual browser-based upload methods. (Make sure you’ve included the phpmussel*.*db
signature files in your Active
setting for the test files to trigger). If everything is working, a message should appear from phpMussel confirming that the upload was successfully blocked. If nothing appears, something isn’t working correctly. If you’re using any advanced features or if you’re using the other types of scanning possible with the tool, I’d suggest trying it out with those to make sure it works as expected, too.INSTALLING MANUALLY (FOR CLI)
config.ini
(located inside vault
) – This file contains all the directives available for phpMussel. Above each option should be a brief comment describing what it does and what it’s for. Adjust these options as you see fit, as per whatever is appropriate for your particular setup. Save file, close. php.exe
file in the directory of your PHP installation, followed by a space, followed by the complete path to the loader.php
file in the directory of your phpMussel installation, save the file with a .bat
extension somewhere that you’ll find it easily, and double-click on that file to run phpMussel in the future. _testfiles
directory provided with the package. INSTALLING WITH COMPOSER
phpMussel is registered with Packagist, and so, if you’re familiar with Composer, you can use Composer to install phpMussel (you’ll still need to prepare the configuration, permissions, signatures and hooks though; see “installing manually (for web servers)” steps 2, 4, 5, and 6).
composer require phpmussel/phpmussel
INSTALLING SIGNATURES
Since v1.0.0, signatures aren’t included in the phpMussel package. Signatures are required by phpMussel for detecting specific threats. There are 3 main methods to install signatures:
Firstly, you’ll need to make sure that the front-end is enabled. See: FRONT-END MANAGEMENT.
Then, all you’ll need to do is go to the front-end updates page, find the necessary signature files, and using the options provided on the page, install them, and activate them.
See: SigTool documentation.
Firstly, go to phpMussel/Signatures. The repository contains various GZ-compressed signature files. Download the files that you need, decompress them, and copy the decompressed files to the /vault/signatures
directory to install them. List the names of the copied files to the Active
directive in your phpMussel configuration to activate them.
Kali Linux 2024.4, the final release of 2024, brings a wide range of updates and…
This Go program applies a lifetime patch to PowerShell to disable ETW (Event Tracing for…
GPOHunter is a comprehensive tool designed to analyze and identify security misconfigurations in Active Directory…
Across small-to-medium enterprises (SMEs) and managed service providers (MSPs), the top priority for cybersecurity leaders…
The free and open-source security platform SecHub, provides a central API to test software with…
Don't worry if there are any bugs in the tool, we will try to fix…