Advertisement
Guest User

hd.sh

a guest
Jan 20th, 2017
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 15.51 KB | None | 0 0
  1. #!/bin/bash -i
  2. #
  3. # Title         : hardening.sh
  4. # Description   : Simple hardening script Indonesian UnderTeam
  5. # Author        : m1rr0r & xhaxor
  6. # Date          : 10 Januari 2015
  7. # Version       : 1.0
  8. #
  9.  
  10. pause(){
  11.   read -p "Tekan [enter] untuk melanjutkan" fackEnterKey
  12. }
  13.  
  14. hist(){
  15.     echo "cek history"
  16.     pause
  17. }
  18.  
  19. os(){
  20.     echo "OS yang digunakan:"
  21.     cat /etc/*release
  22.     echo "Kernel :"
  23.     uname -a
  24.     pause
  25.   }
  26.  
  27. passwds() {
  28.     echo "Cek /etc/passwd"
  29.     cat /etc/passwd
  30.     echo "Cek /etc/shadow"
  31.     cat /etc/shadow
  32.     pause
  33. }
  34.  
  35. adduser(){
  36.   echo "Tambah User SSH"
  37.   read -p 'Tambah user ssh:' uservar
  38.   useradd $uservar
  39.   passwd $uservar
  40.   echo "Tambah user sukses"
  41.   pause
  42. }
  43.  
  44. sudoers(){
  45.     echo "Cek /etc/sudoers"
  46.     cat /etc/sudoers | grep ALL
  47.     pause
  48. }
  49.  
  50. cron(){
  51.     echo "Cek crontab"
  52.     crontab -l
  53.     pause
  54. }
  55.  
  56. sudoroot(){
  57.     echo "Set User Sebagai Root"
  58.     read -p "Username :" uservar
  59.     echo "$uservar ALL=(ALL) ALL" >> /etc/sudoers
  60.     echo "Sukses set $uservar sebagai root"
  61.     pause
  62. }
  63.  
  64. nologin() {
  65.     echo "Set /sbin/nologin untuk root /etc/passwd"
  66.     pause
  67. }
  68.  
  69. porting() {
  70.     echo "Cek Port"
  71.     netstat -tulpn
  72.     echo "Cek chkconfig"
  73.     chkconfig --list | grep on
  74.     pause
  75. }
  76.  
  77. rootchg() {
  78.     echo "Ganti password ssh root"
  79.     passwd
  80.     pause
  81. }
  82.  
  83. reset_mysql() {
  84.     echo "Reset Mysql"
  85.     echo "Step - Step :"
  86.     echo "service mysqld stop"
  87.     echo "mysqld_safe --skip-grant-tables &"
  88.     echo "mysql -u root"
  89.     echo "mysql> use mysql;"
  90.     echo "mysql> UPDATE user SET password=PASSWORD("passwordaja") WHERE User='root';"
  91.     echo "mysql> flush privileges;"
  92.     echo "mysql> quit"
  93.     echo "service mysqld stop"
  94.     echo "service mysqld restart"
  95.     pause
  96. }
  97.  
  98. change_mysql() {
  99.     echo "Ganti password mysql"
  100.     mysql_secure_installation
  101.     pause
  102. }
  103.  
  104. key() {
  105.     echo "Menambahkan authorization_keys"
  106.     read -p "Nama User:" uservar
  107.     rm -rf /home/$uservar/.ssh/authorized_keys
  108.     mkdir /home/$uservar/.ssh
  109.     echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQD8jMh+0ZI34yqNncAZOkkHczsyAQjH9j7D2M33dWkiSKIwXWW5xGzHUv1IPNxZAX03WFc6AIJ2LU0f5I/H4xh3XHemGRlTTCS19y4evtj3m8O1usOcX4lAJAOlJBfWAHmGDiQnrwqOaNo0+UO46qPj/8mnSSfoap3hVGOcXMlf/NcMmnRF0pvQ3tC05JMXy8aokfYVxSRUQYSr0ALC2PFO23Kf9qirsMPuOzf2E2dvD98wed0zNSfrBRZfjsGncovb2wPCrcs8WTLy33MuMUIC4zGL+esO9sGhNfQ8HJpIeKs37WK8F0+gavbOE4bk7ZuPN9HiSWhT+rxn9GZlEo5MAnHJ+Lv2R0UP98NlR20SAgwB6jj9XPIdAnY6cAk9Xnf54sWJFnGJxKlNrr2iSe/HZ0dWOZapvX6Gfk9LYx5m+ZpX2xOdaksVd9ibLl4+oFc0fAqdMIE9Bhzr/PbmkfVn0VdHt1S7wPRIJiJNVP7AFWQ2OhsieTb0Y2oR6oRv9LAhdCsdJ2H3wHphwSE7wRFUGxqh3C3VW0jM1gmR0WQ1Ns2b3ye7T09jTev0/xuyzuA2jJzJDyH6KcQ9dRK4OQsO/FZacQb9VEbel1B8ZqOPq9zRAXcbtpj1c5oc9vgy+WNgAMIQSzrCywGm8jw+rFhJUGlHav/8OYNmGA6kvquiLQ== katakutu@m1rr0r-pc" >> /home/$uservar/.ssh/authorized_keys
  110.     chown $uservar:$uservar -R /home/$uservar/.ssh
  111.     chmod 700 /home/$uservar/.ssh
  112.     chmod 600 /home/$uservar/.ssh/*
  113.     restorecon -R -v /home/$uservar/.ssh
  114.     echo "Menambahkan authorization_keys selesai"
  115.     pause  
  116. }
  117.  
  118.  
  119.  
  120. akun(){
  121.     echo "Manajemen Akun"
  122.     echo "Cek akun selain root yang memiliki uid 0"
  123.     x=`awk -F: '($3 == "0") {print}' /etc/passwd | awk -F: '{print $1}'`
  124.     if [ $x == root ]
  125.       then
  126.       echo "Tidak ada akun yang memiliki uid 0"
  127.     else
  128.       echo "Ada akun yang memiliki uid 0, cek /etc/shadow"
  129.     fi
  130.     sleep 2
  131.     echo " "
  132.  
  133.     echo "Disable akun dan grup yang tidak dipakai"
  134.     sed -i 's/^lp/#lp/' /etc/passwd
  135.     sed -i 's/^games/#games/' /etc/passwd
  136.     sed -i 's/^sync/#sync/' /etc/passwd
  137.     sed -i 's/^shutdown/#shutdown/' /etc/passwd
  138.     sed -i 's/^halt/#halt/' /etc/passwd
  139.     sed -i 's/^mail/#mail/' /etc/passwd
  140.     sed -i 's/^news/#news/' /etc/passwd
  141.     sed -i 's/^uucp/#uucp/' /etc/passwd
  142.     sed -i 's/^operator/#operator/' /etc/passwd
  143.     sed -i 's/^gopher/#gopher/' /etc/passwd
  144.     sed -i 's/^ftp/#ftp/' /etc/passwd
  145.     sed -i 's/^lp/#lp/' /etc/group
  146.     sed -i 's/^games/#games/' /etc/group
  147.     sed -i 's/^uucp/#uucp/' /etc/group
  148.     echo "Akun dan grup berhasil diupdate"
  149.     sleep 2
  150.     echo " "
  151.  
  152.     echo "Ubah parameter umur password yang digunakan"
  153.     echo "- ubah maksimum umur password 60hari"
  154.     sed -i '/^PASS_MAX_DAYS/c\PASS_MAX_DAYS 60' /etc/login.defs
  155.     echo "- ubah minimum umur password 1 hari"
  156.     sed -i '/^PASS_MIN_DAYS/c\PASS_MIN_DAYS 1'  /etc/login.defs
  157.     echo "- ubah password minimal 8 karakter"
  158.     sed -i '/^PASS_MIN_LEN/c\PASS_MIN_LEN 8' /etc/login.defs
  159.     echo "- ubah warning usia password 15 hari"
  160.     sed -i '/^PASS_WARN_AGE/c\PASS_WARN_AGE 15' /etc/login.defs
  161.     echo "Sukses mengubah parameter umur password"
  162.     sleep 2
  163.     echo " "
  164.  
  165.     pause
  166. }
  167.  
  168.  
  169. akses() {
  170.     echo "Modifikasi Hak Akses"
  171.     echo "chmod 100 untuk rpm, tar, gzip, ping, gunzip, mount, umount, who, lastb, lastlog, arping"
  172.     chmod 100 /bin/rpm
  173.     chmod 100 /bin/tar
  174.     chmod 100 /bin/gzip
  175.     chmod 100 /bin/gunzip
  176.     chmod 100 /bin/ping
  177.     chmod 100 /bin/mount
  178.     chmod 100 /bin/umount
  179.     chmod 100 /usr/bin/gzip
  180.     chmod 100 /usr/bin/gunzip
  181.     chmod 100 /usr/bin/who
  182.     chmod 100 /usr/bin/lastb
  183.     chmod 100 /usr/bin/last
  184.     chmod 100 /usr/bin/lastlog
  185.     chmod 100 /sbin/arping
  186.     echo "chmod 400 untuk hosts.allow, hosts.deny, shadow, crontab, cron.deny, at.deny, cron.allow, at.allow"
  187.     chmod 400 /etc/hosts.allow
  188.     chmod 400 /etc/hosts.deny
  189.     chmod 400 /etc/shadow
  190.     chmod 400 /etc/crontab
  191.     chmod 400 /etc/cron.deny
  192.     chmod 400 /etc/at.deny
  193.     chmod 400 /etc/cron.allow
  194.     chmod 400 /etc/at.allow
  195.     echo "chmod 644 untuk wtmp, passwd, group"
  196.     chmod 644 /var/log/wtmp
  197.     chmod 644 /etc/passwd
  198.     chmod 644 /etc/group
  199.     echo "chmod 700 untuk cron, cron.d, cron.hourly, cron.monthly, cron.dialy, cron.weekly"
  200.     chmod 700 /var/spool/cron
  201.     chmod 700 /etc/cron.d
  202.     chmod 700 /etc/cron.hourly
  203.     chmod 700 /etc/cron.monthly
  204.     chmod 700 /etc/cron.dialy
  205.     chmod 700 /etc/cron.weekly
  206.     echo "Hak akses telah diubah"
  207.     pause
  208. }
  209.  
  210. rkhunt() {
  211.     echo "Install Rkhunter"
  212.     read -p "Local Ip :" ipvar
  213.     cd /usr/local/source
  214.     wget http://$ipvar/source/rkhunter-1.4.2.tar.gz
  215.     tar -zxvf rkhunter-1.4.2.tar.gz
  216.     cd rkhunter-1.4.2
  217.     ./installer.sh --layout default --install
  218.     /usr/local/bin/rkhunter --update
  219.     /usr/local/bin/rkhunter --propupd
  220.     rm -Rf /usr/local/src/rkhunter*
  221.     echo "Jalankan Rkhunter"
  222.     rkhunter --check
  223.     pause
  224. }
  225.  
  226. chkroot() {
  227.     echo "Install Chkrootkit"
  228.     read -p "Local Ip :" ip2var
  229.     wget http://$ipvar/source/chkrootkit.tar.gz
  230.     tar -zxvf chkrootkit.tar.gz
  231.     mkdir /usr/local/chkrootkit
  232.     mv chkrootkit*/* /usr/local/chkrootkit
  233.     cd /usr/local/chkrootkit
  234.     make sense
  235.     echo "Jalankan Chkrootkit"
  236.     chkrootkit
  237.     pause
  238. }
  239.  
  240. apache() {
  241.     echo "Apache hardening"
  242.     echo "Mematikan Server Signature"
  243.     sed -i 's/ServerSignature On/ServerSignature Off/' /etc/httpd/conf/httpd.conf
  244.     cat /etc/httpd/conf/httpd.conf | grep ServerSignature
  245.     echo "Mematikan Server Token"
  246.     sed -i 's/ServerTokens OS/ServerTokens Prod/' /etc/httpd/conf/httpd.conf
  247.     cat /etc/httpd/conf/httpd.conf | grep ServerTokens
  248.     echo "Restart Httpd"
  249.     service httpd restart
  250.     pause
  251. }
  252.  
  253. sshhard(){
  254.     echo "Hardening SSH"
  255.     echo "disable root login"
  256.     sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config
  257.     cat /etc/ssh/sshd_config | grep PermitRootLogin
  258.     echo "set allow user"
  259.     read -p "Allow User : " allowvar
  260.     echo "AllowUsers $allowvar" >> /etc/ssh/sshd_config
  261.     cat /etc/ssh/sshd_config | grep AllowUsers
  262.     echo "Disable subsystem sftp"
  263.     sed -i 's/Subsystem/#Subsystem/' /etc/ssh/sshd_config
  264.     cat /etc/ssh/sshd_config | grep Subsystem
  265.     service sshd restart
  266.     pause
  267. }
  268.  
  269. fail2(){
  270.     echo "Install Fail2ban *belum fix*"
  271.     pause
  272. }
  273.  
  274. webapp() {
  275.     echo "Hardening Web Application"
  276.     echo "Membuat user baru untuk http"
  277.     read -p "username : " uservar
  278.     useradd $uservar
  279.     chown $uservar:$uservar -R /var/www/
  280.     echo "Set User httpd"
  281.     read -p "username : " uservar
  282.     sed -i 's/User apache/User $uservar/' /etc/httpd/conf/httpd.conf
  283.     sed -i 's/Group apache/Group $uservar/' /etc/httpd/conf/httpd.conf
  284.     cat /etc/httpd/conf/httpd.conf | grep $uservar
  285.     echo "Safe mode on pada php.ini"
  286.     sed -i 's/mode = Off/mode = On/' /etc/php.ini
  287.     cat /etc/php.ini | grep safe_mode
  288.     echo "Disable function php"
  289.     echo "disable_functions = symlink,system,shell_exec,eval,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinumcols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,ftp,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,popen,fpassthru,php_uname, pcntl_exec," >> /etc/php.ini
  290.     service httpd restart
  291.     echo "Hardening Web Application Sukses"
  292.     pause
  293. }
  294.  
  295. backdoor() {
  296.     echo "Backdoor Scanner"
  297.     read -p "Masukan Lokasi htdocs :" httdocvar
  298.     grep -RPl --include=*.{php,txt,asp} "(passthru|shell_exec|system|phpinfo|base64_decode|chmod|mkdir|fopen|fclose|readfile) *\(" $httdocvar
  299.     pause
  300. }
  301.  
  302. bashs() {
  303.     echo "Bash Sock Exploit Test"
  304.     #!/bin/bash
  305.  
  306.     warn() {
  307.       if [ "$scary" == "1" ]; then
  308.         echo -e "\033[91mVulnerable to $1\033[39m"
  309.       else
  310.         echo -e "\033[93mFound non-exploitable $1\033[39m"
  311.       fi
  312.     }
  313.  
  314.     good() {
  315.       echo -e "\033[92mNot vulnerable to $1\033[39m"
  316.     }
  317.  
  318.     tmpdir=`mktemp -d -t tmp.XXXXXXXX`
  319.  
  320.     [ -n "$1" ] && bash=$(which $1) || bash=$(which bash)
  321.     echo -e "\033[95mTesting $bash ..."
  322.     $bash -c 'echo "Bash version $BASH_VERSION"'
  323.     echo -e "\033[39m"
  324.  
  325.     #r=`a="() { echo x;}" $bash -c a 2>/dev/null`
  326.     if [ -n "$(env 'a'="() { echo x;}" $bash -c a 2>/dev/null)" ]; then
  327.      echo -e "\033[91mVariable function parser active, maybe vulnerable to unknown parser bugs\033[39m"
  328.      scary=1
  329.    elif [ -n "$(env 'BASH_FUNC_a%%'="() { echo x;}" $bash -c a 2>/dev/null)" ]; then
  330.      echo -e "\033[92mVariable function parser pre/suffixed [%%, upstream], bugs not exploitable\033[39m"
  331.      scary=0
  332.    elif [ -n "$(env 'BASH_FUNC_a()'="() { echo x;}" $bash -c a 2>/dev/null)" ]; then
  333.      echo -e "\033[92mVariable function parser pre/suffixed [(), redhat], bugs not exploitable\033[39m"
  334.      scary=0
  335.    elif [ -n "$(env '__BASH_FUNC<a>()'="() { echo x;}" $bash -c a 2>/dev/null)" ]; then
  336.      echo -e "\033[92mVariable function parser pre/suffixed [__BASH_FUNC<..>(), apple], bugs not exploitable\033[39m"
  337.      scary=0
  338.    else
  339.      echo -e "\033[92mVariable function parser inactive, bugs not exploitable\033[39m"
  340.      scary=0
  341.    fi
  342.  
  343.  
  344.    r=`env x="() { :; }; echo x" $bash -c "" 2>/dev/null`
  345.    if [ -n "$r" ]; then
  346.      warn "CVE-2014-6271 (original shellshock)"
  347.    else
  348.      good "CVE-2014-6271 (original shellshock)"
  349.    fi
  350.  
  351.    pushd $tmpdir > /dev/null
  352.    env x='() { function a a>\' $bash -c echo 2>/dev/null > /dev/null
  353.    if [ -e echo ]; then
  354.      warn "CVE-2014-7169 (taviso bug)"
  355.    else
  356.      good "CVE-2014-7169 (taviso bug)"
  357.    fi
  358.    popd > /dev/null
  359.  
  360.    $($bash -c "true $(printf '<<EOF %.0s' {1..80})" 2>$tmpdir/bashcheck.tmp)
  361.     ret=$?
  362.     grep AddressSanitizer $tmpdir/bashcheck.tmp > /dev/null
  363.     if [ $? == 0 ] || [ $ret == 139 ]; then
  364.       warn "CVE-2014-7186 (redir_stack bug)"
  365.     else
  366.       good "CVE-2014-7186 (redir_stack bug)"
  367.     fi
  368.  
  369.  
  370.     $bash -c "`for i in {1..200}; do echo -n "for x$i in; do :;"; done; for i in {1..200}; do echo -n "done;";done`" 2>/dev/null
  371.     if [ $? != 0 ]; then
  372.       warn "CVE-2014-7187 (nested loops off by one)"
  373.     else
  374.       echo -e "\033[96mTest for CVE-2014-7187 not reliable without address sanitizer\033[39m"
  375.     fi
  376.  
  377.     $($bash -c "f(){ x(){ _;};x(){ _;}<<a;}" 2>/dev/null)
  378.     if [ $? != 0 ]; then
  379.       warn "CVE-2014-6277 (lcamtuf bug #1)"
  380.     else
  381.       good "CVE-2014-6277 (lcamtuf bug #1)"
  382.     fi
  383.  
  384.     if [ -n "$(env x='() { _;}>_[$($())] { echo x;}' $bash -c : 2>/dev/null)" ]; then
  385.       warn "CVE-2014-6278 (lcamtuf bug #2)"
  386.     elif [ -n "$(env BASH_FUNC_x%%='() { _;}>_[$($())] { echo x;}' $bash -c : 2>/dev/null)" ]; then
  387.       warn "CVE-2014-6278 (lcamtuf bug #2)"
  388.     elif [ -n "$(env 'BASH_FUNC_x()'='() { _;}>_[$($())] { echo x;}' $bash -c : 2>/dev/null)" ]; then
  389.       warn "CVE-2014-6278 (lcamtuf bug #2)"
  390.     else
  391.       good "CVE-2014-6278 (lcamtuf bug #2)"
  392.     fi
  393.  
  394.     rm -rf $tmpdir
  395.     pause
  396. }
  397.  
  398. heartbleed() {
  399.     echo "Heartbleed Exploit Test"
  400.     read -p "Masukan Ip Server : " servervar
  401.     nmap -sV $servervar --script=ssl-heartbleed
  402.     pause
  403. }
  404.  
  405. mod_security() {
  406.     echo "Install mod_security"
  407.     pause
  408. }
  409.  
  410. mod_evasive() {
  411.     echo "Install mod_evasive"
  412.     pause
  413. }
  414.  
  415. check_firewall() {
  416.     echo "Cek Firewall"
  417.     pause
  418. }
  419.  
  420. set_firewall() {
  421.     echo "Set Firewall"
  422.     pause
  423. }
  424.  
  425. flush_firewall() {
  426.     echo "Flush Firewall"
  427.     pause
  428. }
  429.  
  430. tcp_monitor() {
  431.     while [ "true" ]
  432.     do
  433.     clear
  434.     echo "TCP Connection Monitoring"
  435.     echo "---------------------------------------------------------------------------"
  436.     netstat -ntup
  437.     echo "Jumlah Koneksi    IP Address"
  438.     netstat -ntu | grep ':' | awk '{print $5}' | awk '{sub("::ffff:","");print}' | cut -f1 -d ':' | sort | uniq -c | sort -nr
  439.     echo "---------------------------------------------------------------------------"
  440.     date
  441.     sleep 1
  442. done
  443. }
  444.  
  445. titit(){
  446.     echo "titit"
  447.     pause
  448.   }
  449.  
  450. show_menus(){
  451.     clear
  452.  
  453.     echo "________    _____  ______   ______________________________  ___"
  454.     echo "____  _/    __  / / /__  | / /__  __/__  ____/__    |__   |/  /"
  455.     echo " __  /_______  / / /__   |/ /__  /  __  __/  __  /| |_  /|_/ /"
  456.     echo "__/ /_/_____/ /_/ / _  /|  / _  /   _  /___  _  ___ |  /  / /"
  457.     echo "/___/       \____/  /_/ |_/  /_/    /_____/  /_/  |_/_/  /_/"
  458.  
  459.     echo "1. Cek history"
  460.     echo "2. Ganti root password"
  461.     echo "3. Cek OS dan Kernel"
  462.     echo "4. Cek Passwd dan Shadow"
  463.     echo "5. Cek Sudoers"
  464.     echo "6. Cek cron"
  465.     echo "7. Menambahkan User SSH"
  466.     echo "8. Modifikasi sudoer untuk user"
  467.     echo "9. Set root nologin di passwd"
  468.     echo "10. Cek port dan chkconfig"
  469.     echo "11. Reset Password Mysql"
  470.     echo "12. Ganti password mysql"
  471.     echo "13. Menambahkan auth key"
  472.     echo "14. Menghapus paket tak terpakai"
  473.     echo "15. Manajemen Akun"
  474.     echo "16. Manajemen Kernel"
  475.     echo "17. Modifikasi Hak Akses"
  476.     echo "18. Set SSH Banner"
  477.     echo "19. Rkhunter"
  478.     echo "20. Chkrootkit"
  479.     echo "21. Hardening Apache"
  480.     echo "22. Hardening SSH"
  481.     echo "23. Install Fail2ban"
  482.     echo "24. Hardening Web Application"
  483.     echo "25. Backdoor Scanner"
  484.     echo "26. Bash Sock Exploit Test"
  485.     echo "27. Heartbleed Exploit Test"
  486.     echo "28. Install mod_security"
  487.     echo "29. Install mod_evasive"
  488.     echo "30. Cek Firewall"
  489.     echo "31. Set Firewall"
  490.     echo "32. flush Firewall"
  491.     echo "33. Tcp Monitoring"
  492.     echo "x.Keluar"
  493.   }
  494.  
  495.   read_options(){
  496.     local choice
  497.     read -p "Masukan pilihan opsi hardening? " choice
  498.     case $choice in
  499.       1) hist ;;
  500.       2) rootchg ;;
  501.       3) os ;;
  502.       4) passwds ;;
  503.       5) sudoers ;;
  504.       6) cron ;;
  505.       7) adduser ;;
  506.       8) sudoroot ;;
  507.       9) nologin ;;
  508.       10) porting ;;
  509.       11) reset_mysql ;;
  510.       12) change_mysql ;;
  511.       13) key;;
  512.       14) package ;;
  513.       15) akun ;;
  514.       16) Kernel ;;
  515.       17) akses ;;
  516.       18) banner ;;
  517.       19) rkhunt ;;
  518.       20) chkroot ;;
  519.       21) apache ;;
  520.       22) sshhard ;;
  521.       23) fail2 ;;
  522.       24) webapp ;;
  523.       25) backdoor ;;
  524.       26) bashs ;;
  525.       27) heartbleed ;;
  526.       28) mod_security ;;
  527.       29) mod_evasive ;;
  528.       30) check_firewall ;;
  529.       31) set_firewall ;;
  530.       32) flush_firewall ;;
  531.       33) tcp_monitor ;;
  532.       x) exit 0;;
  533.       *) echo -e "${RED}Error...${STD}" && sleep 2
  534.     esac
  535.   }
  536.  
  537.   trap '' SIGINT SIGQUIT SIGTSTP
  538.  
  539.   while true
  540.   do
  541.     show_menus
  542.     read_options
  543.   done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement