网络攻防实战 lab05 靶机 VulnHub IndiShell Lab: Billu_b0x

地址发现

arp-scan -l

1

得到地址为 10.0.2.6

端口发现与服务版本探测

nmap -p- 10.0.2.6
nmap -p22,80 -sC -sV 10.0.2.6

探测到 22 端口有 SSH 服务,80 端口有 http 服务。

2

访问 80 端口服务

访问 10.0.2.6:80 发现是一个登录页面,需要用户名和密码,上面写着 Show me your sql skill,所以应该是有 sql 注入。

尝试经典的注入后以失败告终,暂时放过去。

尝试 clumbster attack

用 burpsuite 尝试暴力破解用户名和密码,但是普通版的 burpsuite 破解速度太慢,未能成功。

对靶机目录爆破

我知道的有 dirbdisearch 两种工具(还有其他),dirb 适合简单测试,速度快但是功能不丰富,disearch 适合深度渗透测试,功能丰富但是速度慢且对网站抗压要求较高。

dirb http://10.0.2.6:80

发现了一些目录和文件,一个个尝试过去,发现如下信息:

  • add:一个上传图片的程序
  • in:一个有系统版本信息的网站
  • index:登陆页面
  • images:一些图片
  • test:请求后反馈没有 file 参数

3

利用任意文件下载漏洞

在最后一个 test 文件寻找突破口。我们通过 burpsuite 拦截后给予它 file 参数,发现竟然能够获得 file 文件的内容。这是一个任意文件下载漏洞。

4

查看 index.php 源码并利用 sql 注入漏洞

我们回想起刚才网页暗示有 sql 注入漏洞,于是我们通过任意文件下载漏洞,查看 index.php 是如何处理用户名和密码的。

发现是这样:

$uname=str_replace('\'','',urldecode($_POST['un']));
$pass=str_replace('\'','',urldecode($_POST['ps']));
$run='select * from auth where  pass=\''.$pass.'\' and uname=\''.$uname.'\'';
$result = mysqli_query($conn, $run);

然后搜集资料,找到一个可行的 sql 注入漏洞,让用户名密码都为 or 1=1 #" / =\

用图片伪装 php 木马并上传

登录以后,发现有两个选项:Show UsersAdd Users,其中 Show Users 会展示已有的用户和图片,而 Add User 则可以添加用户和图片。

我们发现,右键打开图片的链接,图片存储在一个 uploaded_images 的文件夹下,那么我们把一个木马病毒伪装成图片上传,再通过某种方式在靶机上运行这个病毒,即可获取靶机的命令行了。

<? php system($_GET["cmd"]); ?>

但是,在上传图片的时候,发现图片会被严格地检查,我们直接查看 panel.php 看看前端是如何检查的。

5

首先会检查文件后缀名,然后还会检查文件头。因此我们使用 gif 的文件头 GIF89A 伪装这是一个 gif 文件,这样就可以通过检测了。

利用任意文件执行漏洞

接下来我们要执行这个病毒。我们知道,Show Users 里面肯定会有加载图片的代码,所以查看 panel.php 中加载图片的代码具体是什么样的。

image

所以,只需要把 load 参数设置成 load=uploaded_images/b.jpg,其中 b.jpg 是木马病毒文件的名字,即可。

同时,因为木马是 GET 请求的,在请求头上加入 ?cmd=ls 来验证是否成功。

7

随后加入反弹 shell 指令即可获得一个低权限的 cmd。

利用内核漏洞提权

最后,使用 lsb_release 找到 Linux 内核的版本,并在 searchsploit 上寻找对应的渗透代码即可获得 root 权限。

image

posted @ 2025-11-09 12:13  哼唧昂叽  阅读(32)  评论(0)    收藏  举报