Bulldog-1
Bulldog: 1
easyNo.11
目标: get into the root directory and see the congratulatory message.
提示: if you get stuck, try to figure out all the different ways you can interact with the system. That’s my only hint ;)
妙妙工具:
python -c 'import pty; pty.spawn("/bin/bash")'
¶环境配置
- kali: 192.168.56.5
- target: 192.168.56.22
¶信息收集
nmap
nmap -sS 192.168.56.0/24 |
访问80端口(8080和80的内容似乎是一样的, 就不管了), 大意是我们被黑客入侵了, 目前正在评估风险; 访问公告, 发现来自技术人员的提示clam shell and a smelly cow
看着像是在说脏牛漏洞, 另一个不知道是什么
进行目录扫描
[23:05:21] 301 - 0B - /admin |
/admin
是后台登录界面, /robots.txt
没东西
/dev/
像是给员工的公告, 解释了上一个黑客入侵的方法和他们之后要做什么:
- 上一个入侵者利用漏洞获取低权限shell然后脏牛提权, 虽然他们要彻底取消php, 但是他们还在用之前的文件, 所以这个是可能的提权点
- 他自己说的开放了SSH, 网站用的Django, 数据库似乎启用的MongoDB
- 给了一个Web-Shell接口, 提示需要进行服务器身份验证后才能使用接口
- 给了一些练习人名称, 扒拉下来可能要爆破用户
- 查看源码, 发现前端中给出了对应用户的密码哈希值
有哈希值, 其他地方又没有利用方法, 那就只能爆破哈希值了
可以拿到最后的两个md5的明文, 利用对应的用户名和密码进行登录; 其中一个账号密码如下: nick : bulldog
¶getshell
登陆之后, 之前的Web-Shell就可以使用了
很显然这里有waf, 只能执行部分命令; 但是管道符和反引号执行命令是非常好的东西
echo `ls` |
¶信息收集
# 系统信息 Linux bulldog 4.4.0-87-generic #110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux |
看看能不能切换用户
# 看看有没有其他用户, 有一个bulldogadmin |
尝试直接进入用户文件夹/home/bullaodadmin
, 成功
进入隐藏文件夹.hiddenadmindirectory
, 里面有一个程序?还有一个note, 这个note大概意思是: 这个程序还是原型, 主要功能为输入你的账户密码,它就会判断你是否有权访问某个文件
我们没有账号密码(似乎可以爆破), 下载似乎不行; 回头一想, 既然只是一个未完成的程序, 应该会直接将鉴权内容写在程序中(没有数据库等交互), 可能是某个账户的密码
来看看这个程序中有什么字符串吧
strings customPermissionApp |
可以看到这里是通过先自程序自身提权到root权限然后再进行判断的, 那么这里可以获取的字符串大概率是root的密码或者是sudo的密码
跑了一遍, 发现都不对, 应该是被混淆了, 这个看上去像是提示?
去掉H后是SUPERultimatePASSWORDyouCANTget
, 你无法得到的终极密码, 那就是你了
提权前先用python创建一个新的会话才能提权, 就用最上面的妙妙工具即可
python -c 'import pty; pty.spawn("/bin/bash")'
¶提权
和程序里面的步骤一致即可
sudo su root |
看看sudo -l
会发现可以在任何位置执行sudo, 要不是没有密码早就爆了
尝试了一些提权脚本, 没成功; 不管了, 反正拿到root目录下的flag就好了
¶附录
alan@bulldogindustries.com |
获取到bullaodadmin用户之后, 可以尝试爆破, 我字典差, 爆不出来
hydra -s 23 -l 用户名 -P 字典 ssh://192.168.56.22 |