以下演示均在测试环境进行-遵守法律-维护网络安全
靶场链接:Kioptrix: Level 1.2 (#3) ~ VulnHub
靶场为单层网络,下载解压之后,直接设置网络为nat模式,kali攻击机同样设置为nat,保持两者在同一个网段即可
本次没有使用msf,msf可以提高测试效率,但是熟练POC搜索,手动利用同样重要
首先进行主机发现使用nmap
nmap 192.168.111.0/24
发现可疑主机129,对129进行详细系统指纹识别
nmap -O -p- 192.168.111.129
可以断定,系统只开启有22、和80,同时为linux系统
开有80,首先访问80端口
是一个CMS系统
首先信息收集,发现除登录页面之外,并没有发现有用信息
首先先进行目录发现
dirsearch --url http://192.168.111.129/
发现系统除了CMS系统之外还挂有/phpmyadmin
尝试访问/phpmyadmin
直接尝试弱口令登录,无果
在登录名称输入 'root# 可以登入,但是没有具体操作权限,利用常规写入反弹脚本失败
在前面信息收集时,CMS系统发现有一处登录页面,进行SQL手助,并无结果
但是页面下方指明了CMS系统所使用的系统名称,下面针对系统查找公开漏洞
并没有发现专用扫描器
Exploit Database - Exploits for Penetration Testers, Researchers, and Ethical Hackers
直接使用系统名称进行漏洞搜素,发现有两个结果
一个为远程命令执行,另一个时msf脚本
直接下载第一个,上传到kali攻击机
点进第一个poc,里面给了使用教程, 省流,直接翻到最后,前面时对msf poc的代码审计,说原理
使用方法是,在攻击机上使用nc进行监听,
使用方法,脚本后跟靶机ip,直接运行
输入监听机IP,和端口,和刚才NC设置的监听同样即可
之后选择模式为1
此时已经连接到监听机
进行提权命令
无果,没有可以利用成功的,尝试翻一下看看有没有有用信息
在/home/www/kioptrix3.com/gallery目录下有一个配置文件
里面有一处mysql配置信息,用账户密码登录 phpmyadmin
登录成功
并找到用户名和md5密码
对密码进行在线破解,得出结果
账户:loneferret 密码:starwars
目标靶机开了22 ssh端口,直接进行ssh登录
有一个ht命令,第三个 /bin/bash 是之前测试的时候添加的并不是系统自带的
其实ht命令在之前直接用poc反弹shell的时候就知道ht是有特权
但是直接使用并不能运行,ssh登录之后直接利用也是报错,经过网上查询
使用如下命令export TERM=xterm-color 之后再运行ht
sudo /usr/local/bin/ht
发现是一个文本编辑器
可以新建超级用户追加到/etc/passwd,之后进行ssh登录
利用openssh生成
openssl passwd -1 -salt admin1 123456;
生成一个用户名是 admin的密码是123456 的passwd 格式的用户;
-1 使用 md5crypt加密 -salt 指定盐为admin
生成之后组成如下命令
admin1:$1$admin1$kBcb8DdRJKeqQ2e6acZ0J0:0:0:/root:/bin/bash
再/etc/passwd 后追加,按F10保存
至此得到root权限
看了网上还有另一个方案,比这种直接添加用户的方案动静小一些,较隐蔽一些
利用ht编辑 /etc/sudoers
之后
把bash加进去,保存
之后sudo /bin/bash
同样拿到root,此方法进行权限维持较隐蔽
最后:
对登录账户密码制定复杂度、过期、更新策略,保证系统不存在弱密码
对管理页面设置防火墙策略,仅允许本地访问
对系统初始化之后,对关键配置文件进行hash,之后使用自动化工具定期监控关键配置文件是否被修改