Post-Exploitation
At this point, we have compromised the kiosk,
although we are still running as a limited user
and our command input method is inconvenient.
Although our gtkdialog trick was useful,
running commands and receiving instant feedback
would be much more preferable.
Although we have no build tools, no Internet access,
and the system has no terminal applications,
we may be able to better leverage gtkdialog
by building our own custom terminal.
Surprisingly, there is an actual terminal element for gtkdialog.
Sadly, The version of gtkdialog on the kiosk
is missing critical libraries used for terminal emulation.
We’ll have to find another way.
The terminal must have the ability to accept input and produce output.
There are many good examples of complex interfaces created in gtkdialog
with input and output capability.
The entry and edit elements allow user input into a single-line text box
or large text field, respectively, and both can produce output.
The text element, which displays static text,
can produce output as well.
Let’s use these, and other elements, to build our interactive shell.