Commit Graph

342 Commits

Author SHA1 Message Date
MaxXor 3fc03a7788 More send & receive fixes for client & server 2015-06-10 19:33:02 +02:00
MaxXor 8284da5830 Small fix 2015-06-07 16:50:37 +02:00
MaxXor 83ec8c2a87 Added improvements to client 2015-06-07 16:35:30 +02:00
MaxXor 70618e91cb Improved memory management in server
- Fixed handling packets wih payload bigger than the buffersize of the
receiving socket
- Added locks to FileSplit class
2015-06-07 16:28:33 +02:00
MaxXor 3bdd5aa294 Implemented pooled buffer manager to socket 2015-06-05 23:07:37 +02:00
MaxXor 58b2c2d2d4 Fixed getting startup items with same name 2015-06-03 15:18:37 +02:00
MaxXor 172e266fbe Improved Startup Items exception handling 2015-06-03 14:41:39 +02:00
MaxXor 810d631129 Improved OS display name 2015-06-03 14:41:02 +02:00
MaxXor dc5bef821e Fixed getting startup entries from client 2015-06-03 07:50:38 +02:00
MaxXor 7d153c416c Added safe way to open subkey with write access 2015-06-02 20:38:44 +02:00
MaxXor 253507a613 Fixed registry key access (#256) 2015-06-02 20:33:37 +02:00
MaxXor f1934058a0 Improved Registry Access in Client 2015-06-02 20:15:36 +02:00
yankejustin 172359262a Correctly get entries 2015-06-02 13:50:56 -04:00
yankejustin 59599759be Throw a more meaningful exception
For those that like to see the type of exception thrown, this makes it
more clear and meaningful.
2015-06-02 13:34:05 -04:00
yankejustin 38acb88aab Added another RegistryKey extension method
This makes the code more readable and the intent more obvious.
2015-06-02 13:29:42 -04:00
yankejustin 901cbd3a64 Add to the dictionary correctly 2015-06-02 13:18:02 -04:00
yankejustin c8b9258183 More documentation on a RegistryKey extension
Added some more documentation for the GetFormattedKeyValues extension
method.
2015-06-02 13:17:02 -04:00
yankejustin fab38a8b9a Added RegistryKey Extensions/Helpers
Added RegistryKey Extensions/Helper methods. Cleaned up and improved
HandleGetStartupItems.
2015-06-02 13:14:32 -04:00
MaxXor 8face0ab0c Fixed #249 2015-05-31 20:52:03 +02:00
MaxXor 3ff0b38585 Added #245
Improved client & server
closes #245
2015-05-31 19:22:00 +02:00
MaxXor 6a4125cf18 Added more documentation to Client 2015-05-30 09:23:35 +02:00
yankejustin 0dc2bd7b6f Added documentation for the Client's client
Added documentation for the Client's client object.
2015-05-29 20:16:45 -04:00
MaxXor 24673509c5 Partial fix #231 2015-05-29 00:25:40 +02:00
MaxXor 163c828fbc Fixed Shell cmd.exe process not correctly exited
#232
2015-05-27 23:10:40 +02:00
MaxXor 9d29ed9803 Merged changes from master 2015-05-27 22:49:00 +02:00
MaxXor 47de4f8aa0 Small corrections 2015-05-27 22:46:07 +02:00
yankejustin 9bddb0ffd5 Initialize ManualResetEvents in the constructor
If something recoverable goes wrong in the shell, we must make sure that
we reset the ManualResetEvents so the chained output functions
correctly.
2015-05-27 15:44:32 -04:00
yankejustin d402d7833f Fixed client breaking on shell close
Fixed a situation where a break in the output-handler chain would not
correctly terminate, causing an exception to be thrown.
2015-05-27 15:37:07 -04:00
yankejustin 5c4525eb69 Changes to Dispose(bool)
Changes to how the shell is disposed.
2015-05-27 14:50:24 -04:00
yankejustin be78162f63 Changes to output handling of commands
Added an "IsError" property to the ShellCommandResponse to denote if the
response should be handled a certain way (if it is a response to a
ShellCommand error, then print it differently).
Also correctly queues up two different threads on shell initialization.
These ManualResetEvents now will signal the Shell's redirected output to
handle either the output, or the error output. Not at the same time
(will cause deadlocking).
We now append the text instead of concatenating. Not sure how much more
efficient this is, but it is certainly more readable.
2015-05-27 14:46:10 -04:00
MaxXor 8d32c58901 Removed newly added unused reference 2015-05-27 19:38:07 +02:00
yankejustin 16ad740862 Screen length check
Come to think of it, if there isn't a screen in the array, we shouldn't
use it! heh
2015-05-27 12:38:50 -04:00
yankejustin 0685ab44dc Improved HandleMonitors
For some strange reason, this line wasn't in the last commit!
2015-05-27 12:38:00 -04:00
yankejustin 849638fd1b Various Remote Desktop Fixes
Handle Monitors is more reliable.
Re-wrote some of HandleRemoteDesktop to produce more accurate behavior.
2015-05-27 12:36:37 -04:00
MaxXor bceaf04811 Added Removing of Programs from Autostart 2015-05-26 23:11:16 +02:00
MaxXor bda545c614 Fixed Add to Autostart Command 2015-05-26 22:02:56 +02:00
DragonzMaster 1faafaa814 Startup Manger Fix [Client]
Changed CurrentUser to LocalMachine
As these values located in LocalMachine NOT CurrentUser
2015-05-26 20:36:14 +02:00
MaxXor 36ac738e43 Minor Uninstall fix
- Add to Autostart again when already installed #205
2015-05-26 18:28:15 +02:00
MaxXor 381dad6a24 Fix #205 (Uninstall fix)
- Moved some Command-Handling methods to their correct location
2015-05-26 18:14:24 +02:00
MaxXor 5e4905fec2 Prevent Keylogger writing when Client disconnects 2015-05-26 18:11:50 +02:00
MaxXor c9facfc295 Added #121 (Update from File)
closes #121
2015-05-26 15:55:52 +02:00
MaxXor 2e146620dd Fixed #118 2015-05-26 14:16:19 +02:00
d3agle 989cd5c664 Keylogger special key fix 2015-05-26 00:38:29 -05:00
MaxXor e2d2b704fa Keylogger Special Char Fix #2 2015-05-25 17:06:23 +02:00
MaxXor 1f469151c4 Keylogger Special Char Fix
thanks deagle #194
2015-05-25 16:15:25 +02:00
d3agle 49c6a0a58a #194 fix
Bear in mind this does not fix the Alt Gr keypresses.  Pressing this key will still produce the same symbols/behaviors when the keylogger is not enabled.

What this fix does: we are receiving the character value for a KeyPress and we are handling it by ignoring it if any modifier keys are set.  In this case "Ctrl + Alt" which I will be trying to accomplish in a later fix (if I can figure out how to do this).

For example, a user with a german keyboard layout presses (Ctrl + alt + 2), which is the same as AltGr + 2, the call to our PressedKeys list will do the following

-check if key modifiers are set
-check if the list contains a key with a character value that is comparable to a key

If the key is  a normal character, for example user presses (Ctrl + Alt + k) on a german keyboard layout, the result would be true and the method would return, ignoring appending the character 'k' to the log

If the key is not a normal character that is comparable to the value of a Key, our call will fall through to the next call, and add the character that is returned.  For example, user presses (Ctrl + Alt + 2) to produce the special character, the Keys enum values won't contain a key with that symbol and our list won't either so it will fall through and print the special character
2015-05-25 06:55:28 -05:00
d3agle b932d96981 [Keylogger] Add time to Window Title #195 2015-05-25 06:14:16 -05:00
MaxXor 80aca909c9 Added extension methods to Keylogger 2015-05-25 11:55:41 +02:00
d3agle 0b72067435 IndexOutOfBoundsException fix 2015-05-25 03:44:18 -05:00
MaxXor ed1548a36f Small cleanup 2015-05-24 23:17:21 +02:00
MaxXor 80b2f6677b Better detection for holding a key
ref #149 (this displays ^^ normally)

fixed with the power of LINQ ;)
2015-05-24 19:47:43 +02:00
d3agle 4efef7c9c2 Removed unnecessary return 2015-05-24 11:45:25 -05:00
d3agle 63a3a61d74 moved instantiation of stringbuilder into null check 2015-05-24 10:40:12 -05:00
d3agle 3a8405a1e7 Dead-key fix #2
Fixed dead-key issue (pressing dead key followed by shift + key)  This
is now working flawlessly

