"I know the kanji already."
In English, clearly you're talking about a particular Chinese character, or something particular written in kanji.
But in Japanese, without 'sono,' I think 'kanji o shitte imasu' may sound like you're saying you know all kanji..... Right?
(I tripped up here, too.)
English has the same ambiguity "I know the kanji already" could mean that you know all of them or maybe just all of those needed for a test, or maybe just one in particular. The difference expressed by その is that you're referring to that or those kanji (one or more is still ambiguous in Japanese).
That is, the ones which are closer, conceptually or physically to the listener, maybe because they mentioned them, or maybe because they have a sheet of paper with a bunch of kanji on it, or maybe they're standing closer to a sign than you.
It is somewhat relevant here that the particle is は and not を - that has a very subtle effect of contrasting 漢字 against whatever else you might be discussing. So maybe you know all the kanji for the test, but there's still stuff you need to study. (Or maybe not, but you set yourself up for the question a bit.) If the sentence were 漢字はもう知っています it would leave open the possibility as well that we should translate it as "a kanji" or "some kanji", but that's not guaranteed. We're just restricting the scope of discussion to kanji and then saying "already know" and everything else is left to context.
Once you use この, その, or あの you're certainly referring to specific kanji (so "the" is better than "a") but you're doing it in a way that specifies the relationship to the listener and speaker. So it's like "this" or "these" or "that" or "those". English doesn't have separate words for その and あの - "that" would get used for both. あの is for when the thing is far from both the listener and speaker.