Skip to content

Itsjustme27/simPhish

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“§ Phishy - Advanced Phishing Simulation Platform

Phishy is an innovative cybersecurity education platform that revolutionizes phishing awareness training through multi-perspective learning. Built with Laravel 11, it provides a comprehensive ecosystem where users experience cybersecurity from three critical viewpoints: Attacker, Victim, and Defender.

🌟 Key Features

🎭 Multi-Perspective Learning System

  • Attacker Mode: Learn social engineering tactics and email crafting techniques

  • Victim Mode: Experience realistic phishing scenarios in a safe environment

  • Defender Mode: Develop threat detection and email analysis skills

πŸ” Advanced Security Features:

  • Role-Based Access Control (RBAC) with Spatie Laravel Permission

  • Password Strength Tracking with real-time compliance monitoring

  • Comprehensive Admin Dashboard with user management capabilities

  • Dark/Light Mode Support for enhanced user experience

πŸ€– Intelligent Bot Simulation:

  • Probability-based victim responses with realistic scoring algorithms

  • Event-driven architecture for seamless simulation flow

  • Real-time feedback on phishing campaign effectiveness

πŸ“Š Professional Admin Interface:

  • User management with password security auditing

  • Real-time statistics and compliance tracking

  • Role assignment and permission management

  • Responsive design with Bootstrap 5.3

πŸ“Έ Screenshots:

  • Login Page:

Screenshot

  • Sign up Page:

Screenshot

![[Screenshot_2025-06-22_13-01-22.png]]

  • User Dashboard:

Screenshot

  • Admin Dashboard:

Screenshot

Screenshot

  • Attacker Mode:

Screenshot

Screenshot

  • Victim Mode:

Screenshot

Screenshot

Screenshot

  • Defender Mode:

Screenshot

πŸš€ Installation:

  • Prerequisites:

  • PHP 8.4+

  • Composer 2.x

  • Node.js 18+ & NPM

  • MySQL 8.0+ or PostgreSQL 13+

  • Laravel 11.x

Quick Setup:

  • Clone the repository
git clone https://github.com/yourusername/phishy.git
cd phishy
Install dependencies
composer install
npm install
Environment configuration
cp .env.example .env
php artisan key:generate
Database setup
# Configure your database in .env file
php artisan migrate
php artisan db:seed

Install Spatie Permission

php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
php artisan migrate
Build assets
npm run build
# or for development
npm run dev
Start the application
php artisan serve
Visit http://localhost:8000 to access Phishy!

πŸ—οΈ Architecture:

  • Core Components
Phishy/
β”œβ”€β”€ 🎭 Attacker Module     # Social engineering simulation
β”‚   β”œβ”€β”€ Email crafting interface
β”‚   β”œβ”€β”€ Bot simulation system
β”‚   └── Probability-based scoring
β”œβ”€β”€ πŸ‘€ Victim Module       # Phishing experience training
β”‚   β”œβ”€β”€ Realistic email inbox
β”‚   β”œβ”€β”€ Fake login pages
β”‚   └── Educational feedback
β”œβ”€β”€ πŸ›‘οΈ Defender Module     # Threat detection & analysis
β”‚   β”œβ”€β”€ Email pattern recognition
β”‚   β”œβ”€β”€ Suspicious content scanner
β”‚   └── Security analysis tools
β”œβ”€β”€ πŸ‘‘ Admin Dashboard     # User & security management
β”‚   β”œβ”€β”€ User management system
β”‚   β”œβ”€β”€ Password compliance tracking
β”‚   └── Real-time statistics
└── πŸ” RBAC System        # Role-based access control
    β”œβ”€β”€ User roles (admin/user)
    β”œβ”€β”€ Permission management
    └── Secure authentication

Technical Stack:

Component Technology:

  • Backend : Laravel 11 with PHP 8.4+
  • Frontend : Bootstrap 5.3 with responsive design
  • Database : MySQL with Eloquent ORM
  • Authentication : Laravel Breeze with custom enhancements
  • Permissions : Spatie Laravel Permission
  • Assets : Vite for modern asset compilation
  • UI Framework : Bootstrap 5.3 with custom SCSS
  • Icons : Font Awesome 6.0

πŸ“š Usage Guide:

  • For Students/Trainees -Register with a strong password (enforced by our security system)
  1. Choose a learning perspective:

    • Start with Victim Mode to understand vulnerabilities

    • Try Attacker Mode to learn social engineering tactics

    • Use Defender Mode to develop detection skills

    • Progress through scenarios and receive immediate feedback

  2. For Administrators

    • Access admin dashboard at /admin/dashboard

    • Monitor user activity and password compliance

    • Manage user roles and permissions

    • Track learning progress across all modules

