我正在尝试在自己的Dockerfile
配置中使用Docker metasploit image:
FROM metasploitframework/metasploit-framework
WORKDIR /usr/src/my-awesome-tool
COPY . .
RUN pip3 install --upgrade pip
RUN pip3 install --editable .
RUN echo 'alias msfconsole="/usr/src/metasploit-framework/msfconsole"' >> ~/.bashrc
RUN echo 'alias msfvenom=/usr/src/metasploit-framework/msfvenom"' >> ~/.bashrc
# The metasploit-framework docker image needs to stay here.
WORKDIR /usr/src/metasploit-framework
ENTRYPOINT ["my-awesome-tool"]
该图像是使用sudo docker build -t my-awesome-tool .
完美创建的,我以sudo docker run -it --rm --privileged --network=host my-awesome-tool
的身份运行,但是,如果我检查是否创建了别名msfconsole
,则不是。
答案 0 :(得分:1)
首先,您应该将用户添加到docker组,而不是一直使用sudo。
显然,图像确实更改了入口点。 .bashrc
文件被写入root
,我们无法在运行时访问该文件,与构建时相比,运行时我们是不同的用户。我尝试将阿拉斯写到/etc/profile
,但没有被采纳。在不更改图像入口点的情况下,最简单的解决方案可能与此类似:
RUN echo "alias msfconsole='/usr/src/metasploit-framework/msfconsole'" >>/usr/src/metasploit-framework/.profile
RUN echo "alias msfvenom='/usr/src/metasploit-framework/msfvenom'" >>/usr/src/metasploit-framework/.profile
并在启动时运行. .profile
。