From 6ba8123c773c43af7b4544c42a14f98f830e19cf Mon Sep 17 00:00:00 2001 From: "tiago.ferreira" Date: Tue, 13 Oct 2026 16:42:33 +0000 Subject: [PATCH] Enviar arquivos para "/" --- deploy.sh | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) create mode 100644 deploy.sh diff --git a/deploy.sh b/deploy.sh new file mode 100644 index 0000000..21a5b30 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,123 @@ +#!/usr/bin/env bash +# ============================================================================== +# FatecSeg Corp - Script de Instalação e Deploy Automatizado +# Disciplina: Desenvolvimento Seguro +# ============================================================================== + +set -e + +DEST_DIR="/var/www/html/fatecseg" +TAR_URL="https://git.tmferreira.tec.br/tiago.ferreira/desenvolvimento_sitemas_seg_info/raw/branch/main/fatecseg.tar.gz" +TEMP_TAR="/tmp/fatecseg.tar.gz" +DB_USER="root" +DB_PASS="sploitme" + +# Cores para o terminal +GREEN='\033[0;32m' +BLUE='\033[0;34m' +YELLOW='\033[1;33m' +RED='\033[0;31m' +NC='\033[0m' + +echo -e "${BLUE}======================================================${NC}" +echo -e "${BLUE} FatecSeg Corp - Deploy e Configuração Automática ${NC}" +echo -e "${BLUE}======================================================${NC}" + +# 1. Verificar se é root +if [ "$EUID" -ne 0 ]; then + echo -e "${RED}[!] Erro: Este script precisa ser executado com sudo/root.${NC}" + echo -e " Execute: sudo bash $0 ou curl ... | sudo bash" + exit 1 +fi + +# 2. Garantir que o serviço MySQL esteja ativo e com socket configurado +echo -e "\n${YELLOW}[1/5] Verificando serviço MySQL...${NC}" +if command -v service >/dev/null 2>&1; then + service mysql start >/dev/null 2>&1 || true +fi + +# Ajuste de socket do Metasploitable 3 +if [ -S /run/mysql-default/mysqld.sock ] && [ ! -S /var/run/mysqld/mysqld.sock ]; then + mkdir -p /var/run/mysqld + ln -sf /run/mysql-default/mysqld.sock /var/run/mysqld/mysqld.sock >/dev/null 2>&1 || true +fi +echo -e "${GREEN}[✓] Serviço MySQL verificado.${NC}" + +# 3. Limpar diretório anterior e recriar +echo -e "\n${YELLOW}[2/5] Preparando diretório ${DEST_DIR}...${NC}" +rm -rf "$DEST_DIR" +mkdir -p "$DEST_DIR" +echo -e "${GREEN}[✓] Diretório preparado.${NC}" + +# 4. Baixar pacote atualizado +echo -e "\n${YELLOW}[3/5] Baixando pacote do portal FatecSeg Corp...${NC}" +echo -e "URL: ${TAR_URL}" +if command -v curl >/dev/null 2>&1; then + curl -fsSL "$TAR_URL" -o "$TEMP_TAR" +elif command -v wget >/dev/null 2>&1; then + wget -q --show-progress "$TAR_URL" -O "$TEMP_TAR" +else + echo -e "${RED}[X] Erro: curl ou wget não encontrado.${NC}" + exit 1 +fi +echo -e "${GREEN}[✓] Download concluído.${NC}" + +# 5. Extrair pacote e ajustar permissões +echo -e "\n${YELLOW}[4/5] Extraindo arquivos e ajustando permissões...${NC}" +tar -xzf "$TEMP_TAR" -C "$DEST_DIR" +rm -f "$TEMP_TAR" +rm -f "$DEST_DIR"/data/*.sqlite >/dev/null 2>&1 || true + +chown -R www-data:www-data "$DEST_DIR" 2>/dev/null || true +chmod -R 755 "$DEST_DIR" +chmod -R 777 "$DEST_DIR/data" +echo -e "${GREEN}[✓] Arquivos extraídos e permissões configuradas.${NC}" + +# 6. Configurar o banco de dados MySQL +echo -e "\n${YELLOW}[5/5] Configurando banco de dados MySQL...${NC}" +DB_OK=false + +if command -v mysql >/dev/null 2>&1 || command -v mariadb >/dev/null 2>&1; then + MYSQL_BIN=$(command -v mysql || command -v mariadb) + + # 1ª tentativa: Metasploitable 3 (root / sploitme em 127.0.0.1) + if $MYSQL_BIN -h 127.0.0.1 -u "$DB_USER" -p"$DB_PASS" < "$DEST_DIR/database.sql" >/dev/null 2>&1; then + DB_OK=true + # 2ª tentativa: root sem senha via socket + elif $MYSQL_BIN -u "$DB_USER" < "$DEST_DIR/database.sql" >/dev/null 2>&1; then + DB_OK=true + # 3ª tentativa: root com sploitme via socket + elif $MYSQL_BIN -u "$DB_USER" -p"$DB_PASS" < "$DEST_DIR/database.sql" >/dev/null 2>&1; then + DB_OK=true + fi +fi + +# Fallback via PHP CLI se necessário +if [ "$DB_OK" = false ] && command -v php >/dev/null 2>&1; then + if php "$DEST_DIR/setup_db.php" >/dev/null 2>&1; then + DB_OK=true + fi +fi + +if [ "$DB_OK" = true ]; then + echo -e "${GREEN}[✓] Banco de dados configurado e populado com 12 usuários no MySQL!${NC}" +else + echo -e "${YELLOW}[!] Inicialize o banco pelo navegador: http://localhost/fatecseg/setup_db.php${NC}" +fi + +# Identificar IP da máquina +IP_LOCAL=$(hostname -I 2>/dev/null | awk '{print $1}' || echo "localhost") +if [ -z "$IP_LOCAL" ]; then IP_LOCAL="localhost"; fi + +echo -e "\n${GREEN}======================================================${NC}" +echo -e "${GREEN} Deploy concluído com sucesso! ${NC}" +echo -e "${GREEN}======================================================${NC}" +echo -e "Acesse o portal no navegador:" +echo -e " -> Início: http://${IP_LOCAL}/fatecseg/" +echo -e " -> Login: http://${IP_LOCAL}/fatecseg/index.php?page=pages/login.php" +echo -e " -> Cadastro: http://${IP_LOCAL}/fatecseg/index.php?page=pages/register.php" +echo -e "" +echo -e "Credenciais para testes (Laboratório):" +echo -e " -> Administrador: admin@fatecseg.local | Senha: admin123" +echo -e " -> Exemplo SQLi: admin@fatecseg.local' -- (deixar senha vazia)" +echo -e "======================================================\n"