Vulnhub-Lazysysadmin

这是一个VulnHub的靶机
下载链接在这里LazySysAdmin

提示点:

  • 信息枚举
  • 再加把劲

靶机难度:简单

我记得我很久之前打过一次这个靶机,但是当时完全没有接触过渗透,就完全是看着网络上的writeup去做的,就当是体验流程?

这一次,再打的时候,已经完全忘光细节了,但是这一次全程靠自己不看writeup打完了。成就感比当时第一次打的大多了:)

信息收集

上来先进行一次nmap扫描

nmap

目标机器开放了smb服务,也有网站。

这里我先访问了一次网页,但是什么都没发现,所以扫目录看有没有新的东西

dir-

hey!可以看到有wordpress博客,进去看了一圈只有一个文章。

togie

可以猜测系统里面有一个用户名为togie,网站的管理员帐号为Admin

转了一圈,没发现什么,使用nmap枚举smb

smb-enum

可以发现都是允许匿名用户登录,并且都是拥有可读权限的。而且share$这个分享目录看起来像是指向了网站的根目录,说不定我们能在里面找到我们需要的东西

smb

果不其然,登录之后会发现就是网站根目录,网站根目录一般都会有数据库的配置信息,所以我们可以找一下。
wordpress-dir
进入wordpress目录后会发现有个wp-config.php文件,

可以下载下来,也可以直接查看内容

wp-config.php

此时我们已经拿到数据库的密码了,去使用这个密码看能不能登录wordpress后台和phpmyadmin
wp-admin

事实证明是可以的,如果能登录数据库,却不能登录网站后台的话,那也别慌。因为我们已经有了数据库的权限了,那么改个网站管理员的密码岂不是so easy?

接下来要研究怎么上传web-shell

wordpress后台上传web-shell有几种办法,但是wordpress的媒体上传是有安全检测机制的,所以如果上传遇到其他的文件好像都会禁止上传的

no-upload

我就没在这里钻牛角尖了,所以我去尝试其他方法了。

因为wordpress是允许管理员修改主题模板的php文件的,而且也允许管理员安装主题,安装插件什么的。所以我们就可以考虑直接在主题的404.php上面插入一句话,或者安装一个主题,里面打包我们的web-shell插件同理。

去下载一个免费的主题包,然后把我们的webshell打包进去,里面的1.php就是我们的shell
themes-shell

安装主题成功。

install-theme

nc开启监听端口,网页访问

192.168.56.111/wordpress/wp-content/themes/astra/1.php=ip/wordpress/wp-content/themes/主题名/webshell.php

get-web-shell

可以看到,我们已经拿到web-shell了。

提权

拿到webshell之后,我枚举了系统信息,访问了togie用户目录下的文件,但都一无所获。一点提权思路都没有,正当我想放弃去看看wirteup时突然想起这个靶机的名字是Lazysysadmin,我心想,是不是我在网站根目录下错过了什么东西?

抱着这一想法,我从网站开始重新下手,找线索。果不其然,我确实是漏掉了一个文件没有查看…

wocao

Remember to remove this file and update your password after we push out the server.

怪不得靶机名是Lazysysadmin

尝试使用这个密码ssh连接togie…果不其然。。

ssh

接下来没什么好说的,因为togie用户拥有sudo的所有权限,而且我们知道togie的密码。。

那么我们可以直接sudo bash shell给我们。

rbash-error

因为这个用户默认使用的是rbash,会提示这个报错。所以手动打开bash 然后反弹一个shell给我们

did_it

因为togie用户拥有sudo的所有权限,其实我们上一步也可以省略。

直接sudo cat /root/proof.txt也是一样的。

所以其实上传web-shell的那一步也可以省略,,因为smb目录里面就有那个存放密码的文件..

总结

学会了wordpress后台上传web-shell的两种办法

  • 打包插件,植入web-shell,安装
  • 打包主题,植入web-shell,安装
  • 直接修改主题模板文件 404.php

而且信息收集很重要~!!!!!

我是把简单的问题,复杂化了。
anxie