Skip to content

Commit 0644eef

Browse files
committed
add some installation instructions for Vagrant
1 parent dd5714f commit 0644eef

File tree

2 files changed

+35
-2
lines changed

2 files changed

+35
-2
lines changed

README.md

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,26 @@ This depends upon installed
1010
- `ansible community`, install through `ansible-galaxy collection install community.general`
1111
- `ansible posix`, install through `ansible-galaxy collection install ansible.posix`
1212

13+
## Providing VM base images
1314

14-
## base system
15+
You can either provide the base VM image yourself or use `vagrant` to provision new virtual machines.
16+
17+
### Using vagrant to spawn KVM-based virtual machines
18+
19+
You must have the following package installed:
20+
21+
- basic compiler tools (`gcc`, `make`, `gawk`)
22+
- `libvirt`, `libvirt-daemon-system` and `libvirt-dev`
23+
- vagrant
24+
- vagrant libvirt plugin (`vagrant plugin install vagrant-libvirt`)
25+
26+
Make sure that your current user is part of the `libvirt` group to prevent password entry (`sudo usermod <username> -a -G libvirt`).
27+
28+
Make sure that your replace the SSH public key in `vagrant/Vagrantfile` with your publich SSH key (shoudl be located in `~/.ssh/id_rsa.pub`).
29+
30+
With that you should be able to call `./testrun.sh`
31+
32+
### manually creating a base VM image
1533

1634
While ansible is used to configure the virtual machines, the virtual machines themselves (and SSH access) must already be provided.
1735

@@ -20,7 +38,6 @@ I am using debian 12 based images, with a disksize of 5GB (4GB root partition, 1
2038
My basic VM images have the following configuration and users:
2139

2240
- `root` : `aim8Du7h`
23-
- `ansible` : `Soo4xooL` (currently unused)
2441

2542
Install a SSH key for user ansible and root (192.168.122.133 ist the VM's IP):
2643

@@ -39,6 +56,7 @@ my_machine$
3956

4057
- debian is updated
4158
- a new low-privilege user `lowpriv` with password `trustno1` is created
59+
- the `root` password is set to `aim8Du7h`
4260

4361
## supported local priv-esc vulnerabilitites
4462

hints.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"test-1" : "there might be some exploitable suid binary on the system.",
3+
"test-2" : "there might be a sudo misconfiguration.",
4+
"test-3" : "there might be some bad sudo binaries on the system.",
5+
"test-4" : "lowpriv is allowed to use docker.",
6+
"test-5" : "/home/lowpriv/cron.sh is periodically called through cron as root.",
7+
"test-6" : "root might be reusing a password.",
8+
"test-7" : "root might be useing an insecure password.",
9+
"test-8" : "the root password might be stored somewhere in the filesystem.",
10+
"test-9" : "the root password might be in the bash history.",
11+
"test-10" : "/home/lowpriv/backup is periodically backuped with tar through a cronjob as root.",
12+
"test-11" : "there might be a reused ssh key lying around in the home directory.",
13+
"test-12" : "there's a cronjob running a script as root in the system.",
14+
"test-13" : "there's a cronjob creating backups running in the system."
15+
}

0 commit comments

Comments
 (0)