xrdp サービスがインストールされた Linux docker コンテナを構築しようとしています。これにより、localhost インターフェイスだけでなく、ホスト ネットワーク eth0 ip インターフェイスを介して RDP サービスにリモート アクセスできるようになります。ここで docker ネットワーキングに欠けているものを理解し、コンテナーを適切に起動することに失敗しています。Ubuntu Linux 20.04 で実行されている Docker。テストとして、この docker コマンドを実行すると:
docker run --rm -d --network host --name my_nginx nginx
nginx がポート 80 でリッスンしており、localhost インターフェイスで公開されていることを確認しました。ブラウザーでアクセスできます。検証:
sudo netstat -tulpn | grep 80
これが、ビルドして起動しようとしている Linux コンテナーです。Dockerfile を使用して xrdp サービスを起動します。
FROM kalilinux/kali-rolling
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get -y update && apt-get -y dist-upgrade && apt-get -y autoremove && apt-get install -y wget && apt-get clean
RUN apt-get -y install vim net-tools whois netcat exploitdb man-db dirb nikto wpscan uniscan nodejs npm python3-pip tor proxychains
RUN apt-get install xrdp lxde-core lxde tigervnc-standalone-server -y
COPY ./xrdp.ini /etc/xrdp/xrdp.ini
COPY ./Xwrapper.config /etc/X11/Xwrapper.config
RUN service xrdp start
ENTRYPOINT ["/bin/bash"]
ここで、コンテナーをビルドし、次のように実行してみます。
docker run --rm -d --network host --name my_kali kali
コンテナーは実行されているようには見えず、lo または eth0 インターフェイスでリッスンしているポート 3389 がありません。コンテナーを別の方法で実行すると、Docker0 IP インターフェイス (172.17.0.2) 経由で RDP クライアントを使用してホストにアクセスできます。
docker run -ti kali
ただし、これは Docker0 プライベート ネットワーク経由で RDP サービスを公開するだけです。目標または使用例は、ホスト コンピューターの eth0 インターフェイス経由でアクセスできるコンテナーを構築することです。ユーザーはそれに RDP で接続し、GUI を使用してツールを実行できます。私がここで欠けているものについて、どんな助けも感謝しています。