Code refactors
2015-05-24 10:29:26 -05:00
d3agle 8344140d8a dead-key fix
Fixed case of pressing dead-key to accent characters followed by Shift +
character to present an uppercase character
2015-05-24 07:12:51 -05:00
MaxXor fd7e2724f7 Merged fix from globalmousekeyhook/master
Fix #181
2015-05-24 10:56:47 +02:00
d3agle 48584290bf Possible dead-key fix 2015-05-23 19:43:58 -05:00
d3agle b27981ddf4 Keylogger fixes
-Fixed spaces showing up in weird orders.

-Fixed issue where pressing some modifier keys would append the KeyPress
events text prior to the Appended highlighted text from the KeyDown
event.  Example:  User presses Windows Key + R.  it would log "r[Win +
[R]"
2015-05-23 19:25:13 -05:00
MaxXor a3612448a6 Fixed small mistake 2015-05-23 19:53:57 +02:00
d3agle d38d4d5ef4 Some changes to keylogger
added escape key
added keypress list to detect multiple keypresses for characters
moved modifier key check to a method for readability
2015-05-23 12:00:36 -05:00
MaxXor 6c32e861f4 Changed Window Titles printing in Logger 2015-05-23 18:03:03 +02:00
MaxXor 8965a4e801 Improved Logger
Fixed unprintable chars in logfile
2015-05-23 17:54:24 +02:00
MaxXor a095495da0 Small DLLImport changes
#176
2015-05-23 16:00:29 +02:00
MaxXor 16001801dc Added Keylogger Helper 2015-05-23 15:57:38 +02:00
MaxXor 6e2716466b Small changes to improve the code 2015-05-23 14:24:31 +02:00
MaxXor 32c7cda0c5 Merge pull request #178 from d3agle/dev
Message loop fix
2015-05-23 14:22:16 +02:00
d3agle 0efb64adef Message loop fix
Fixed the message loop, called Application.Run in the thread and not the
object, using ApplicationContext object we can identify which thread to
tell the message loop to return
2015-05-23 07:09:55 -05:00
MaxXor 45070631a9 Better handling of special keys 2015-05-23 13:30:57 +02:00
d3agle a9986b45e1 method declaration 2015-05-23 05:50:06 -05:00
d3agle 60c38de767 Added window titles to log & revert code format 2015-05-23 05:32:18 -05:00
d3agle c234eb94d4 Format fixes
fixed formatting in both code, and in display of html logs

