42Challenge复盘总结

从前期的信息收集,发现web端存在疑似RCE的入口尝试直接RCE反弹shell无果,发现url中存在疑似文件包含漏洞,针对中间件的日志存放路径进行测试后发现存在文件包含漏洞,使用恶意命令访问网页导致错误日志中存在我们的恶意语句,本地nc开启监听获取shell,也可以使用curl –A在访问的user-agent中添加恶意语句,但这个靶机的重点是后期的提权:

  1. 首先查看passwd文件下存在/bin/bash权限的用户

原本是以为从uid1004-1003—1002—1001—1000—0逐个提权,结果我在备份文件中找到hash之后的密码,使用john进行破解出marvin的密码marvinthemartian并且ssh登录成功。

  1. 登录marvin的ssh

从这里开始常规的提权操作,我总结为以下几点:

  1. 首先查看uname –a以及lsb_release –a 查看内核漏洞使用gcc编译后提权。

  1. 查看suid权限。

什么是suid权限?

就是在程序运行后成为进程时,属主不是发起者的权限,而是程序属主的权限。加入程序的属主时root,我们是非root并且程序被设置了suid的权限,我们可以运行这个程序并且是以属主(root)的权限运行。

我最常用的查询语句是 find / -perm –u=s –type f 2>/dev/null

        chmod u+s filename   设置SUID位

        chmod u-s filename   去掉SUID设置

查询后的操作:

  1. 通过https://gtfobins.github.io/在线查询相对应的命令
  2. 查看有没有可疑的文件,毕竟是靶机如果想让你从suid提权肯定会有可疑的文件就比如这台,存在/usr/bin/Lucas_Access文件,通过简单的调试后获取了luacs权限。
  3. 查看sudo –l ,查看哪些用户存在sudo权限。什么是sudo权限?就是可以让授权的普通用户暂时获取root用户的执行权限,我们还会在这台靶机中看到NOPASSWD这种操作,这种就是在sudo的配置信息中sudoers文件里面配置了(ALL) ALL这种规则。
  4. 通过sudo –l我们看到nano古老的编辑器存在不需要密码就可以以maria的权限执行的操作。

    针对nano编辑器提权的操作是:

  5. 打开nano然后回车进入
  6. 进入之后,Ctrl+r
  7. Ctrl+x 就可以执行命令 每次只能执行一条,执行完之后需要重新ctrl+r-ctrl+x进入执行下一条。
  8. 直接反弹nc,然后配置ssh公钥通过ssh链接。默认公钥名称为authorized_keys
  9. 借用Linux提权辅助脚本,pspy等,https://github.com/DominicBreuker/pspy,这里分为大端序和小端序的32/64位的脚本。
  10. 可以看到uid=1003在执行/home/pedro/Reporting_System_Info.sh文件,我们查看下发现/home/pedro/Reporting_System_Info.sh文件会定期运行/home/maria/Send_Reporting_Email.sh文件,但是我们没有修改的权限,只能伪造email文件让他反弹shell。

  11. 在laura用户下发现另一个py文件,这里我们无法针对py文件进行修改,但是我们可以针对python的官方库文件进行修改,使其import包含后执行py文件运行我们的恶意代码,这次的恶意代码是插入在import的库中。
  12. 最后直接sudo –l提权为root
  13. 查找subprocess库文件位置,然后进行修改。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值