Remote Administration Ethics

I have just finished some interesting code and I'm wondering what the ethical possibilities of such a program are, or really where it would feasibly be ethical.

The functionality just learned is as follows:

The ability to write to/read from a child process's stdin/out/err from a parent process.
Derived from this ability we can have an external program feeding characters to the parent process, and have the parent act as a medium for an invisible telnet, with additional features, such as perhaps FTP and other remote administration tools.

Now this ability has obvious blackhat possibilities. Payloads, trojans, botnets, etc. But I'm really not interested in breaking things. I'm using it for myself to work between computers (actually the program currently shares a mouse/keyboard and allows you to switch to either computer's cmd, which is quite nice, not needing two keyboards/mice, and the cmd functionality is more of a gimmick)

TLDR; What do you think about the ethical properties of an invisible telnet created by a host process?
Last edited on
Can't you just login remotely?

I don't really see what the dilemma is. The program itself has no more "ethical properties" than a length of tube; the tube itself is not the issue, but what goes through it.
I also don't see what's so invisible about it, as from you've said there's nothing keeping someone from just killing the process. Plus there's a very visible outgoing TCP/IP connection.
Ethics are based on morals, morals are an illusion we create for our selves, differing from person to person, as we try to rationalize right from wrong. I say there isn't anything ethically oriented about this. Q.E.D.

Also, so long as the end user running any of the processes involved is fully informed of the invisible telnet there is nothing wrong with this :P

xander337 wrote:
morals are an illusion we create for our selves

Hello, fellow moral relativist ;)
If you're really worried about your program being too powerful or whatever just read up on what SSH can actually do.
@all four of you:
There isn't any dilemma as to my utilization of the program. I apologize if it seemed that was the question. My question was here:

I'm wondering what the ethical possibilities of such a program are

and here
What do you think about the ethical properties of an invisible telnet created by a host process?


Now when I said possibilities I meant possible uses, not ambiguous morality.

helios wrote:
The program itself has no more "ethical properties" than a length of tube;

But not all lengths of tube are created equal, there are tubes that are used to fire bullets and there are tubes that allow little children to slide and have fun.

As far as the active TCP connection: sure, of course there's a ton of data going through- however just like with your tube analogy this relies on some outside help. Someone would have to be looking and have the knowledge of where to look to see the flow of data. Not many that this tool could be used on would know to use netstat, or wireshark, or any tool of the sort.

xander337 wrote:
Also, so long as the end user running any of the processes involved is fully informed of the invisible telnet there is nothing wrong with this :P

What about as an administration technique? I'm just thinking about possibilities outside the realm of harmful programs (for some reason this is the second of such threads that I've started, I'll probably just stop caring shortly)

Computergeek01 wrote:
If you're really worried about your program being too powerful or whatever just read up on what SSH can actually do.

I'm aware. I'm not worried about it being too powerful. I'm not really worried at all. I was just interested to see what everyone's standpoint on such tools happens to be, and what they thought the functionality could be used for.

------------------------------------------------------------------------------------------------------------------------

I'm sorry for my small rant. I just expected different responses, I hadn't thought that I had come across as a choirboy with a gun, but rather a tech with a powerful new laser. I'm also sorry for the confusion. Anyways feel free to destroy, twist, and delve deeper into my words.
- Where does it run in memory space?

- Is it capable of executing in Ring 0?

- Am I limited to the credentials of the user who is logged in?

- Does it start a seperate session?

- Is this a thread injection?

Sorry about the last post, I saw the word "Ethics" in the title and assumed it was something to do with that.
Computergeek01 wrote:
Sorry about the last post, I saw the word "Ethics" in the title and assumed it was something to do with that.


Can't tell if sarcastic...


So I'll answer seriously =]

-User Space
-No
-Depends on the system, some small privilege escalation is performed
-It can create as many sessions as you can throw at it
-No

Also In the current implementation it has the ability to do the following:

-Log keystrokes (hooks)
-Capture screenshots (simple bitmap shots) (not fast enough for screen sharing)
-Access clipboard (much easier than I thought, rather interesting story behind this one)
-Simulate key presses and mouse presses (though not in DirectX)
-Act as a Proxy (another interesting story)

With all of this I really can't think of much beyond administration where this would even be useful.

No sarcasm.

Follow up questions:

- Forgive me but act as a Proxy in what sense? Do you mean as a gateway proxy somehow?

- Clipboard access you say? Now I'm interested, if this runs in user space I'd really like to know how you pulled that off. That is if you don't mind sharing.
Ahhh good

-In this case less like a gateway proxy, more like a proxy server (this was dumb, they're the same thing...). Problem being when you're behind a firewall, ports have to be forwarded, so it lessens the real usefulness there. I suppose a gateway proxy would be feasible with a system like this:

Browser -> port 80 on local system -> local server program that is also connected to remote host -> remote host program that takes HTTP proto forwarded and acts as though it was the client all the while passing info back to the local server program on computer 1

-Ahh yes, clipboard access, I'm fairly sure no clipboard access needs admin rights to properly function. At the moment you can change it to your heart's content and take any information you want from it. Haha the reason I started working with the clipboard was for a program my boss wanted.

She's a very busy woman, and she spends a ton of time on her computer. As part of the system we use at work a ton of stuff needs to be syntactically correct, and there is a ton of typing involved. Well multiple times a day she'll be working away and not looking at her screen- unbeknownst to her, her caps-lock is on. So she ends up typing the eNTIRE tHING wITH iNVERTED cAPS LOCK. Which I can tell you she was very annoyed with. Well since this happens a ton, she looked to me for a solution.

I thought it out, I needed to write a program that was easy to use, quick, and performed the functionality of inverting caps lock (preferably with a hotkey combo). The best and most effective method I came up with was cutting the selected text to the clipboard, inverting the characters there, then pasting back into the program. So I worked towards that goal, and in a little under an hour I had a working solution! She can now select text, push ctrl+~ (why tilde? ... not sure) and her text's capitalization will magically be inverted =]

Oh and Post 1000!
Last edited on
But not all lengths of tube are created equal, there are tubes that are used to fire bullets and there are tubes that allow little children to slide and have fun.
Both of those are applications external to the tubes themselves. It's not impossible to dismantle the objects and repurpose their parts.

I was just interested to see what everyone's standpoint on such tools happens to be, and what they thought the functionality could be used for.
Oh, I see. Rather poorly phrased.
Well, yes, beyond remote administration, there aren't many legitimate applications. It's basically a less powerful but more quiet VNC.

Feature idea: allow the client to send binary data to the server and, thus, to update the server remotely.
Oh, I see. Rather poorly phrased.

Yes, yes it was.

Feature idea: allow the client to send binary data to the server and, thus, to update the server remotely.

Already implemented =]

Topic archived. No new replies allowed.