Respostas
Resposta:
Não existe uma melhor linguagem para isso, tudo depende do seu alvo e o que quer fazer, as linguagens nativas vão sempre ser as melhores escolhas na hora de um alvo específico.
Você pode usar desde C/C++ e Assembly à até mesmo linguagens de script como javascript.
Resposta:
Tendo como parâmetro os malwares atuais, a maioria são escritos em Python. Se tu tem vontade de aprender, recomendo começar por lógica de programação em Python. Mas mais importante que programação para desenvolver um malware, é o seu conhecimento de Redes. Tu precisa saber no mínimo IPv4, IPv6, TCP, UDP, ICMP, Ethernet, ARP e NDP e Modelo OSI.
Para o desenvolvimento de um malware em si recomendo os livros:
Análise de Tráfego em Redes TCP/IP,
Testes de Invasão: uma Introdução Prática ao Hacking,
Técnicas de Invasão: Aprenda as técnicas usadas por hackers em invasões reais.
Como ambiente de teste, você pode usar qualquer versão do Linux, mas para essa prática, a melhor distribuição linux é o Kali Linux.
Sempre tenha em mente, a ética deve vir em primeiro lugar.