靶机环境下载地址:https://www.vulnhub.com/entry/ica-1,748/
信息收集
使用nmap进行端口扫描
发现22、80、3306端口开放
这里应该意识到大概率需要通过去数据库中查询用户名和密码
首先访问80端口查看网站页面
发现是一共登录页面,没有注册,随便点击发现没有什么有用的地方
于是开始扫目录
漏洞利用
发现了这些目录,在core目录下的config中发现了database.yml文件
与数据库有关,于是查看
得到了用户名和密码
username:qdpmadmin
password:UcVQCMQk2STVeS6J
通过这个用户名和密码进行MySQL数据库远程的登录
mysql -h 192.168.1.8 -uqdpmadmin -pUcVQCMQk2STVeS6J
登录成功后发现有
这些数据库,通过查找
在qdpm数据库中的user表为空;
mysql数据库中user表中
select User from user\G;
发现这些用户名
但是没有密码
再次切换数据库。
在staff数据库中的user表中发现了用户名
在login表中发现了密码
将上面所有找到的用户名写入user.txt文件中,将密码写入pass.txt文件中
通过hydra进行ssh爆破
第一次爆破结束后,发现没有爆破出来。。。
这就很迷了
发现用户名中复制过去都首字母大写,于是将所有用户名都重写再写入了一遍,改为小写。
再次爆破
hydra -L user.txt -P pass.txt 192.168.1.8 -vV -o hydra.txt ssh
发现爆破出两组
login: travis password: DJceVy98W28Y7wLg
login: dexter password: 7ZwV4qtg42cmUXGX
通过travis用户去登录ssh
发现home中存在一个user.txt文件
cat user.txt
得到第一个flag
之后想要查看另外的dexter用户的home目录,发现被拒绝
提权
于是更换用户登录
在home也发现一个note.txt
但是没有什么作用,到处查找之后发现还是需要提权
find / -perm -4000 2>/dev/null
发现opt目录下存在一个get_access文件比较陌生,估计这个有点用
进入目录后先运行了一下
发现会显示系统的一些信息
通过cat查看
出现乱码
再通过strings查看
发现存在cat的命令去查看系统信息,这个在root目录下,因此这个文件执行时应该会有root权限,可以利用
由于cat没有写绝对路径
于是我们可以自己写一个cat文件来执行达到提权的目的
原本想在opt目录下写入,但没权限,回到家目录
ehco '/bin/bash' > cat
写入一个假的 cat 文件
然后执行
export PATH=.:$PATH
将当前目录写入到环境命令
最后执行命令
chmod +X cat
为 cat 赋予执行权限
然后进行执行
成功获得root权限
在root目录下得到第二个flag