🎯 Educational Objectives:

  1. Learning Outcomes:

βœ… Understand common phishing tactics and social engineering techniques

βœ… Recognize suspicious emails and malicious content patterns

βœ… Develop critical thinking skills for cybersecurity threats

βœ… Experience the full attack lifecycle from multiple perspectives

βœ… Build defensive mindset and threat awareness

  1. Target Audience: 🏒 Corporate employees needing cybersecurity awareness training

πŸŽ“ Students learning about information security

πŸ’» IT professionals developing security skills

πŸ›οΈ Organizations implementing security education programs

πŸ› οΈ Development

  • Key Features Implementation
  • Password Strength Tracking
// Real-time password compliance monitoring
protected function create(array $data)
{
    $passwordStrength = $this->evaluatePasswordStrength($data['password']);
    
    $user = User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => Hash::make($data['password']),
        'password_meets_requirements' => $passwordStrength['meets_requirements'],
        'password_strength_details' => json_encode($passwordStrength['details']),
    ]);
    
    $user->assignRole('user');
    return $user;
}
Event-Driven Bot Simulation
php
// Probability-based victim simulation
public function simulateVictim(Request $request)
{
    $event = new BotLaunched($request->input('message'), $request->input('subject'));
    event($event);
    
    $result = $event->result; // Realistic success/failure scoring
    
    $status = $result['success']
        ? "βœ… Success! Victim bot fell for it (Score: {$result['score']})"
        : "❌ Fail! Victim bot ignored the email (Score: {$result['score']})";
        
    return back()->with('status', $status);
}
Advanced Threat Detection
php
// Pattern-based email analysis
$suspiciousPatterns = [
    '/http[s]?:\/\/[^\s]+/i',                // Links detection
    '/(verify|confirm|reset).{0,20}(account|password)/i', // Phishing intent
    '/login/i',                              // Login keywords
    '/urgent|suspended|locked/i',            // Social engineering tactics
    '/credential|username|password/i',       // Credential harvesting
];

foreach($suspiciousPatterns as $pattern) {
    if(preg_match($pattern, $email->body)) {
        $alerts[] = [
            'id' => $email->id,
            'from' => $email->sender,
            'subject' => $email->subject,
            'reason' => 'Suspicious content detected: ' . $pattern,
        ];
    }
}
Users Table Enhancement
sql
ALTER TABLE users ADUser: Create via registration with strong password requirementsD COLUMN password_meets_requirements BOOLEAN DEFAULT FALSE;
ALTER TABLE users ADD COLUMN password_strength_details JSON;
Emails Table
sql
CREATE TABLE emails (
    id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    sender VARCHAR(255) NOT NULL,
    subject VARCHAR(255) NOT NULL,
    body TEXT NOT NULL,
    created_at TIMESTAMP NULL DEFAULT NULL,
    updated_at TIMESTAMP NULL DEFAULT NULL
);

Contributing:

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

πŸ“ˆ Future Enhancements:

  • Multiplayer Mode - Real-time competitive phishing simulations

  • Advanced Analytics - Detailed learning progress tracking with charts

  • API Integration - RESTful API for external integrations

  • Mobile App - Native mobile application for training

  • AI-Powered Scenarios - Dynamic phishing content generation

  • Certification System - Formal cybersecurity awareness certificates

  • Multi-language Support - Internationalization for global use

  • Advanced Reporting - Detailed security posture reports

πŸ† Recognition:

This project demonstrates:

✨ Innovative educational approach to cybersecurity training

πŸ’» Professional software development with Laravel best practices

🎨 User experience design with responsive, accessible interfaces

πŸ”’ Security-first mindset with comprehensive protection measures

πŸ”’ Security Features

  • πŸ” Strong password enforcement with real-time validation

  • πŸ‘₯ Role-based access control using Spatie Permission

  • πŸͺ Session management with secure cookie handling

  • πŸ›‘οΈ CSRF protection on all forms

πŸ’Ύ Caching strategies for improved performance

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

🀝 Acknowledgments:

  • Laravel Community for the excellent framework and documentation

  • Spatie for the robust permission management package

  • Bootstrap Team for the responsive UI framework

  • CTF Community for inspiration and security best practices

  • Cybersecurity Community for educational methodologies

Made with ❀️ for cybersecurity education

About

A simulated Phishing Experience

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published