Session:查看已经建立的连接
Job:查看哪些模块处于运行状态

Payload的生成:

Generate命令直接生成paylaod:
MSF学习第二天
避免坏字符:(\x00等等坏字符)
MSF学习第二天
并不是直接去掉坏字符,而是采用编码的方式。Encoder:x86/shikata_ga_nai
MSF学习第二天
-e:指定编码模板
-i:编码5轮
-x:加载一个模板,这样shellcode就会夹在模板软件当中一起运行。
-f:输出文件类型
-o:文件保存位置

举个栗子:
在目标机器上执行生成的shellcode:
MSF学习第二天
运行程序之后,4444端口被监听:
MSF学习第二天
然后连接shellcode:
MSF学习第二天
NOP:no-operation / Next Operation(无任何操作)
-EIP返回到存储NOP sled的任意地址时将递增,最终导致shellcode执行
当CPU指令执行到在这个字符时,会自动执行到下一个指令。常用于填充payload。

Meterpreter:
    1、 高级、动态、可扩展的Payload
    2、 完全基于内存的DLL注入式payload
        a) 注入合法系统进程并建立stager
        b) 基于stager上传和预加载DLL进行扩展模块的注入
        c) 基于stager建立的socket连接建立加密的TLS/1.0通信隧道
         d) 利用通信隧道进一步加载后续扩展模块(避免网络取证)
    3、 服务端使用C语言编写

Meterpreter的使用入门:
1、 采用之前的方式生成一个meterpreter的shellcode,然后本地使用multi模块监听端口,获取反弹的shell。

MSF学习第二天
2、 常用命令:
Hashdump:获取SAM文件的hash值
MSF学习第二天

Pwd:查看你当前路径
MSF学习第二天
Dir与ls :列目录
MSF学习第二天
查看系统文件:
MSF学习第二天
Run和bgrun :运行一些命令(bgrun在后台运行)
MSF学习第二天
举个栗子:bgrun killav 关闭系统的杀软
MSF学习第二天
域环境下,枚举计算机:

MSF学习第二天
Getuid:查看用户身份
MSF学习第二天
Getsystem:提升权限:
MSF学习第二天
Getprivs:获取当前用户可执行的权限:
MSF学习第二天
Clearev:清除系统日志
MSF学习第二天MSF学习第二天
Download:文件下载,存储位置为lpwd的路径
MSF学习第二天
获取payload当前注入在哪一个进程,并尝试进程迁移:
MSF学习第二天
Kill杀死进程:
MSF学习第二天
Upload文件上传:
MSF学习第二天
MSF学习第二天
Execute执行文件:
MSF学习第二天
3、 附清单:
MSF学习第二天

相关文章: