This is indeed a bit quick. Once you've got a fixed vector $v$ for the subgroup $G$, you can take this as first vector in a base, and after base change (which corresponds to a conjugation $g\mapsto xgx^{-1}$) all elements of $G$ will have the form $ \begin{pmatrix} 1&*&*&\cdots&*\\ 0&*&*&\cdots&*\\ 0&*&*&\cdots&*\\ \vdots&\vdots&\vdots&\ddots&\vdots\\ 0&*&*&\cdots&*\\ \end{pmatrix} $ Now consider the subgroup (check it!) $G'$ of $\mathbb{GL}_{n-1}$ of all matrices that arise from elements of $G$ after dropping the first row and column (this amounts to considering the elements of $G$ as acting on the quotient space $k^n/\langle v\rangle$). Now $G'$ consists of unipotent matrices, so by induction on the dimension we can assume that there exists $y\in\mathbb{GL}_{n-1}$ such that $yG'y^{-1}$ consists of upper unitriangular matrices only. Now lifting $y$ to an element $\hat y\in\mathbb{GL}_n$ by adding a first row and column, with diagonal entry $1$ and all others $0$, one can check that $(\hat yx)G(\hat yx)^{-1}$ consists of upper unitriangular matrices in $\mathbb{GL}_n$ only.
A more geometric version of this argument says that after finding a fixed vector $v_1$ for $G$, we can continue to find a linearly independent vector $v_2$ that is fixed modulo $\langle v_1\rangle$ (meaning that $g(v_2)\in v_2+\langle v_1\rangle$ for all $g\in G$), which is obtained from a fixed vector in $k^n/\langle v_1\rangle$, then a linearly independent vector $v_3$ that is is fixed modulo $\langle v_1,v_2\rangle$ (obtained from a fixed vector in $k^n/\langle v_1,v_2\rangle$) and so on. In the end one obtains a basis $v_1,v_2,\ldots,v_n$ such that each subspace $\langle v_1,\ldots, v_k\rangle$ is $G$-stable (one says this is a $G$-stable flag of subspaces). Then a base change to this basis will make $G$ upper unitriangular.