blob: 59d848d460caac23c7411f4e3e038a777e777f28 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
(define-library (config ssh)
(export ssh-hosts
ssh-authorized-keys)
(import (guile)
(guix utils)
(scheme base)
(scheme load)
(guix gexp) ;plain-file
(srfi 1)
(gnu home services ssh))
(begin
;; Generate all VCE numbers from 1 to num-vces
(define (generate-openssh-hosts num-vces num-vms-per-vce)
(let ((vce-numbers (iota num-vces 1))
(vm-numbers (iota num-vms-per-vce 1)))
;; For each VCE, generate configurations for all VMs
(append-map
(lambda (vce-num)
;; For each VM number, create a configuration
(map
(lambda (vm-num)
(openssh-host (name (string-append "rt-vce" (number->string vce-num)
"-kali" (number->string vm-num)))
(user "redteam")
(host-name (string-append "172.18.6." (number->string (+ 60 vm-num))))
(identity-file "/home/robby/.ssh/redteam_key")
(proxy (list
(proxy-jump (host-name (string-append "vce" (number->string vce-num))))))
(extra-content
(string-append " DynamicForward 8888\n"
" StrictHostKeyChecking no\n"
" UserKnownHostsFile=/dev/null"))))
vm-numbers))
vce-numbers)))
(define redteam-kali-vms (generate-openssh-hosts 2 10))
(define ssh-hosts
(append (list (openssh-host (name "not-a-pi")
(host-name "10.69.0.1"))
(openssh-host (name "zoinks")
(host-name "zoinks.one"))
(openssh-host (name "lowell-makes")
(host-name "96.81.79.90")
(port 1122))
(openssh-host (name "lowell-makes-cameo2")
(host-name "cameo2")
(port 22)
(proxy (list
(proxy-jump (host-name "lowell-makes")))))
(openssh-host (name "lowell-makes-cameo")
(host-name "cameo")
(port 22)
(proxy (list
(proxy-jump (host-name "lowell-makes")))))
(openssh-host (name "lowell-makes-mogan")
(host-name "mogan")
(port 22)
(proxy (list
(proxy-jump (host-name "lowell-makes")))))
(openssh-host (name "bustelo")
(host-name "10.5.10.187")
(port 22)
(proxy (list
(proxy-jump (host-name "lowell-makes")))))
(openssh-host (name "moja")
(host-name "45.77.97.44"))
(openssh-host (name "babel")
(host-name "10.80.80.162"))
(openssh-host (name "alpha.apex")
(host-name "149.28.47.99"))
(openssh-host (name "cnyhackathon-jump")
(host-name "vce.cnyhackathon.org")
(user "rz")
(port 2210)
(extra-content
(string-append " DynamicForward 8888\n")))
(openssh-host (name "kali")
(user "redteam")
(host-name (string-append "172.18.6." (number->string (+ 60 7))))
(identity-file "/home/robby/.ssh/redteam_key")
(proxy (list
(proxy-jump (host-name "cnyhackathon-jump"))))
(extra-content
(string-append " DynamicForward 8888\n"
" StrictHostKeyChecking no\n"
" UserKnownHostsFile=/dev/null")))
(openssh-host (name "vce1")
(host-name "vce1.ncaecybergames.org")
(user "rz")
(port 2210)
(extra-content
(string-append " DynamicForward 8888\n")))
(openssh-host (name "vce2")
(host-name "vce2.ncaecybergames.org")
(user "rz")
(port 2210)
(extra-content
(string-append " DynamicForward 8888\n"))))
redteam-kali-vms))
;; Authorized keys are pulled from secrets.scm
(define ssh-authorized-keys
(let ((secrets (load (string-append (dirname (current-filename)) "/../secrets.scm"))))
(cdr (assq 'ssh-authorized-keys secrets))))))
|