This is not a solution, but it is much too long to be a comment. If a solution exists, this post gives the theoretical machinery to verify it and to narrow the search. However, I have checked a considerable number of cases without finding a solution, which suggests that there may be none, or that if there is, it will be hard to find. But at least now we can make people sad when they find an incorrect solution. :)
The knishops clearly must form a non-degenerate triangle with integer side lengths and points on the integer lattice (i.e. both $(x,y)$ coordinates are integers). These two conditions are equivalent to demanding that the knishops be the vertices of a Heronian triangle. Moreover, by the condition that every square must be reachable by one of the knishops, we can exclude any solution where two knishops have the same $x$ or $y$ coordinate - in particular, if we had the knishops at $(0,0)$, $(x,0$) and $(x',y')$, then the reflection of the last point over the line between the first two, $(x',-y')$, would have integer distances to each point and thus be uncovered. Reflecting over one of the legs of a right triangle yields a similar problem, meaning the distances between the knishops must not form a Pythagorean triple. We could take this argument further to notice that we need that the reflection of one knishop over the line between the other two must not lie on a lattice point, since the distance between the knishop and its reflection is an integer (due to Pick's theorem), and obviously so is the distance from each other knishop to the reflection - thus, if it were a lattice point, it would not be covered.
Simply applying that the Heronian triangle must be drawn on an integer lattice with no two points with the same $x$ or $y$ coordinates and going down the list of Heronian triangles on Wikipedia yields that the first suitable Heronian triangle is the one with side lengths $5$, $29$, $30$. This gives coordinates for the knishops of $(0,0)$, $(3,4)$, and $(21,-20)$. If we wanted to check for uncovered squares, we could set up three equations in integers $d_1,d_2,d_3$ being the distances of a hypothetical uncovered position $(x,y)$:
$$d_1^2=x^2+y^2$$
$$d_2^2=(x-3)^2+(y-4)^2$$
$$d_3^2=(x-21)^2+(y+20)^2$$
and wish to show that the only integer $(x,y)$ with an integer solution to the above are the positions of the knishops - that is, every other square is covered. However, we can note that by the triangle inequality, we have:
$$|d_1-d_2|\leq 5$$
$$|d_1-d_3|\leq 29$$
meaning that there are only finitely many choices of $a,b$ such that it is possible that $d_2=d_1+a$ and $d_3=d_1+b$ - in particular, we choose $a$ as an integer in $[-5,5]$ and $b$ as an integer in $[-29,29]$ yielding $649$ possible choices. However, this is finite and means that if we find every solution to
$$d_1^2=x^2+y^2$$
$$(d_1+a)^2=(x-3)^2+(y-4)^2$$
$$(d_1+b)^2=(x-21)^2+(y+20)^2$$
which is a system of $3$ independent polynomials in $3$ variables (being the intersection of $3$ hyperboloids) and hence has finitely many solutions. Thus, we can generate, using Mathematica (or your favorite software; numerical solutions suffice, since we only wish to show that something is not an integer, and rather crude bounds suffice for that), every single solution to the above equations for integer $a$ and $b$ in the proper ranges. This yields a list of uncovered squares, like $(-15,-20)$. Mathematica code follows:
CheckPair[x1_, y1_, x2_, y2_] := Module[{z, d1, d2},
d1 = Norm[{x1, y1}];
d2 = Norm[{x2, y2}];
If[! (IntegerQ[d1] && IntegerQ[d2]), Return[False]];
z = Solve[{d^2 ==
x^2 + y^2, (d + a)^2 == (x - x1)^2 + (y - y1)^2, (d +
b)^2 == (x - x2)^2 + (y - y2)^2}, {d, x, y}];
DeleteDuplicates[
Select[{Floor[x + .5], Floor[y + .5]} /.
Join @@ (Join @@
Table[N[z /. {a -> m, b -> n}], {m, -d1, d1}, {n, -d2, d2}]),
IntegerQ[Norm[#]] && IntegerQ[Norm[# - {x1, y1}]] &&
IntegerQ[Norm[# - {x2, y2}]] &]]];
where the function CheckPair takes as input the positions of two knishops relative the other (i.e. it assumes one is at $(0,0)$) and outputs a list of exceptions (or false if the input is invalid). I used this, along with a simple brute force search to figure out how to draw each triangle on a lattice, to check up to the triple $(5,51,52)$ on the list of Heronian triangles on Wikipedia. I did not find any solutions.
I have continued my computations by writing code to generate Heronian triples. I've left it running for several hours, and not found anything, but the computation becomes very slow after a point. Even filtering by the criteria in the first paragraph seems insufficient to make the brute force search feasible; additional insight will be required.