Installation Options
MCRIT can be installed in two ways: using Docker for a complete packaged deployment, or as a standalone installation for more customization.Recommended: Use docker-mcrit for the easiest deployment with fully compatible versions across all components.
Docker Installation (Recommended)
The dockerized deployment includes:- MCRIT server and workers
- MongoDB database with persistence
- Web frontend (MCRITweb) for browser-based interaction
- All dependencies pre-configured
Start the Services
- MongoDB on port 27017
- MCRIT API server on port 8000
- MCRITweb frontend on port 8080
- One or more worker containers
The Docker deployment ensures version compatibility across MCRIT, MongoDB, and the web frontend.
Standalone Installation
For standalone installation, you’ll need to set up Python dependencies and MongoDB separately. This approach is recommended for:- Custom deployment configurations
- Integration with existing MongoDB instances
- Development and testing
Prerequisites
The following assumes Ubuntu as the host operating system. Adjust commands for other Linux distributions accordingly.System Requirements
- Python 3.7 or higher
- MongoDB 5.0 or higher
- 4GB RAM minimum (8GB+ recommended for larger datasets)
- Ubuntu 18.04, 20.04, or 22.04
Step 1: Install Python and Dependencies
Install Python Dependencies
MCRIT requires the following key packages:Key dependencies include:
smda>=1.13.19- Smart Disassembler for binary analysispymongo- MongoDB driverfalcon>=2.0.0- REST API frameworkmmh3>=2.5.1- MurmurHash3 for hashingnumpy<2.0.0- Numerical computingscipy- Scientific computing for clusteringlief>=0.16.0- Binary parsing (PE, ELF)picblocks>=1.1.2- PicHash computationgunicorn- Production WSGI server (Linux only)waitress- WSGI server (cross-platform)
After installation, MCRIT can be used without an internet connection if desired.
Step 2: Install and Configure MongoDB
MongoDB 5.0 is the default and recommended backend for persistent data storage.Add MongoDB Repository
Choose the appropriate repository for your Ubuntu version:Ubuntu 22.04 (Jammy):Ubuntu 20.04 (Focal):Ubuntu 18.04 (Bionic):
Step 3: Start MCRIT Components
MCRIT requires both a server and at least one worker to be running.Start the Server
In one terminal session:The server will start and listen on
http://127.0.0.1:8000/ by default.On Linux, MCRIT automatically uses gunicorn for better performance. On Windows, it uses waitress.Start a Worker
In a separate terminal session:The worker will connect to MongoDB and begin processing queued jobs.
You can run multiple workers in parallel to process jobs faster. Each worker should run in its own terminal or as a separate service.
Advanced Configuration
MongoDB Connection
MCRIT’s MongoDB connection is fully configurable. Configuration options can be set via environment variables or configuration files inmcrit/config/.
Server Options
Profiling Mode (for performance analysis):Worker Types
MCRIT supports different worker implementations: Standard Worker:API Token Authentication
MCRIT supports API token authentication for secure deployments. Tokens can be set via the server configuration and passed through theapitoken header field.
Verification
After installation, verify your setup:Troubleshooting
Server won't start
Server won't start
- Check that MongoDB is running:
sudo systemctl status mongod - Verify no other service is using port 8000
- Check server logs for connection errors
Worker can't connect to MongoDB
Worker can't connect to MongoDB
- Ensure MongoDB is accessible on localhost:27017
- Check MongoDB authentication settings
- Verify firewall rules aren’t blocking connections
Import errors for dependencies
Import errors for dependencies
- Reinstall requirements:
pip install -r requirements.txt --force-reinstall - Check Python version is 3.7+
- Use a virtual environment to avoid conflicts
Out of memory errors
Out of memory errors
- Increase system RAM allocation
- Use spawning worker instead of standard worker
- Reduce concurrent workers
- Process smaller batches of samples
Next Steps
Quickstart Guide
Now that MCRIT is installed, learn how to submit your first sample and perform analysis.