EntityDefinition is a decent start (experiment with the WHERE clause, there are way more tables even in vanilla SF than you think)
SELECT KeyPrefix, QualifiedApiName, Label, IsQueryable, IsDeprecatedAndHidden, IsCustomSetting
FROM EntityDefinition
WHERE IsCustomizable = true AND IsCustomSetting = false