Frameworks information gathering tool Vulnerability scanner Wordpress

BITSInject : Background Intelligent Transfer Service

Written by Mubassir patel


A one-click tool to inject jobs into the BITS queue (Background Intelligent Transfer Service). Use this tool to inject a job with LocalSystem rights (NT AUTHORITY\SYSTEM), and set a command line to run at session 0, as LocalSystem. This tool introduces a new undocumented way of controlling BITS jobs. The program you set as the command line will be executed by the svchost.exe that runs BITS, using CreateProcessAsUserW.

Executing this tool requires local Administrator rights.

  • This tool performs the suggested queue injection method that was presented at DEF CON 25
  • The new general technique presented allows injection and wide manipulation on the queue. This tool is using this technique specifically to gain LocalSystem execution. The injected SYSTEM job gets the properties from the given parameters


Folders in this rep:

  • \bt_templates – An 010 Editor template to parse and easily edit your desired state file.
  • \job_payloads – The base job payloads that were crafted and are edited according to the parameters you specify, before injecting to the BITS queue.
  • \state_files – Sample pre-made state files to examine or to overwrite your own.


Quick & Easy mode – to run a program as SYSTEM:

python --S "C:\\Windows\\System32\\cmd.exe"

Full Usage example:

python I_WANT_YOUR_SYSTEM c:\\temp\\exe.exe "C:\\Windows\\System32\\cmd.exe" --vol_path "\\?\Volume{417e8a50-0000-0000-0000-501f00000000}\\" --args "C:\\temp\\inputfile.txt" --localhost_server_port 8080
  • -h
  • Must run on a Windows OS to use the Microsoft Windows BITS Service. Currently supports Windows 7 and Windows 10. Support for Windows 8 not tested, can be added upon request.
  • Optionally run SimpleBITSServer in background and set the job’s RemoteURL to that server to accept a file or intentionally drive the job into the ERROR mode (explained in white paper above).
  • See references about setting a program in the command line to execute – Interactive VS non-interactive (UI0Detect)


Dor Azouri – Initial work

See also the list of contributors who participated in this project.


BSD 3 – clause “New” or “Revised” License

About the author

Mubassir patel

Mubassir is a founder and developer of this site. He is a computer science engineer. He has a very deep interest in ethical hacking, penetration testing, website development and including all technology topic.

Leave a Comment