-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeploy.sh
executable file
·108 lines (88 loc) · 4.17 KB
/
deploy.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
# Author: Maleick
# Version: 3.8
# Update: 2025-02-20
# Deploy Ubuntu/Kali system setup with repository clone/update checks
cat << "EOF"
██████╗ ███████╗██████╗ ██╗ ██████╗ ██╗ ██╗ ███████╗██╗ ██╗
██╔══██╗██╔════╝██╔══██╗██║ ██╔═══██╗╚██╗ ██╔╝ ██╔════╝██║ ██║
██║ ██║█████╗ ██████╔╝██║ ██║ ██║ ╚████╔╝ ███████╗███████║
██║ ██║██╔══╝ ██╔═══╝ ██║ ██║ ██║ ╚██╔╝ ╚════██║██╔══██║
██████╔╝███████╗██║ ███████╗╚██████╔╝ ██║ ██╗███████║██║ ██║
╚═════╝ ╚══════╝╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
EOF
# Colors for output
blue=$'\e[0;94m'
green=$'\e[1;92m'
red=$'\e[0;91m'
white=$'\e[0m'
# Helper function to clone or update a git repository
clone_or_update() {
local repo_url="$1"
local dest_dir="$2"
if [ -d "$dest_dir" ]; then
echo "${green}Directory $dest_dir exists. Updating...${white}"
cd "$dest_dir"
git pull || echo "${red}Failed to update $dest_dir${white}"
cd - > /dev/null
else
echo "${green}Cloning $repo_url into $dest_dir...${white}"
git clone "$repo_url" "$dest_dir"
fi
}
# Update package lists and upgrade system
echo "${green}Updating system packages...${white}"
apt update
apt full-upgrade -y
apt autoremove -y
# Install essential packages via apt
echo "${green}Installing essential packages...${white}"
apt install -y git curl at bc build-essential chromium-browser gss-ntlmssp mingw-w64 openjdk-11-jdk python3-pip ruby-full
# Install PowerShell via snap with classic confinement
echo "${green}Installing PowerShell via snap...${white}"
snap install powershell --classic
# Install SecLists via snap
echo "${green}Installing SecLists via snap...${white}"
snap install seclists
# Deploy Python tools using pip3 with the break-system-packages flag
echo "${green}Installing Python tools...${white}"
pip3 install --break-system-packages mitm6 pypykatz
# Clone/update repositories and install tools
# Fortra Impacket (requires pip installation)
clone_or_update "https://github.com/fortra/impacket.git" "/opt/impacket"
echo "${green}Installing Fortra Impacket...${white}"
cd /opt/impacket
pip3 install --break-system-packages --ignore-installed .
cd - > /dev/null
# Egress-Assess
clone_or_update "https://github.com/FortyNorthSecurity/Egress-Assess.git" "/opt/Egress-Assess"
# WinPEAS (Privilege Escalation Awesome Scripts Suite)
clone_or_update "https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite.git" "/opt/winPEAS"
# Responder
clone_or_update "https://github.com/lgandx/Responder.git" "/opt/Responder"
# PowerSploit
clone_or_update "https://github.com/PowerShellMafia/PowerSploit.git" "/opt/PowerSploit"
# NetExec
clone_or_update "https://github.com/Pennyw0rth/NetExec.git" "/opt/netexec"
cd /opt/netexec
# Additional installation steps for NetExec can be added here if required.
cd - > /dev/null
# Evil-WinRM (via Ruby gem)
echo "${green}Installing Evil-WinRM Ruby gem...${white}"
gem install evil-winrm
# Enumerate: Clone repository and run its installer if available
clone_or_update "https://github.com/Maleick/Enumerate.git" "/opt/Enumerate"
if [ -f /opt/Enumerate/install.sh ]; then
sh /opt/Enumerate/install.sh
else
echo "${red}Warning: /opt/Enumerate/install.sh not found. Skipping Enumerate installation.${white}"
fi
# Dotfiles: Deploy by cloning and running the install script
clone_or_update "https://github.com/Maleick/dotfiles.git" "/opt/dotfiles"
sh /opt/dotfiles/install.sh
# Final message and reboot countdown
echo "${red}Rebooting in 10 seconds...${white}"
sleep 10s
reboot