Advertisement
DarkProgrammer000

NMAP [engines]

Sep 30th, 2021
1,132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 10.38 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. ###################
  4. ## Controladores ##
  5. ###################
  6.  
  7. # Controle de pastas
  8. controlador()
  9. {
  10.     # Estrutura de decisao: Existencia e criacao de pastas
  11.     if [[ -r "NMAP_IP" && -r "NMAP_REDE" ]]
  12.     then
  13.         # Comando
  14.         clear
  15.     else
  16.         # Instalacao
  17.         apt-get install nmap
  18.        
  19.         # Criacao de pasta: IP e REDE
  20.         mkdir NMAP_IP
  21.         mkdir NMAP_REDE
  22.         clear
  23.     fi
  24. }
  25.  
  26. # Verificador de relatorio
  27. verificador()
  28. {
  29.     # Mensagem
  30.     echo -e "\033[01;32m\n *** Relatorio Concluido [enter] *** \033[01;37m"
  31.     read
  32. }
  33.  
  34. #############################
  35. ## Metodos Scanner de Host ##
  36. #############################
  37.  
  38. # Analise completa
  39. completo()
  40. {
  41.     # Entrada de dados
  42.     clear
  43.     echo -e "\033[01;36m ------------ \033[01;37m"
  44.     echo -e "\033[01;32m * Completo * \033[01;37m"
  45.     echo -e "\033[01;36m ------------ \033[01;37m"
  46.     echo ""
  47.     echo -e -n "\033[01;35m # Host: \033[01;37m"
  48.    
  49.     # Entrada de dados
  50.     read IP
  51.  
  52.     # Comando em variavel
  53.     cmd1="-f -A -O -sV -sS -g 53 --open --privileged --randomize-hosts"
  54.     cmd2="--version-intensity 9 --spoof-mac Dell --data-length 200 --dns-server 8.8.8.8,8.8.4.4"
  55.     cmd3="-D $IP,8.8.8.7,8.8.8.6,8.8.8.5,6.8.8.4,8.8.8.3,8.8.8.2,8.8.8.1,177.53.142.217,200.123.45.34,182.45.23.45,192.168.0.1,172.16.0.1 $IP"
  56.  
  57.     # Concatenacao
  58.     cmd="$cmd1 $cmd2 $cmd3"
  59.  
  60.     # Comando
  61.     nmap $cmd > NMAP_IP/completo_$IP.txt
  62.  
  63.     # Leitura de relatorio
  64.     cat NMAP_IP/completo_$IP.txt | less
  65.    
  66.     # Comando
  67.     verificador
  68. }
  69.  
  70. # Analise por Vulnerabilidade
  71. vulnerabilidades()
  72. {
  73.     # Controle
  74.     a=1
  75.  
  76.     # Entrada de dados
  77.     clear
  78.     echo -e "\033[01;36m -------------------- \033[01;37m"
  79.     echo -e "\033[01;32m * Vulnerabilidades * \033[01;37m"
  80.     echo -e "\033[01;36m -------------------- \033[01;37m"
  81.     echo ""
  82.     echo -e -n "\033[01;37m # Host [Ex: testphp.vulnweb.com || Ex: 127.0.0.1]: \033[01;37m"
  83.  
  84.     # Entrada de dados
  85.     read IP
  86.  
  87.     # Estrutura de repeticao
  88.     while ((a==1))
  89.     do
  90.         # Mensagem
  91.         clear
  92.         echo -e "\033[01;36m -------------------- \033[01;37m"
  93.         echo -e "\033[01;32m * Vulnerabilidades * \033[01;37m"
  94.         echo -e "\033[01;36m -------------------- \033[01;37m"
  95.         echo ""
  96.         echo -e "\033[01;31m + Tipos de Vulnerabilidade + \033[01;37m"
  97.         echo -e "\033[01;32m [1] Enumeration          \033[01;37m"
  98.         echo -e "\033[01;33m [2] Fileupload               \033[01;37m"
  99.         echo -e "\033[01;34m [3] Frontpage Login          \033[01;37m"
  100.         echo -e "\033[01;35m [4] HTTP Passwd              \033[01;37m"
  101.         echo -e "\033[01;36m [5] Directory Traversal      \033[01;37m"
  102.         echo -e "\033[01;37m [6] Sql Injection            \033[01;37m"
  103.         echo -e "\033[01;31m [7] Mysql                    \033[01;37m"
  104.         echo -e "\033[01;32m [8] Dos              \033[01;37m"
  105.         echo -e "\033[01;33m [9] ALL              \033[01;37m"
  106.         echo ""
  107.         echo -e "\033[01;31m [0] Voltar           \033[01;37m"
  108.         echo ""
  109.         echo -e -n "\033[01;37m # Opc: \033[01;37m"
  110.         read esc
  111.  
  112.         # Comando em variavel
  113.         cmd1="-g 53 -O -sS -sV"
  114.         cmd2="-D $IP,8.8.8.7,8.8.8.6,8.8.8.5,6.8.8.4,8.8.8.3,8.8.8.2,8.8.8.1,177.53.142.217,200.123.45.34,182.45.23.45,192.168.0.1,172.16.0.1 $IP"
  115.         cmd="$cmd1 $cmd2"
  116.  
  117.         # Estrutura em escolha
  118.         case $esc in
  119.  
  120.         1)  nmap -script="http-enum" $cmd > NMAP_IP/enumeration_$IP.txt
  121.             cat NMAP_IP/enumeration_$IP.txt | less
  122.                 controle;;
  123.  
  124.         2)  nmap -script="http-fileupload-exploiter.nse" $cmd > NMAP_IP/fileUpload_$IP.txt
  125.                 cat NMAP_IP/fileUpload_$IP.txt | less
  126.                 controle;;
  127.  
  128.         3)  nmap -script="http-frontpage-login" $cmd > NMAP_IP/frontPage_$IP.txt
  129.                 cat NMAP_IP/frontPage_$IP.txt | less
  130.                 controle;;
  131.  
  132.         4)  nmap -script="http-passwd" $cmd > NMAP_IP/http_$IP.txt
  133.                 cat NMAP_IP/http_$IP.txt | less
  134.                 controle;;
  135.  
  136.         5)  nmap -script="http-phpmyadmin-dir-traversal" $cmd > NMAP_IP/directoryTraversal_$IP.txt
  137.                 cat NMAP_IP/directoryTraversal_$IP.txt | less
  138.                 controle;;
  139.        
  140.         6)  nmap -script="http-sql-injection" $cmd > NMAP_IP/sqlInjection_$IP.txt
  141.             cat NMAP_IP/sqlInjection_$IP.txt | less
  142.                 controle;;
  143.  
  144.             7)  nmap -script="mysql-brute" $cmd > NMAP_IP/mysql_$IP.txt
  145.                 cat NMAP_IP/mysql_$IP.txt | less
  146.             controle;;
  147.    
  148.             8)  nmap -script="ntp-monlist,dns-recursion,snmp-sysdescr" $cmd > NMAP_IP/dos_$IP.txt
  149.                 cat NMAP_IP/dos_$IP.txt | less
  150.                 controle;;
  151.  
  152.         9)  nmap -script="vuln" $cmd > NMAP_IP/allVulns_$IP.txt
  153.                 cat NMAP_IP/allVulns_$IP.txt | less
  154.                 controle;;
  155.  
  156.         0)  a=2;;
  157.  
  158.         *)  ;;
  159.  
  160.         esac
  161.     done
  162. }
  163.  
  164. # Analisando sistema operacional
  165. sistemaOperacional()
  166. {
  167.     # Apresentacao
  168.     clear
  169.     echo -e "\033[01;36m ----------------------- \033[01;37m"
  170.     echo -e "\033[01;32m * Sistema Operacional * \033[01;37m"
  171.     echo -e "\033[01;36m ----------------------- \033[01;37m"
  172.     echo ""
  173.  
  174.     # Entrada de dados
  175.     echo -e -n "\033[01;35m # Host: \033[01;37m"
  176.     read IP
  177.  
  178.     # Comandos
  179.     cmd1="-O -sS -sV --data-length 200 -g 53"
  180.     cmd2="-D $IP,8.8.8.7,8.8.8.6,8.8.8.5,6.8.8.4,8.8.8.3,8.8.8.2,8.8.8.1,177.53.142.217,200.123.45.34,182.45.23.45,192.168.0.1,172.16.0.1 $IP"
  181.  
  182.     # Concatenacao
  183.     cmd="$cmd1 $cmd2"
  184.  
  185.     # Comando
  186.     nmap $cmd > NMAP_IP/operacional_$IP.txt
  187.  
  188.     # Leitura de relatorio
  189.     cat NMAP_IP/operacional_$IP.txt | less
  190.  
  191.     # Chamada de metodo
  192.     verificador
  193. }
  194.  
  195. #################################
  196. #### Metodos Scanner de Rede ####
  197. #################################
  198.  
  199. sistemasOperacionais()
  200. {
  201.     # Entrada de dados
  202.     clear
  203.     echo ""
  204.     echo -e "\033[01;32m ------------------------- \033[01;37m"
  205.     echo -e "\033[01;36m * Sistemas Operacionais * \033[01;37m"
  206.     echo -e "\033[01;32m ------------------------- \033[01;37m"
  207.     echo ""
  208.     echo -e -n "\033[01;35m # Host: \033[01;37m"
  209.  
  210.     # Leitura dos dados
  211.     read IP
  212.  
  213.     # Comando em variavel
  214.     cmd="-f -sV -O -D $IP,8.8.8.7,8.8.8.6,8.8.8.5,6.8.8.4,8.8.8.3,8.8.8.2,8.8.8.1,177.53.142.217,200.123.45.34,182.45.23.45,192.168.0.1,172.16.0.1 $IP/24"
  215.  
  216.     # Comando
  217.     nmap $cmd > NMAP_REDE/sistemasOperacionais_$IP.txt
  218.  
  219.     # Descricoes
  220.     clear
  221.     cat NMAP_REDE/sistemasOperacionais_$IP.txt | grep -i -E "Nmap scan report for|Os details:"
  222.  
  223.     # Descricoes: Deteccao de sistema operacional [Windows]
  224.         windows=$(cat NMAP_REDE/sistemasOperacionais_$IP.txt | grep -i "OS: Windows*" | wc -l)
  225.         echo ""
  226.         echo " --- Sistemas operacionais Microsoft ---"
  227.         echo " * Windows: $windows"
  228.  
  229.     # Descricoes: Deteccao de sistema operacional [Linux]
  230.     linux=$(cat NMAP_REDE/sistemasOperacionais_$IP.txt | grep -i "Running: Linux*" | wc -l)
  231.     echo ""
  232.     echo " --- Sistemas operacionais Linux ---"
  233.     echo " * Linux: $linux"
  234.  
  235.     # Chamada de metodo
  236.     verificador
  237. }
  238.  
  239. sistemasPortas()
  240. {
  241.     # Entrada de dados
  242.     clear
  243.     echo ""
  244.     echo -e "\033[01;32m ---------------------- \033[01;37m"
  245.     echo -e "\033[01;36m * Escanner de portas * \033[01;37m"
  246.     echo -e "\033[01;32m ---------------------- \033[01;37m"
  247.     echo ""
  248.     echo -e -n "\033[01;35m # Host: \033[01;37m"
  249.     read IP
  250.     echo ""
  251.     echo -e -n "\033[01;33m # Portas [Ex: 80,135,110]: \033[01;37m"
  252.     read portas
  253.  
  254.     # Comando em variavel
  255.     cmd="-f -p $portas -sS -sV -O -open --version-intensity 9 --privileged $IP/24"
  256.  
  257.     # Comando: Nmap
  258.     nmap $cmd > NMAP_REDE/portas_$IP.txt
  259.  
  260.     # Descricoes IP
  261.     var1=$(cat NMAP_REDE/portas_$IP.txt | grep -i "Nmap scan report for")
  262.     echo ""
  263.     echo "*** IP ***"
  264.     echo "$var1"
  265.    
  266.     # Descricoes MAC
  267.     var2=$(cat NMAP_REDE/portas_$IP.txt | grep -i "MAC")
  268.     echo ""
  269.     echo "*** MAC ***"
  270.     echo "$var2"
  271.  
  272.     # Descricoes: Deteccao de sistema operacional [Windows]
  273.     var3=$(cat NMAP_REDE/portas_$IP.txt | grep -i "OS: Windows*" | wc -l)
  274.     echo ""
  275.     echo "--- OS ---"
  276.     echo "Windows: $var3"
  277.  
  278.     # Descricoes: Deteccao de sistema operacional [Linux]
  279.     var4=$(cat NMAP_REDE/portas_$IP.txt | grep -i "Running: Linux*" | wc -l)
  280.     echo ""
  281.     echo "--- OS ---"
  282.     echo "Linux: $var4"
  283.  
  284.     # Chamada de metodo
  285.     verificador
  286. }
  287.  
  288. detalhado()
  289. {
  290.     # Entrada de dados
  291.     clear
  292.         echo -e "\033[01;32m ----------------- \033[01;37m"
  293.         echo -e "\033[01;36m *   Detalhado   * \033[01;37m"
  294.         echo -e "\033[01;32m ----------------- \033[01;37m"
  295.         echo ""
  296.     echo -e -n "\033[01;35m + IP: \033[01;37m"
  297.  
  298.     # Leitura dos dados
  299.     read IP
  300.  
  301.     # Comando em variavel
  302.     cmd="-f -sV -A -O -D $IP,8.8.8.7,8.8.8.6,8.8.8.5,6.8.8.4,8.8.8.3,8.8.8.2,8.8.8.1,177.53.142.217,200.123.45.34,182.45.23.45,192.168.0.1,172.16.0.1 $IP/24"
  303.  
  304.     # Comando Nmap
  305.         nmap $cmd > NMAP_REDE/detalhado_$IP.txt
  306.        
  307.         # Relatorio detalhado
  308.         cat NMAP_REDE/detalhado_$IP.txt | less
  309. }
  310.  
  311. ############################
  312. #### Estruturas de Menu ####
  313. ############################
  314.  
  315. # Menu: Host
  316. hostMenu()
  317. {
  318.     clear
  319.     echo -e "\033[01;31m ------------------ \033[01;37m"
  320.     echo -e "\033[01;32m     NMAP - Host    \033[01;37m"
  321.     echo -e "\033[01;31m ------------------ \033[01;37m"
  322.     echo -e ""
  323.     echo -e "\033[01;33m [1] Completo        \033[01;37m"
  324.     echo -e "\033[01;35m [2] Vulnerabilidades    \033[01;37m"
  325.     echo -e "\033[01;34m [3] Sistema Operacional \033[01;37m"
  326.     echo ""
  327.     echo -e -n "\033[01;36m # Opc: \033[01;37m"
  328.         read resp
  329.  
  330.     # Estrutura de escolha
  331.     case $resp in
  332.    
  333.     1)  completo;;
  334.     2)  vulnerabilidades;;
  335.         3)  sistemaOperacional;;
  336.         *)  ;;
  337.  
  338.     esac
  339. }
  340.  
  341. # Menu: REDE
  342. netMenu()
  343. {
  344.     clear
  345.     echo -e "\033[01;31m ------------------ \033[01;37m"
  346.     echo -e "\033[01;32m     NMAP - REDE    \033[01;37m"
  347.     echo -e "\033[01;31m ------------------ \033[01;37m"
  348.     echo -e ""
  349.     echo -e "\033[01;33m [1] Pesquisar: Sistemas operacionais        \033[01;37m"
  350.     echo -e "\033[01;34m [2] Pesquisar: Sistemas operacionais X (Portas) \033[01;37m"
  351.     echo -e "\033[01;35m [3] Hosts Detalhados                \033[01;37m"
  352.     echo ""
  353.     echo -e -n "\033[01;36m # Opc: \033[01;37m"
  354.     read resp
  355.  
  356.     # Estrutura de escolha
  357.     case $resp in
  358.  
  359.     1)  sistemasOperacionais;;
  360.     2)  sistemasPortas;;
  361.     3)  detalhado;;
  362.     *)  ;;
  363.  
  364.         esac
  365. }
  366.  
  367. ##################
  368. #### Programa ####
  369. ##################
  370.  
  371. # Chamada de metodo
  372. controlador
  373.  
  374. # Estrutura em loop
  375. while ((1))
  376. do
  377.     clear
  378.     echo -e "\033[01;31m * Author: DarkProgrammer000 \033[01;37m"
  379.     echo -e "\033[01;35m # GitHub: \033[01;37m"
  380.     echo -e "\033[01;32m ============\033[01;37m"
  381.     echo -e "\033[01;36m     NMAP    \033[01;37m"
  382.     echo -e "\033[01;32m ============\033[01;37m"
  383.     echo -e ""
  384.     echo -e "\033[01;31m [1] Escaneamento de Host  \033[01;37m"
  385.     echo -e "\033[01;32m [2] Escaneamento na Rede  \033[01;37m"
  386.     echo -e "\033[01;33m [3] Sair              \033[01;37m"
  387.     echo -e ""
  388.  
  389.     # Entrada de dados
  390.     echo -e -n "\033[01;34m # Opc: \033[01;37m"
  391.     read esc
  392.  
  393.     # Estrutura em escolha
  394.     case $esc in
  395.  
  396.     1)  hostMenu;;
  397.     2)  netMenu;;
  398.     3)  exit 1;;
  399.     *)  ;;
  400.    
  401.     esac
  402. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement