本篇文章仅具有教学意义,测试环境为内网虚拟机(Kali Linux)对靶机(DarkHole2)渗透,如有不法分子使用此文章的内容命令对公网进行渗透,与本文章作者无关,如有发现,请及时举报。
1.对靶机进行初步渗透
在对目标机进行提权前,我们可以先对目标机进行漏洞检测(git源码泄露)来解密登录账号和密码。
首先,我们要运用kali Linux系统自带的工具对网段进行探测去发现靶机,因为是在内网进行渗透,所以扫描的IP就为本机IP,所以可以在kali Linux系统中的命令行输入下方代码来获取本地IP:
通过命令我们获取到以太网的第一个接口eth0,我们要对此接口进行扫描:
扫描结果显示如下:
运行此代码时我们需要获取最高root权限,运行以下代码来进入root管理权限:
sudo su
扫描结果中,第三行网段就是DarkHole2的IP地址,获得到地址后,我们要用dirsearch目录扫描工具扫描目录,在安装dirsearch前建议先更新在安装(都需要在超级(root)用户中运行)
apt-get update --更新 apt-get install dirsearch --安装dirsearch
安装完成后,我们可以运行dirsearch扫描目录:
扫描结果:
扫描目录完成后,可以看到网站确实有git漏洞,接下来我们要使用Githack工具还原工程源代码,首先先用pip下载Githack
pip install githack
安装完后,输入命令:
githack 192.168.171.134/.git/
运行后,githack会在site文件夹中生成一个以192.168.171.134命名的文件夹,文件夹的内容:
可以根据里面的内容寻找漏洞,如果找不到,可以在site文件夹下运行以下命令:
git Log --获取日志
结果如下:
我们可以继续使用以下代码:
git diff a4d900a8d85e8938d3601f3cef113ee293028e10
这次我们可以查看具体修改的内容:
红色代码中,显示出网站的账号和密码,我们可以直接登录
2.运用SQLMAP注入工具盗取数据
到此为止,我们只是登陆了靶机的网站,但我们没有获得对靶机的控制权,所以我们还要运用其他手段来破开目标的“家门”
我们可以直接使用命令:
sqlmap -u "http://192.168.171.134/dashboard.php?id=1" --cookie PHPSESSID=mmknei8vk425misl4kkj82cs9d --dbs
运行结果:
这时我们可以看到,我们获得了靶机的数据库名,这时候我们就可以通过这些数据库名去获取账号和密码:
sqlmap -u "http://192.168.171.134/dashboard.php?id=1" --cookie PHPSESSID=mmknei8vk425misl4kkj82cs9d -D darkhole_2 --dbs --batch --dump
运行结果:
我们可以看到,刚才我们用.git源码泄露漏洞获得的账号和密码也展示了出来(下方大表格),上方小表格是ssh服务所运用的账号和密码(注意:密码和账号的顺序换了)
使用ssh远程运行jehad账户:
这时,我们登录了jehad的账号,这时我们可以输入sudo -l查看目前账号的权限:
3.计划任务、sudo滥用和Python建立反弹shell连接提权
我们没有足够的权限去执行命令,我们可以运用下图的命令来收集靶机的信息
这里我们运用第二个命令来列出所有的用户信息:
这里我们可以看到有许多的用户,目前我们的权限等级太低,所以我们要获取更高一级的权限,我们可以运用计划任务提权来进行提权:
运行结果:
我们可以看到许多计划任务,我们可以根据计划任务来进行两种提权:
1.找到计划任务的记录,观察是否存在高风险命令从而提权
2.查看计划任务是否可以通过普通永久修改去修改里面的内容
我们通过此命令,找到了index.php文件,我们打开文件:
最后一条计划任务是由losy用户运行的任务,也就是运行的index.php文件,他是用9999端口来运行的网站,只能在losy本机下打开网页,所以我们要获取index.php中的内容
这三行代码中,有一个可运行代码, 我们可以通过curl命令:
这时我们就拿到了losy用户,之后我们再次对losy'用户进行信息的收集。
我们可以通过查看历史记录来获得信息:
可以知道,在.bash_history下有历史记录,通过命令我们可以查看:
运行结果:
获取losy的密码:gang,可以运用ssh服务远程登录losy用户
我们再次使用sudo -l来查看权限
现在我们只有使用root用户运行python3的命令,正是我们有权限,所以我们可以使用sudo滥用来提权:
这样我们就运行了python,我们在运用python代码来进行提权
import os os.system("bash")
这样我们就直接获得交互式的窗口,获取了root权限
这样我们就基本上已经操控了这台靶机了 。这只是简单的渗透测试,现实中的网站不会破解的这么轻松,所以本文章只用于初级教学,如有不法分子使用此文章的内容命令对公网进行渗透,与本文章作者无关,如有发现,请及时举报。