Eu não acredito que exista uma maneira "programática" de descobrir isso. Você basicamente teria que ter uma lista enorme de nomes de domínio (muito mais fácil do que você imagina) e então resolvê-los todos e colocar isso em uma tabela. Se você pensar sobre isso, a única maneira que esses sites existiriam seria 1) um DNS Um registro em algum domínio, aaaabbbb.ddd.com 2) uma diretiva virtualhost no apache que informa aos servidores qual conteúdo deve ser exibido quando solicitado por um determinado domínio
Nenhum desses métodos pode ser facilmente descoberto por entidades externas.
É muito fácil obter listas de domínios dos registros do servidor, dos registros do cliente (especialmente das pessoas que podem ter spyware), etc.