bashed(命令执行+权限错误)
端口探测:
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
100/tcp filtered newacct
1500/tcp filtered vlsi-lm
…
web目录探测:
图片一:
/config.php: PHP Config file may contain database IDs and passwords.
OSVDB-3268: /dev/: Directory indexing found.
OSVDB-3092: /dev/: This might be interesting…
OSVDB-3268: /php/: Directory indexing found.
OSVDB-3092: /php/: This might be interesting…
…
在“dev/”目录下找到php文件
尝试bash -i 反弹shell,失败,bash版本不适合。尝试nc -e反弹shell,nc版本不支持-e参数。
用python成功反弹了一个shell(shell 1)给kali。
kali上监听:nc -lnvp 1234
网页上运行python命令:
1 |
|
信息搜集:
普通用户
arrexel:x:1000:1000:arrexel,,,:/home/arrexel:/bin/bash
scriptmanager:x:1001:1001:,,,:/home/scriptmanager:/bin/bash
内核版本:
Linux bashed 4.4.0-62-generic #83-Ubuntu SMP Wed Jan 18 14:10:15 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
系统版本:Ubuntu 16.04.2 LTS \n \l
有内核漏洞,但gcc没有安装。
该怎么提权呢?
现在用户是www-data
尝试cd /home/arrexel,看到了user.txt,获取到flag。。
我还以为会有forbidden权限不够的情况。。。怎么回事,权限没划分好么?
可以看到有三列,都是r——read,分别对应”文件所有者、组群、非组群“,因为非组群的权限是read,所以可读。然后再尝试下rm删除,果然”rm: cannot remove ‘a’: Permission denied“
/home/scriptmanager目录下,有个脚本,说是检查linux提权的。运行后指出了一些可以运行的exp来提权
但是没有gcc,有exp也没用啊!
sudo -u username的用法
-u username不加此参数,代表要以root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
用shell 1运行如下命令,得到shell 2
1 |
|
用sudo反弹了一个scriptmanager用户的shell。
在/scripts目录下,发现了它有root权限,于是我们在该目录下建立一个py脚本。nc -lvnp 1236
touch pri.py
1 |
|
总结:
这个实验用了很多次python反弹shell。
用sudo -u username可以用其他用户来运行命令。
本次利用的scripts文件夹会自动运行常用的脚本,从而运行我们加入的反弹shell的py脚本。
注意:用户权限设置的注释下面,有一行NOPASSWD: ALL
说明用户使用sudo
命令时,无需输入密码。