Added Roadmap

This commit is contained in:
MaxXor 2018-07-03 20:02:25 +02:00
parent a9e52ac2d6
commit ae84898d8b
3 changed files with 66 additions and 34 deletions

View File

@ -1,6 +1,6 @@
#QuasarRAT Changelog
# QuasarRAT Changelog
##Quasar v1.3.0.0 [28.09.2016]
## Quasar v1.3.0.0 [28.09.2016]
* Added Registry Editor
* Added Remote Webcam
* Added Windows DPI scaling support
@ -18,7 +18,7 @@
* Fixed Client loses Administrator privileges on restart
* Some minor improvements
##Quasar v1.2.0.0 [12.10.2015]
## Quasar v1.2.0.0 [12.10.2015]
* Added Client restart on unhandled exceptions
* Added additional settings to Keylogger (set/hide log-directory)
* Added encrypted Keylogger logs
@ -32,7 +32,7 @@
* Fixed Remote Desktop lagging with mouse input and maximized window
* Some minor improvements
##Quasar v1.1.0.0 [30.08.2015]
## Quasar v1.1.0.0 [30.08.2015]
* **Changed Target Framework to .NET Framework 4.0 Client Profile**
* Added deletion of ZoneIdentifier file when installing
* Improved Client installation error handling
@ -55,11 +55,11 @@
* Fixed Client registry access
* Removed Statistics window, will be remade in a later version
##Quasar v1.0.0.0 [22.08.2015]
## Quasar v1.0.0.0 [22.08.2015]
* **xRAT is now Quasar**
* Added Password Recovery (Common Browsers and FTP Clients)
* Added Server compatiblity with Mono (Server now runs on Linux with Mono installed)
* Client Builder works also on Linux/Mono
* Client Builder works also on Linux/Mono
* Added ability to upload batch files
* Added Client support for multiple hosts
* Added maximum simultaneous file downloads/uploads (current max: 2)

View File

