# # This script was written by Renaud Deraison # # See the Nessus Scripts License for details # if(description) { script_id(10031); script_version ("$Revision$"); script_cve_id("CAN-1999-0647"); name["english"] = "bootparamd service"; name["francais"] = "Service bootparamd"; script_name(english:name["english"], francais:name["francais"]); desc["english"] = " The bootparamd RPC service is running. It is used by diskless clients to get the necessary information needed to boot properly. If an attacker uses the BOOTPARAMPROC_WHOAMI and provides the correct address of the client, then he will get its NIS domain back from the server. Once the attacker discovers the NIS domain name, it may easily get your NIS password file. Solution : filter incoming traffic to prevent connections to the portmapper and to the bootparam daemon, or deactivate this service if you do not use it. Risk factor : Serious"; desc["francais"] = " Le service RPC bootparamd tourne. Il est utilisé par des stations sans disque pour obtenir les informations nécéssaire à leur phase de démarrage. Si un pirate utilise la fonction BOOTPARAMPROC_WHOAMI et donne la bonne adresse du client, alors il peut obtenir le nom de votre domaine NIS. Une fois que le nom du domaine NIS est connu, il est facile de récuperer le fichier de mot de passe NIS. Solution : filtrez le traffic entrant en direction du serveur bootparamd et du portmapper RPC. Si vous n'utilisez pas bootparamd, alors désactivez-le. Facteur de risque : Sérieux"; script_description(english:desc["english"], francais:desc["francais"]); summary["english"] = "Checks the presence of a RPC service"; summary["francais"] = "Vérifie la présence d'un service RPC"; script_summary(english:summary["english"], francais:summary["francais"]); script_category(ACT_GATHER_INFO); script_copyright(english:"This script is Copyright (C) 1999 Renaud Deraison", francais:"Ce script est Copyright (C) 1999 Renaud Deraison"); family["english"] = "NIS"; family["francais"] = "NIS"; script_family(english:family["english"], francais:family["francais"]); script_dependencie("rpc_portmap.nasl"); script_require_keys("rpc/portmap"); exit(0); } # # The script code starts here # include("misc_func.inc"); RPC_PROG = 100026; tcp = 0; port = get_rpc_port(program:RPC_PROG, protocol:IPPROTO_UDP); if(!port){ port = get_rpc_port(program:RPC_PROG, protocol:IPPROTO_TCP); tcp = 1; } if(port) { set_kb_item(name:"rpc/bootparamd", value:TRUE); if(tcp)security_warning(port); else security_warning(port, protocol:"udp"); }