This is exactly the same as Polish. It's probably the same in a lot of Slavic languages.
I translated "Кто там?" as "Who's there?" and it was marked incorrect, with the "correct" translation given as "Who's there?" Go figure!
Doesn't там require genitive? So why isn't it 'кого там'? Or is it because it is an expression?
Там just means " there" ( opposed to "тут" ) and has never required genitive. If you say "там никого нет" the genitive is because of "нет".
Doesn't там require genitive?
It doesn't. "Кто" is the subject of the sentence, and the grammatical saubject is always in the nominative.