渗透测试实战4——Node靶机入侵

一、实验环境

  • 攻击机(Kali):192.168.247.149
  • 靶机(Node):192.168.247.152

二、实验步骤

一)主动信息收集

1、主机发现

2、端口扫描

3、端口版本信息

扫描结果发现靶机开启了22 ssh端口和3000端口,且3000端口开放的是http服务。

二)端口探测

  • 端口3000(http服务)

1、探测目录

因为http服务使用的是3000端口,不是默认的80端口,所以在进行目录探测时,需使用参数 ' -f ' 进行微调。

分别使用大字典和默认字典进行目录探测,都没有发现可用的目录。接下来访问目标主机的网站进行探测。

2、访问目标主机的http服务

欢迎界面如下:

点击右上角的login,使用弱口令admin,admin等尝试多次登录,登录失败。根据登录失败提示,得出不能使用“用户枚举”的方法进行爆破。

用户枚举:由于错误配置或设计缺陷,当向系统提交有效账户和无效账户时,服务器会有不同的响应。利用响应的不同,攻击者可以获取到系统已经存在的账户,可用于暴力破解,进一步获取账户的登录密码。

使用BurpSuite对登录进行抓包分析,可以看到使用密码明文传输方式,可使用暴力破解的方法进行用户名密码爆破。在这里就不进行暴力破解了。

使用目录猜解和尝试登录都没有找到突破口,那根据个人经验估计突破口肯定在js文件里。

3、查看js文件

对这些js文件进行逐一审计,发现一些可疑路径,挨个进行访问,现对含有有用信息的路径进行研究。

 

        通过这条URL得到用户名和密码,只不过密码是加密的。访问 https://www.somd5.com/,对tom、mark、rastating三个用户的密码进行解密,分别为:spongebob、snowflake(用户rastating的密码破解失败)。

 

        然后分别使用tom、mark用户名进行登录,没有发现什么有用信息,只告诉我们 " 目前只有管理员用户可以访问控制面板,但请尽快检查以测试标准用户功能! "。用户tom登录进去后的页面如下图所示。此时,需另谋出路。

        在http://192.168.247.152:3000/api/users/latest这条链接中,单词“latest”表示最新的,去掉“latest”尝试进行访问,说不定会有意想不到的收获。访问192.168.247.152:3000/api/users,发现得到了一个管理员用户。

访问 https://www.somd5.com/,对密码进行解密,得到的密码为 ' manchester '。

使用管理员用户账号 myP14ceAdm1nAcc0uNT,密码 manchester 进行登录,登录后发现可以下载网站备份。点击' Download Backup ',下载网站备份文件。

4、查看网站备份文件

由于输出内容中末尾还有 ' = ',所以该文件为Base64编码。

base64编码特征:

  • 标准base64只有64个字符(英文大小写、数字和+、/)以及用作后缀等号;
  • 等号一定用作后缀,且数目一定是0个、1个或2个。这是因为如果原文长度不能被3整除,base64要在后面添加\0凑齐3n位。为了正确还原,添加了几个\0就加上几个等号。显然添加等号的数目只能是0、1或2;

base64 -d myplace.backup > myplace.zip      //-d 解码数据

在linux中,一切都是文件。mypalce.zip的后缀名只是方便管理员去管理。

可以看到在解压该文件时,需要输入一个密码。但我们不知道密码,此时可以使用Kali自带的工具fcrackzip进行破解,通过字典猜解出密码为 ' magicword '。(为了节省时间,指定了一部分密码)

          [-b|--brute-force]                  use brute force algorithm
          [-c|--charset characterset]   use characters from charset
          [-v|--verbose]                       be more verbose
          [-p|--init-password string]    use string as initial password/file
          [-u|--use-unzip]                   use unzip to weed out wrong passwords
          file...                                    the zipfiles to crack

解压myplace.zip文件。

解压完成后直接在当前路径下(桌面)生成一个var文件。

5、查看var

这个mongodb实例指向localhost,这些凭证很可能也适合ssh访问,尝试一下。

登录成功,查看系统信息。

终极三问

6、本地提权

在Kali攻击机上查找和靶机相关的漏洞,找到一个本地提权漏洞。

将该文件上传到靶机上。由于 /tmp文件的限制小,能够将文件写入,所以将文件上传到靶机的tmp文件下。

编译该文件,并执行,可以看到提权成功。

提权成功后,就是留后门,清理痕迹,走人了,哈哈~~

猜你喜欢

转载自blog.csdn.net/weixin_43625577/article/details/89496287