启动一个容器,挂载宿主机的/etc/目录,之后将反弹shell的脚本写入到/etc/crontab中,攻击机nc -vv -l -p Port会得到一个反弹的shell 因为没有公网IP,就不试了。目标机上:
时间: 2024-11-13 15:23:57 浏览: 20
在Linux系统中,启动一个容器并挂载宿主机的`/etc`目录通常需要使用Docker或者其他容器化工具,如Podman。以下是使用Docker的示例步骤:
1. **创建Dockerfile**:
首先,你需要有一个Dockerfile,它包含了必要的指令来构建镜像。例如:
```Dockerfile
FROM ubuntu:latest
RUN apt-get update && \
apt-get install -y cron openssh-server
# 挂载/etc目录
VOLUME /etc
# 将反弹shell脚本添加到/etc/crontab
ADD反弹shell脚本.sh /etc/crontab
RUN chmod +x /etc/crontab/reboundshell脚本.sh
CMD ["/usr/sbin/sshd", "-D"]
```
2. **构建镜像**:
使用`docker build`命令基于Dockerfile构建一个新的镜像:
```
docker build -t your-image-name .
```
3. **运行容器**:
创建一个容器并挂载宿主机的`/etc`目录:
```bash
docker run -d -v /host/path/to/etc:/etc your-image-name
```
4. **配置SSH监听**:
如果你想通过SSH接收反弹shell,确保容器内的SSH服务已经启用,并允许外部连接:
```bash
docker exec -it <container-id> bash
sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
service ssh restart
```
5. **监听端口**:
使用`nc`命令监听指定端口,这一步由于没有公网IP,在实际环境中无法直接测试,你可以使用`docker inspect`获取容器内部的IP地址。
```bash
docker exec -it <container-id> nc -vv -l -p Port
```
注意,这种做法存在安全隐患,因为它允许远程访问容器的root shell,只应在受控和安全的环境中操作。
阅读全文