누구 (Nu-gu) – Who
누가 (Nu-ga) – Who (subject)
누구의 (Nu-gu-e) – Whose
누구를 (Nu-gu-reul) – Whom
There is virtually no difference between 누구 and 누가 because 누가 is the abbreviation of 누구+가.
누구가/누가 (more commonly used) places emphasis on the “who” being the subject of the sentence.
You can use 누구 and 누가 interchangeably but you would use 누가 if there are multiple subjects/objects in the sentence.
누구의 is the possessive form of “who” so it just means “whose”.
누구를 means “whom”, which is usually the object of the sentence.