added extra line-break after log header
2015-05-23 05:09:00 -05:00
MaxXor add1247037 Fixed XSS vulnerability in Keylogger HTML Logs 2015-05-23 10:41:17 +02:00
MaxXor a27293a0eb Merge pull request #172 from yankejustin/Keylogger
Keylogger Changes
2015-05-23 09:48:43 +02:00
yankejustin dd85289fc5 Documentation for the Logger
Added a small amount of documentation for the Logger's constructor.
2015-05-23 00:50:25 -04:00
yankejustin 33435e4fab Immensely reduced log sizes
By using a style class to denote text that should be highlighted, we can
change the color in one spot of we desired instead of having to change
it in many spots. Also, the file size is much smaller because of the
significantly-lower amount of text necessary to save.
2015-05-23 00:05:17 -04:00
yankejustin 9748ed381d Refractored the OnKeyDown event 2015-05-22 23:47:50 -04:00
yankejustin c6e29f6405 Modified implementation of Dispose
The finalizer really should only be a safe-guard for ensuring that the
keylogger unsubscribes from the hook.
2015-05-22 23:24:28 -04:00
MaxXor 23a4389157 Merge small change 2015-05-22 22:52:47 +02:00
MaxXor 9d293a7574 Merge branch 'master' into dev 2015-05-22 22:47:12 +02:00
MaxXor 6a6b253c0e Added extension methods 2015-05-22 22:12:30 +02:00
MaxXor 8ec1ec1947 Changed Target Framework to 3.5 Client Profile 2015-05-22 21:09:54 +02:00
d3agle df27608f7b Revert method name change
added some more comments
2015-05-22 09:15:33 -05:00
d3agle da63edc4c5 Initial key handling logic 2015-05-22 00:53:09 -05:00
MaxXor a18e799f9a Merge pull request #162 from MaxXor/pr/161
Code Improvements
2015-05-21 20:55:15 +02:00
MaxXor 92eb35647b Removed unused method 2015-05-21 20:54:32 +02:00
MaxXor 4fe601a87b Small changes to code 2015-05-21 20:35:57 +02:00
yankejustin 792a9fc83f Don't dispose bmpRes
It is not GetDiffDesktop's responsibility to dispose of bmpRes. Just
call UnlockBits, then return the Bitmap.
2015-05-21 12:29:15 -04:00
yankejustin de3db663e9 Significant memory leak reduction
Remote Desktop now leaks significantly less memory on the Client.
GetDiffDesktop was unlocking bits only if an exception was thrown!
2015-05-21 12:27:43 -04:00
yankejustin d100c47091 More meaningful exception for Client Helper
More meaningful exception is thrown for the Client's Helper class'
GetDiffDesktop method.
2015-05-21 12:16:18 -04:00
yankejustin 8b20dee5e1 More meaningful exceptions
FileSplit provides more meaningful exceptions.
2015-05-21 12:12:02 -04:00
MaxXor 951936e876 Improved mouse input for multiple monitors 2015-05-21 18:00:21 +02:00
MaxXor 28f3fe1a58 Merge pull request #158 from yankejustin/Keylogger
Keylogger update
2015-05-21 17:43:03 +02:00
d3agle 3ed53465bf Changes to keylogger
Made a few changes, added some comments for some considerations
2015-05-21 09:34:06 -05:00
UbbeLoL 6f316655dd Add support for mouse input for multiple monitors 2015-05-21 10:32:24 +02:00
yankejustin ae4b1f44de Implemented gmamaladze's logic
Implemented gmamaladze's logic into the Keylogger. Still needs work on
the way it outputs. See additional notes in
https://github.com/MaxXor/xRAT/issues/149
2015-05-20 11:50:47 -04:00
yankejustin d022e55cc7 Slight performance boost
Break out of the loop when a subtype's derived type is found to match.
2015-05-20 09:52:26 -04:00
MaxXor 2d025eea09 Merge branch 'master' into dev 2015-05-20 09:24:22 +02:00
yankejustin ce61f3dcfe Possible fix
Should fix https://github.com/MaxXor/xRAT/issues/153
2015-05-19 20:43:42 -04:00
yankejustin 07751c833a Transition stage
Modified a few things... Saving current spot to for major content
additions.
2015-05-19 19:19:45 -04:00
yankejustin 5d36ff44ac Added hook id type 2015-05-19 17:32:55 -04:00