Intro
This is actually my thought process of making this script https://github.com/Flock137/EOSxBlackArch, where I put the BlackArch repo on top of EndeavourOS for a quick Arch pentest environment, since BlackArch is a bit of a hassle for installing quickly.
I hope it would help you in the case you wanna make an automation script yourself someday.
First and foremost
Install EndeavourOS. We will port our BlackArch repo into right after the former’s installation finish.
Port the BlackArch repo
Please refer to this tutorial for your reference: https://blackarch.org/downloads.html#install-repo (Section: Installing on top of ArchLinux).
The example below should give you a preview on what you need to do this step.
# Run https://blackarch.org/strap.sh as root and follow the instructions.
curl -O https://blackarch.org/strap.sh
# Verify the SHA1 sum
echo bdbaf7ecd039859160849a46694fe4921371e5b1 strap.sh | sha1sum -c
# Set execute bit
chmod +x strap.sh
# Run strap.sh
sudo ./strap.sh
# Enable multilib following https://wiki.archlinux.org/index.php/Official_repositories#Enabling_multilib and run:
sudo pacman -Syu
After the sudo pacman -Syu, most of the barebone, necessary security tools will be automatically installed for you
Other (useful) commands
# To list all of the available tools, run
sudo pacman -Sgg | grep blackarch | cut -d' ' -f2 | sort -u
# To install a category of tools, run
sudo pacman -S blackarch-<category>
# To see the blackarch categories, run
sudo pacman -Sg | grep blackarch
# To search for a specific package, run
pacman -Ss <package_name>
# Note - it maybe be necessary to overwrite certain packages when installing blackarch tools. If
# you experience "failed to commit transaction" errors, use the --needed and --overwrite switches
# For example:
sudo pacman -Syyu --needed --overwrite='*' <wanted-package>
Other manually installed apps
- cutter
- burpsuite
- ghidra
- impacket-ba (you will call the script up by its name, e.g.
rpcdump.py) - stegsolve
- steghide
- audacity
- bloodhound
- python-uncompyle6
- villain (maybe it got installed already? Gotta make an exception script for this situation. Nevermind, just put the flag
--neededafter eachpacman -S) - rekall
- autopsy
- vim
- (input more packages that you like to use here)
Custom zsh-shell
First
sudo pacman -S zsh
Install oh-my-zsh
Reference: https://ohmyz.sh/#install
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
or:
sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
After ohmyzsh offer to change shell, type y.
Manually: Log out and log back in so the change take effect.
But the script will go on after this and prompt user to log out or reboot at the end.
Install autosugestions and syntax highlighting
Reference: https://gist.github.com/n1snt/454b879b8f0b7995740ae04c5fb5b7df
autosuggesions plugin:
git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestionszsh-syntax-highlighting plugin
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
(I don’t recommend installing too much plugins, though. It will slow down your terminal startup.)
Open ~/.zshrc:
vim ~/.zshrc
Find the line that say: plugin=(git) Add your plugins inside the parenthesis, like this:
plugin=(git
zsh-autosuggestions
zsh-syntax-highlighting)
Then exit the terminal for change to take effect
Custom the terminal handle
The line that have your name and stuffs like that, y’know
I personally use the heapbytes, so my script will install this theme, as well.
Heapbytes theme feature:
- Prints the current working directory
- Prints the tun0 IP if connected to a VPN
- Prints the wlan0 IP if you aren’t connected to any VPN. (change the module name in
.zsh-themeaccording to your wifi module) - Git info
Install https://github.com/heapbytes/heapbytes-zsh/raw/refs/heads/main/heapbytes.zsh-theme to $ZSH_CUSTOM/themes/
In ~/zshrc:
ZSH_THEME="heapbytes"
save and exit terminal for the change to take effect.