@ -1,13 +1,12 @@
QuasarRAT
=========
[![Build status](https://ci.appveyor.com/api/projects/status/5857hfy6r1ltb5f2?svg=true)](https://ci.appveyor.com/project/MaxXor/quasarrat) [![License](http://img.shields.io/badge/license-MIT-green.svg)](https://github.com/quasar/QuasarRAT/blob/master/LICENSE)
# QuasarRAT
[![Build status](https://ci.appveyor.com/api/projects/status/5857hfy6r1ltb5f2?svg=true)](https://ci.appveyor.com/project/MaxXor/quasarrat) [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
**Free, Open-Source Remote Administration Tool for Windows**
Quasar is a fast and light-weight remote administration tool coded in C#. Providing high stability and an easy-to-use user interface, Quasar is the perfect remote administration solution for you.
Features
---
## Features
* TCP network stream (IPv4 & IPv6 support)
* Fast network serialization (NetSerializer)
* Compressed (QuickLZ) & Encrypted (AES-128) communication
@ -31,8 +30,7 @@ Features
* Password Recovery (Common Browsers and FTP Clients)
* Registry Editor
Requirements
---
## Requirements
* .NET Framework 4.0 Client Profile ([Download](https://www.microsoft.com/en-us/download/details.aspx?id=24872))
* Supported Operating Systems (32- and 64-bit)
* Windows XP SP3
@ -44,8 +42,7 @@ Requirements
* Windows 8/8.1
* Windows 10
Compiling
---
## Compiling
Open the project in Visual Studio and click build, or use one of the batch files included in the root directory.
| Batch file | Description
@ -53,31 +50,25 @@ Open the project in Visual Studio and click build, or use one of the batch files
| build-debug.bat | Builds the application using the debug configuration (for testing)
| build-release.bat | Builds the application using the release configuration (for publishing)
Building a client
---
## Building a client
| Build configuration | Description
| ----------------------------|:-------------
| debug configuration | The pre-defined [Settings.cs](/Client/Config/Settings.cs) will be used. The client builder does not work in this configuration. You can execute the client directly with the specified settings.
| release configuration | Use the client builder to build your client otherwise it is going to crash.
ToDo
---
## ToDo
* [Open Issues](https://github.com/quasar/QuasarRAT/issues)
Contributing
---
See [CONTRIBUTING.md](/CONTRIBUTING.md)
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md)
License
---
See [LICENSE](/LICENSE)
## Roadmap
See [ROADMAP.md](ROADMAP.md)
Donate
---
Bitcoin: `17eAafhEYnxmnj2nQ92tDFdDzATL27gcj`
## License
See [LICENSE](LICENSE)
Credits
---
## Third-party libraries
NetSerializer
Copyright (c) 2015 Tomi Valkeinen
https://github.com/tomba/netserializer
@ -91,13 +82,14 @@ Copyright (c) 2004-2015 George Mamaladze
https://github.com/gmamaladze/globalmousekeyhook
Mono.Cecil
Copyright (c) 2008 - 2015 Jb Evain, Copyright (c) 2008 - 2011 Novell, Inc.
Copyright (c) 2008 - 2015 Jb Evain
Copyright (c) 2008 - 2011 Novell, Inc.
https://github.com/jbevain/cecil
Mono.Nat
Copyright (c) 2006 Alan McGovern, Copyright (c) 2007 Ben Motmans
Copyright (c) 2006 Alan McGovern
Copyright (c) 2007 Ben Motmans
https://github.com/nterry/Mono.Nat
Thank you!
---
## Thank you!
I really appreciate all kinds of feedback and contributions. Thanks for using and supporting Quasar!

40
ROADMAP.md Normal file
View File

@ -0,0 +1,40 @@
# Quasar Roadmap
## Network communication layer abstraction
At the moment the command handling is tightly coupled to the WinForms. This should be decoupled and the WinForms when opened have to register callbacks in the CommandHandler. Use dedicated command handler where the WinForms register their callbacks to get notified when a command is received. This also flattens the way for a plugin system in the future.
## Add HTTP API to the server
With a new HTTP JSON API it will be possible to create a web interface for Quasar. Remote desktop could also work via websockets.
## Switch serialization to Protocol Buffers (protobuf)
Protocol Buffers is a well supported serialization format which makes it easier to implement clients in different programming languages. Additionally it provides versioning information of serialized data which may get useful with different releases of Quasar communicating with each other.
## Transparent communication protocol
To open up the way for Quasar clients in different programming languages the communication protocol needs to be clearly specified and documented.
## Use TLS with client certificates instead of password for authentication
TLS replaces the self-made encryption of the network communication. The server should create a certificate at the first startup and use that to authentificate itself to new clients. When building a new client, a client certificate will be created and signed by the server. The server will only allow client certificates which are signed by the server certificate.
## Command line (CLI) version of the server
It would be quite handy if the Quasar server could be a .NET Core CLI program which can run as a daemon in the background of Windows, MacOS or Linux.
## Use NuGet or gitmodules for referenced libraries
NuGet/gitmodules helps updating the referenced libraries in an easy way instead of using a binary.
## Refactor graphical user interface (GUI) of the server
WPF as GUI framework would drastically improve rendering performance of the remote desktop with the hardware accelerated rendering. WPF uses DirectX if available unlike WinForms which stick to rendering the controls in the message loop of the window.
## Use a shared library for classes that both server and client have in common
This removes a lot of duplicated code which is error prone once someone forgets to change it in one place.
## Remove features such as password recovery
Features which could get abused too easily should get removed from Quasar.
## Allow different types of clients (permissioned clients)
Allow clients with higher privileges (i.e. ability to administrate other lower privileged clients) connect to the server. This change would allow administrators to manage clients from their own computers with a lightweight client without having to run the server.
## Allow client to be installed as Windows service
Currently the client is installed on a per-user basis and this makes it unflexible to remotly manage the machine when the user is not logged in. it also requires the client to be installed for every account who uses the machine. Machines which are used by multiple users would greatly benefit when Quasar could be run as a Windows service.
## Basic client GUI
Add a basic GUI to the client to allow the user at any time to check the status if a specific feature is active. Additionally it can show a notification when the client gets installed or when someone requests permission to use remote desktop (similar to teamviewer).