0x00 环境搭建
靶场地址:http://www.vulnhub.com/entry/vulnos-2,147/
下载之后用 VBoxManage.exe 将 .vdi 格式转换成 .vmdk 格式,用 VMware 打开:
VboxManage.exe clonehd 原文件.vdi 目标文件.vmdk --format VMDK
以桥接模式开机后搭建完成:
0x01 主机端口探测
用arp-scan -l
探测内网存活主机,再用nmap -sV -p- ip
来探测端口:
发现开放了 22端口(SSH服务)、80端口(HTTP服务)、6667端口(一款多平台上可使用的IRC守护程序)
0x02 web渗透
访问80端口:
发现有一个连接,访问发现有一个登陆地址(文字是黑色的,选中可以看到):
访问登录地址,发现使用的是opendocman v1.2.7系统:
利用kali查看有没有可用漏洞:
查询发现有可以利用的漏洞:
利用sql注入,构造payload:http://192.168.1.112/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user%20UNION%20SELECT%201,version%28%29,3,4,5,6,7,8,9
用sqlmap跑出账号密码:
MD5解密:
webmin / webmin1980
guest / guest
0x03 getshell
使用webadmin账号用ssh远程登陆:
成功拿到shell,但是可以看到权限不高:
0x04 Linux内核提权
当获取到地权限的shell后我们通常做下面几件事:
- 查看操作系统的发行版本;
- 查看内核版本;
- 检测当前用户权限;
- 列举suid文件;
- 查看已经安装的包、程序、运行的服务,过期的版本可能存在漏洞。
查看系统发性版本(lsb_release -a
)和内核版本(uname -a
)
内核版本 linux 3.13.0,查看有没有可以提权的exp:
将exp上传到靶机:
gcc编译一下(gcc 37292.c -o exp
),如果编译后的文件没有执行权限则需要chomd 777 ./exp
赋予权限
执行程序,提权成功
获取flag:
现在已经获得了root权限,接下来可以获取交互式shell:python -c 'import pty;pty.spawn("/bin/bash")'
整体流程如下:
靶机 => 主机端口探测 => web渗透 => sql注入找到账户密码 => ssh登录 => 内核提权 => 找到flag
最后核心提示:内核提权有风险,可能导致系统崩溃
参考链接:
https://blog.csdn.net/shenyu_1126/article/details/111188731(VulnHub-VulnOS: 2-靶机渗透学习)