mirror of
https://github.com/quasar/Quasar.git
synced 2026-04-25 15:25:59 +03:00
[GH-ISSUE #612] Question: has anyone tried or succeeded at converting the client into a Windows Service? #367
Labels
No labels
bug
bug
cant-reproduce
discussion
duplicate
easy
enhancement
help wanted
improvement
invalid
need more info
pull-request
question
wont-add
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/Quasar#367
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @seancroberts on GitHub (Jun 21, 2017).
Original GitHub issue: https://github.com/quasar/Quasar/issues/612
I have rights sufficient to install Windows Services on my company's computers, and I already have code that can launch executables as local system or as logged on use.
I also have my service set to interact with the desktop.
Can anyone think if a reason why the client.exe could not be turned into a Service?
@santoshcxs commented on GitHub (Jul 11, 2017):
Due to windows service starts as Local System user, which has no access for the UI, we cannot convert Client.exe to a service
@seancroberts commented on GitHub (Jul 11, 2017):
I have been learning about sessions and workstations and desktops, and there are API calls that let me access the desktop of the logged on user.
There is another API that lets me use the security of the local system account (no need to elevate because, as a service, it's already elevated).
So as long as my service is set to interact with the desktop, I can use it to (remotely) run a program, either in the security context of the logged on user, OR as the local system account.
If you want code samples, please let me know :)
On Jul 11, 2017 5:09 AM, santoshcxs notifications@github.com wrote:
Due to windows service starts as Local System user, which has no access for the UI.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/quasar/QuasarRAT/issues/612#issuecomment-314382312, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AP6yZm-AyOwt0zU3ShNusdY57-ZpD-k8ks5sMzuYgaJpZM4OAwNz.
@seancroberts commented on GitHub (Jul 11, 2017):
Look up WTS API calls and look up winsta0
On Jul 11, 2017 5:09 AM, santoshcxs notifications@github.com wrote:
Due to windows service starts as Local System user, which has no access for the UI.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/quasar/QuasarRAT/issues/612#issuecomment-314382312, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AP6yZm-AyOwt0zU3ShNusdY57-ZpD-k8ks5sMzuYgaJpZM4OAwNz.
@santoshcxs commented on GitHub (Jul 11, 2017):
Please provide me code samples and reference URLs if any. I need to implement the client as windows service.
@seancroberts commented on GitHub (Jul 11, 2017):
While I have made edits, the credit for this code goes to: Pero Matićhttps://www.codeproject.com/script/Membership/View.aspx?mid=1298714, 22 Apr 2009 and it is documented in CodeProject, here:
https://www.codeproject.com/Articles/35773/Subverting-Vista-UAC-in-Both-and-bit-Archite
Here’s the code for running as local system or as user, on the desktop of the currently logged on user:
@seancroberts commented on GitHub (Jul 11, 2017):
Oops – I sent that too soon – I need to add in the API calls… Whatever I have not listed here, you can find at the CodeProject URL I sent in my last e-mail.
@seancroberts commented on GitHub (Jul 11, 2017):
What I would REALLY love\appreciate is help implementing a remote-desktop feature from this service.
I have code for most of this, but would appreciate it if anyone can\will collaborate with me.
I can also share lots of WMI code I have that affects remote machines without having to install a client:
@seancroberts commented on GitHub (Jul 11, 2017):
So, in short, here are my goals:
- both run programs (elevated and interactive), and
- instantiate an instance of the QuasarRAT client object.
When the service is started, it accepts command-line arguments including the host name and IP address of the machine which installed the service, and that tell the client where to attempt to connect.
What I am working on now is trying to think of a way to convert what exists (a list view which shows all clients connected) to really only managing one machine at a time.
That means I would:
** Oh, also, I had to take out code in the client piece that allowed for the renaming and hiding of the client.exe – that was triggering Windows Defender.
Sorry for sending so much, but I have been working on this project for more than 2 years, all alone and unsupported, so I would LOVE some collaboration or at least someone\someones with whom to share ideas and knowledge.
@yankejustin commented on GitHub (Jul 11, 2017):
Wow... Impressive UI changes.
Have you considered committing your changes to source control for us or are you keeping it private?
I'd be willing to see what I can do.
@seancroberts commented on GitHub (Jul 11, 2017):
I would be more than happy to provide any\all code and UI development, but first I think we need to reconcile the basic difference between how my app works and how Quasar RAT works – specifically, RAT shows the list of clients which have connected, while I focus on choosing one target computer at a time, and performing actions on\against it.
The majority of my remote functions don’t require installation of a client\service on the target, so I would only need to do that for certain functions.
Also, I don’t rely on install\uninstall scripts, I install my remote service programmatically from the main app form – since the account used to run it is (by AD security group) already a local admin on all target computers.
I am not necessarily opposed to changing my tool to show the same kind of selection listview RAT does, but once a target computer connected, I would want to change to a form\screen that looks generally like mine does now.
I’ve been through several iterations of interfaces, trying to get to the simplest, easiest to understand UI I can possibly provide.
The folks using this tool where I work run the gamut from HIGHLY technical to “I was promoted from desk-side support, and I am just learning” – which means things that may be intuitive to me\us (navigating a tree, using a wizard, drilling-down) are not for them.
Oh, and I would need to make sure that the code I end up with does not have any aspect of keylogging, recovering passwords, hiding\renaming its own .exe, nor accessing or activating webcams.
Those things would be forbidden where I work.
In exchange (and it doesn’t have to be an equal exchange) for providing my code and UI elements, I would ask for some help\collaboration.
Is that do-able?
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10
From: Justin Yankemailto:notifications@github.com
Sent: Tuesday, July 11, 2017 12:34 PM
To: quasar/QuasarRATmailto:QuasarRAT@noreply.github.com
Cc: seancrobertsmailto:sean_c_roberts@hotmail.com; Authormailto:author@noreply.github.com
Subject: Re: [quasar/QuasarRAT] Question: has anyone tried or succeeded at converting the client into a Windows Service? (#612)
Wow... Impressive UI changes.
Have you considered committing your changes to source control for us or are you keeping it private?
I'd be willing to see what I can do.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/quasar/QuasarRAT/issues/612#issuecomment-314500651, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AP6yZjsahFvUqxZYORDKFj_E7za7llFsks5sM6P4gaJpZM4OAwNz.
@seancroberts commented on GitHub (Jul 11, 2017):
A quick thought for you all - I see that you rolled your own Explorer... why not make use of the Windows API Code pack's ExplorerBrowser? That's what I did - the only thing it's missing in my version is the inclusion of search - and I would love to share what I have if we can work together to add searching.
Below is NOT Explorer.exe embedded in a form - it is the actual ExplorerBrowser component from the WIndows API Code pack. I imported all the classes and code so I could have this Explorer without having to add MS dll's to my project.
An added benefit of using this component is that, in environments that have Explorer.exe locked down so that it can't see other computers' drives, this explorer is not from Explorer.exe, and so it does not get affected by that policy!
Explorer as an MDI child:

Explorer maximized:

Two instances of Explorer for a Norton Commander-type look and feel:

@seancroberts commented on GitHub (Jul 13, 2017):
So, does anyone want to work together\collaborate?
@54D-R0807 commented on GitHub (Jul 14, 2017):
I would love to help. Unfortunately I cannot code (yet). I want to learn to code and collaborate with this project.
What I can do right now, is offer myself for testing purposes and giving feedback. I have a lot of old machines (and VMs) I can use as a testing lab. I already have Visual Studio Community Edition 2017 set up and testet a few features of QuasarRAT.
I personally am aiming to use this project for business purposes, so striping out the black hat parts (key logging/surveillance etc.) is also in my interest (and mandatory).
Never the less, I think giving the dev/admin/user of these tools the ability, to decide for themselves what they stripe out should be kept in mind. So the Plug-In system, mentioned here https://github.com/quasar/QuasarRAT/issues/534 should be considered to be adapted.
Here are a few of my skills that might come in handy for this project:
@seancroberts commented on GitHub (Jul 14, 2017):
That is very kind of you, thank you.
May we start a discussion with this topic?
What would be the best (we can define this as we go) way to integrate or consolidate the two methods used by our programs into one UI.
At the moment, the Quasar RAT shows a listview of machines on which the client .exe has been installed.
My application looks to select one computer at a time, via AD dialog or history.
Should the first screen by a use be one of these types of approaches? Both? If both, how would you combine them (look at feel)?
Also, if this is not the appropriate forum\method to have a discussion like this, please accept my apology and tell me how\where I should hold it.
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10
From: Sad Robotmailto:notifications@github.com
Sent: Friday, July 14, 2017 4:23 AM
To: quasar/QuasarRATmailto:QuasarRAT@noreply.github.com
Cc: seancrobertsmailto:sean_c_roberts@hotmail.com; Authormailto:author@noreply.github.com
Subject: Re: [quasar/QuasarRAT] Question: has anyone tried or succeeded at converting the client into a Windows Service? (#612)
I would love to help. Unfortunately I cannot code (yet). I want to learn to code and collaborate with this project.
What I can do right now, is offer myself for testing purposes and giving feedback. I have a lot of old machines (and VMs) I can use as a testing lab. I already have Visual Studio Community Edition 2017 set up and testet a few features of QuasarRAT.
I personally am aiming to use this project for business purposes, so striping out the black hat parts (key logging/surveillance etc.) is also in my interest (and mandatory).
Never the less, I think giving the dev/admin/user of these tools the ability, to decide for themselves what they stripe out should be kept in mind. So the Plug-In system, mentioned here https://github.com/quasar/QuasarRAT/issues/534 should be considered to be adapted.
Here are a few of my skills that might come in handy for this project:
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/quasar/QuasarRAT/issues/612#issuecomment-315301800, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AP6yZksMmB0_AL3jzyNOxUEsLxZMyY0fks5sNyVggaJpZM4OAwNz.
@MaxXor commented on GitHub (Jul 21, 2023):
Closed in favor of https://github.com/quasar/Quasar/issues/1199