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.
shadow-rs is a Windows kernel rootkit written in Rust, demonstrating advanced techniques for kernel manipulation…
Extract and execute a PE embedded within a PNG file using an LNK file. The…
Embark on the journey of becoming a certified Red Team professional with our definitive guide.…
This repository contains proof of concept exploits for CVE-2024-5836 and CVE-2024-6778, which are vulnerabilities within…
This took me like 4 days (+2 days for an update), but I got it…
MaLDAPtive is a framework for LDAP SearchFilter parsing, obfuscation, deobfuscation and detection. Its foundation is…