Last active
June 16, 2022 09:31
-
-
Save dedshit/86bbd45c98c155ebda0a0ff706455531 to your computer and use it in GitHub Desktop.
Metasploit installation for Termux
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/data/data/com.termux/files/usr/bin/bash | |
clear | |
echo " | |
+-+-+-+-+-+-+-+-+-+-+ +-+-+ +-+-+-+-+-+-+ | |
|M|e|t|a|s|p|l|o|i|t| |i|n| |T|e|r|m|u|x| | |
+-+-+-+-+-+-+-+-+-+-+ +-+-+ +-+-+-+-+-+-+ | |
" | |
center() { | |
termwidth=$(stty size | cut -d" " -f2) | |
padding="$(printf '%0.1s' ={1..500})" | |
printf '%*.*s %s %*.*s\n' 0 "$(((termwidth-2-${#1})/2))" "$padding" "$1" 0 "$(((termwidth-1-${#1})/2))" "$padding" | |
} | |
# Loading spinner | |
center " Loading..." | |
source <(echo "c3Bpbm5lcj0oICd8JyAnLycgJy0nICdcJyApOwoKY291bnQoKXsKICBzcGluICYKICBwaWQ9JCEKICBmb3IgaSBpbiBgc2VxIDEgMTBgCiAgZG8KICAgIHNsZWVwIDE7CiAgZG9uZQoKICBraWxsICRwaWQgIAp9CgpzcGluKCl7CiAgd2hpbGUgWyAxIF0KICBkbyAKICAgIGZvciBpIGluICR7c3Bpbm5lcltAXX07IAogICAgZG8gCiAgICAgIGVjaG8gLW5lICJcciRpIjsKICAgICAgc2xlZXAgMC4yOwogICAgZG9uZTsKICBkb25lCn0KCmNvdW50" | base64 -d) | |
echo | |
center "*** Dependencies installation..." | |
# Remove not working repositories | |
rm $PREFIX/etc/apt/sources.list.d/* | |
# Install gnupg required to sign repository | |
pkg install -y gnupg | |
# Sign gushmazuko repository | |
curl -fsSL https://raw.githubusercontent.com/gushmazuko/metasploit_in_termux/master/gushmazuko-gpg.pubkey | gpg --dearmor | tee $PREFIX/etc/apt/trusted.gpg.d/gushmazuko-repo.gpg | |
# Add gushmazuko repository to install ruby 2.7.2 version | |
echo 'deb https://github.com/gushmazuko/metasploit_in_termux/raw/master gushmazuko main' | tee $PREFIX/etc/apt/sources.list.d/gushmazuko.list | |
# Set low priority for all gushmazuko repository (for security purposes) | |
# Set highest priority for ruby package from gushmazuko repository | |
echo '## Set low priority for all gushmazuko repository (for security purposes) | |
Package: * | |
Pin: release gushmazuko | |
Pin-Priority: 100 | |
## Set highest priority for ruby package from gushmazuko repository | |
Package: ruby | |
Pin: release gushmazuko | |
Pin-Priority: 1001' | tee $PREFIX/etc/apt/preferences.d/preferences | |
# Purge installed ruby | |
apt purge ruby -y | |
rm -fr $PREFIX/lib/ruby/gems | |
pkg upgrade -y -o Dpkg::Options::="--force-confnew" | |
pkg install -y python autoconf bison clang coreutils curl findutils apr apr-util postgresql openssl readline libffi libgmp libpcap libsqlite libgrpc libtool libxml2 libxslt ncurses make ncurses-utils ncurses git wget unzip zip tar termux-tools termux-elf-cleaner pkg-config git ruby -o Dpkg::Options::="--force-confnew" | |
python3 -m pip install --upgrade pip | |
python3 -m pip install requests | |
echo | |
center "*** Fix ruby BigDecimal" | |
source <(curl -sL https://github.com/termux/termux-packages/files/2912002/fix-ruby-bigdecimal.sh.txt) | |
echo | |
center "*** Erasing old metasploit folder..." | |
rm -rf $HOME/metasploit-framework | |
echo | |
center "*** Downloading..." | |
cd $HOME | |
git clone https://github.com/rapid7/metasploit-framework.git --depth=1 | |
echo | |
center "*** Installation..." | |
cd $HOME/metasploit-framework | |
sed '/rbnacl/d' -i Gemfile.lock | |
sed '/rbnacl/d' -i metasploit-framework.gemspec | |
# version 0.118 | |
# root cause for this problem is missing net-smtp & mini_portile2 version | |
# Warnings were fixed | |
echo | |
center "《《《 MSF FIX 》》》" | |
export MSF_FIX="spec.add_runtime_dependency 'net-smtp'" | |
sed -i "146i \ $MSF_FIX" metasploit-framework.gemspec | |
sed -i "277,\$ s/2.8.0/2.2.0/" Gemfile.lock | |
gem install bundler | |
sed 's|nokogiri (1.*)|nokogiri (1.8.0)|g' -i Gemfile.lock | |
gem install nokogiri -v 1.8.0 -- --use-system-libraries | |
gem install actionpack | |
bundle update activesupport | |
bundle update --bundler | |
bundle install -j$(nproc --all) | |
$PREFIX/bin/find -type f -executable -exec termux-fix-shebang \{\} \; | |
rm ./modules/auxiliary/gather/http_pdf_authors.rb | |
if [ -e $PREFIX/bin/msfconsole ];then | |
rm $PREFIX/bin/msfconsole | |
fi | |
if [ -e $PREFIX/bin/msfvenom ];then | |
rm $PREFIX/bin/msfvenom | |
fi | |
ln -s $HOME/metasploit-framework/msfconsole /data/data/com.termux/files/usr/bin/ | |
termux-elf-cleaner /data/data/com.termux/files/usr/lib/ruby/gems/*/gems/pg-*/lib/pg_ext.so | |
echo | |
center "*" | |
echo -e "\033[32m Suppressing Warnings\033[0m" | |
sed -i '355 s/::Exception, //' msfvenom | |
sed -i '481, 483 {s/^/#/}' msfvenom | |
sed -Ei "s/(\^\\\c\s+)/(\^\\\C-\\\s)/" /data/data/com.termux/files/home/metasploit-framework/lib/msf/core/exploit/remote/vim_soap.rb | |
sed -i '86 {s/^/#/};96 {s/^/#/}' /data/data/com.termux/files/usr/lib/ruby/gems/3.1.0/gems/concurrent-ruby-1.0.5/lib/concurrent/atomic/ruby_thread_local_var.rb | |
sed -i '442, 476 {s/^/#/};436, 438 {s/^/#/}' /data/data/com.termux/files/usr/lib/ruby/gems/3.1.0/gems/logging-2.3.0/lib/logging/diagnostic_context.rb | |
ln -s $HOME/metasploit-framework/msfvenom /data/data/com.termux/files/usr/bin/ | |
echo | |
center "*" | |
echo -e "\033[32m Installation complete. \n Launch metasploit by executing: msfconsole\033[0m" | |
center "*" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment