|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Temas - RadicalEd
1
« en: Lunes 27 de Marzo de 2017, 19:02 »
Un script shell para crear un PPK desde Linux, sin necesidad de usar el puttygen de Windows #!/bin/bash # RadicalEd # Genera clave de conexión ssh y archivo ppk RED='\033[0;31m' GREEN='\033[1;32m' BLUE='\033[1;34m' NC='\033[0m' DIRSSH="$HOME/.ssh/" DIRPPK="$HOME/Documentos/proyectos/ppk/" # Se verifica si existe la carpeta donde se guardarán los ppk if ! [ -d ${DIRPPK} ]; then printf "La carpeta ${BLUE}${DIRPPK}${NC} no existe, será creada!\n\n" mkdir -p "${DIRPPK}" fi # Se comprobará si existen los programas ssh-keygen y puttygen if ! [ -x "/usr/bin/puttygen" ]; then echo "Se debe tener instalado el programa puttygen" fi if ! [ -x "/usr/bin/ssh-keygen" ]; then echo "Se debe tener instalado el programa ssh-keygen" fi # En caso de que no pasen el usuario en los parametros se captura usuario=$1 if [ -z ${usuario} ]; then echo -n "Nombre de usuario del servidor ssh: " read usuario fi echo "Se creará clave ssh y archivo ppk para el usuario ${GREEN} $usuario ${NC}" # Generación de la clave pública y ppk ssh-keygen -t dsa -C $usuario -f ${DIRSSH}$usuario -q -N "" puttygen ${DIRSSH}$usuario -o ${DIRSSH}$usuario.ppk # Se guarda en el path de los ppk mv ${DIRSSH}$usuario.ppk $DIRPPK # Si desea entrar por ssh, se creará un alias en el bashrc echo -n "Desea crear un alias-ssh para entrar por consola (si/no)?: " read aliassh if [ "$aliassh" = "si" ]; then echo -n "IP o nombre de servidor: " read servidor echo "alias ssh$usuario='ssh -i $HOME/.ssh/$usuario $usuario@$servidor'" >> $HOME/.bashrc #source $HOME/.bashrc #exec bash printf "\nSe creó un nuevo alias, lo puedes usar con el comando ${GREEN}ssh$usuario${NC}\n\nRecuerda que antes de poder usar el alias, " fi # Copiar contenido de la llave pública para copiar al servidor printf "debes copiar la siguiente llave en tu servidor $servidor\n\n$usuario:" cat ${DIRSSH}$usuario.pub # Se elimina la clave pública creada rm -f ${DIRSSH}$usuario.pub exec bash
2
« en: Jueves 23 de Marzo de 2017, 15:04 »
Hace rato no posteo nada en mi amado SoloCodigo, les adjunto auditorias para bases de datos PostgreSQL y MySQL, la segunda es una mamera. Si se puede mejorar, sobre todo la parte del MySQL, seré feliz PostgreSQLTabla CREATE TABLE auditoria ( fecha_cambio TIMESTAMP WITH TIME zone DEFAULT now(), nombre_disparador text, tipo_disparador text, nivel_disparador text, comando text, tabla text, old_info text, new_info text ) WITH ( OIDS=FALSE ); ALTER TABLE auditoria OWNER TO postgres;
Función (Stored Procedure) CREATE OR REPLACE FUNCTION sp_auditoria_log() RETURNS TRIGGER AS $BODY$ DECLARE BEGIN IF (TG_OP = 'DELETE') THEN INSERT INTO auditoria (nombre_disparador,tipo_disparador,nivel_disparador,comando,tabla,old_info,new_info) VALUES (TG_NAME,TG_WHEN,TG_LEVEL,TG_OP,TG_TABLE_NAME,OLD,NULL); RETURN OLD; ELSIF (TG_OP = 'UPDATE') THEN INSERT INTO auditoria (nombre_disparador,tipo_disparador,nivel_disparador,comando,tabla,old_info,new_info) VALUES (TG_NAME,TG_WHEN,TG_LEVEL,TG_OP,TG_TABLE_NAME,OLD,NEW); RETURN NEW; ELSIF (TG_OP = 'INSERT') THEN INSERT INTO auditoria (nombre_disparador,tipo_disparador,nivel_disparador,comando,tabla,old_info,new_info) VALUES (TG_NAME,TG_WHEN,TG_LEVEL,TG_OP,TG_TABLE_NAME,NULL,NEW); RETURN NEW; END IF; RETURN NULL; END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION tg_auditoria_log() OWNER TO postgres;
Trigger CREATE TRIGGER tg_disparador_nombre_tabla AFTER INSERT OR UPDATE OR DELETE ON nombre_tabla FOR EACH ROW EXECUTE PROCEDURE sp_auditoria_log();
MySQLTabla CREATE TABLE auditoria ( fecha_cambio DATETIME NOT NULL DEFAULT NOW() , nombre_disparador VARCHAR(30) NOT NULL, tipo_disparador VARCHAR(15) NOT NULL, nivel_disparador VARCHAR(15) NOT NULL, comando VARCHAR(45) NOT NULL, tabla VARCHAR(45) NOT NULL, old_info LONGTEXT NOT NULL, new_info LONGTEXT NOT NULL );
Stored Procedure DROP PROCEDURE IF EXISTS sp_auditoria_log; DELIMITER $$ CREATE PROCEDURE sp_auditoria_log ( IN disparador VARCHAR(30), IN tipo VARCHAR(15), IN nivel VARCHAR(15), IN comando VARCHAR(45), IN tabla VARCHAR(45), IN oldInfo LONGTEXT, IN newInfo LONGTEXT) BEGIN INSERT INTO auditoria (nombre_disparador,tipo_disparador, nivel_disparador,comando,tabla,old_info,new_info) VALUES (disparador, tipo, nivel, comando, tabla, oldInfo, newInfo); END $$
Trigger A diferencia de postgres, se necesita crear disparador por cada DML, además se debe colocar cada campo, tanto nuevo como viejo, en los 2 últimos campos del SP. DROP TRIGGER IF EXISTS tg_disparador_nombre_tabla; DELIMITER $$ CREATE TRIGGER tg_disparador_nombre_tabla AFTER INSERT ON nombre_tabla FOR EACH ROW BEGIN CALL sp_auditoria_log('tg_disparador_nombre_tabla', 'AFTER', 'ROW', 'INSERT', 'nombre_tabla', NULL, CONCAT(NEW.campo1, ',', NEW.campo2, ',', NEW.campo3, ',', NEW.campo4, ',', NEW.campoN)); END $$ DELIMITER ; DROP TRIGGER IF EXISTS tg_disparador_nombre_tabla; DELIMITER $$ CREATE TRIGGER tg_disparador_nombre_tabla AFTER UPDATE ON nombre_tabla FOR EACH ROW BEGIN CALL sp_auditoria_log('tg_disparador_nombre_tabla', 'AFTER', 'ROW', 'UPDATE', 'nombre_tabla', CONCAT(OLD.campo1, ',', OLD.campo2, ',', OLD.campo3, ',', OLD.campo4, ',', OLD.campoN), CONCAT(NEW.campo1, ',', NEW.campo2, ',', NEW.campo3, ',', NEW.campo4, ',', NEW.campoN)); END; $$ DELIMITER ; DROP TRIGGER IF EXISTS tg_disparador_nombre_tabla; DELIMITER $$ CREATE TRIGGER tg_disparador_nombre_tabla AFTER DELETE ON nombre_tabla FOR EACH ROW BEGIN CALL sp_auditoria_log('tg_disparador_nombre_tabla', 'AFTER', 'ROW', 'DELETE', 'nombre_tabla', CONCAT(OLD.campo1, ',', OLD.campo2, ',', OLD.campo3, ',', OLD.campo4, ',', OLD.campoN), NULL); END; $$ DELIMITER ;
Adjunto SP que genera los triggers de las tablas que se le pasen como parametro, las imprime en un select, si conocen una forma de ejecutarlos directamente, con PREPARE-EXECUTE y no me funcionó. DROP PROCEDURE IF EXISTS sp_genera_triggers; DELIMITER $$ CREATE PROCEDURE sp_genera_triggers (IN schema_auditar VARCHAR(50), IN tablasNo LONGTEXT CHARSET utf8) BEGIN DECLARE tg_insert, tg_update, tg_delete LONGTEXT; DECLARE stmt, tablasTrigger LONGTEXT; DECLARE nombreTabla VARCHAR(50); DECLARE completo INT DEFAULT FALSE; -- -------------------------------------------------------- -- [ Se escogen las tablas que están por fuera de la lista] -- -------------------------------------------------------- DECLARE tablas_lista CURSOR FOR SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=schema_auditar AND !FIND_IN_SET(TABLE_NAME, tablasNo); DECLARE CONTINUE HANDLER FOR NOT FOUND SET completo = TRUE; OPEN tablas_lista; cursor_loop: LOOP FETCH tablas_lista INTO nombreTabla; IF completo THEN LEAVE cursor_loop; END IF; -- ------------------------------------------------------------------- -- [ Crea los triggers INSERT/UPDATE/DELETE de las tablas permitidas ] -- ------------------------------------------------------------------- SET tg_update := CONCAT('DROP TRIGGER IF EXISTS ', schema_auditar, REPLACE(nombreTabla, 'tn_', '.tg_upd_'), ';\n', 'DELIMITER $$\n', 'CREATE TRIGGER ', schema_auditar, REPLACE(nombreTabla, 'tn_', '.tg_upd_'), '\n', ' AFTER UPDATE ON ', nombreTabla,'\n', ' FOR EACH ROW\n', 'BEGIN\n', ' CALL sp_auditoria_log(\'', nombreTabla, '\',\n', ' \'AFTER\', \'ROW\', \'UPDATE\', \n', ' \'', nombreTabla, '\', \n'); SET tg_delete := REPLACE(tg_update, 'tg_upd_', 'tg_del_'); SET tg_delete := REPLACE(tg_delete, 'UPDATE', 'DELETE'); SET tg_insert := REPLACE(tg_update, 'tg_upd_', 'tg_ins_'); SET tg_insert := REPLACE(tg_insert, 'UPDATE', 'INSERT'); SET stmt := (SELECT CONCAT(' CONCAT(', GROUP_CONCAT(CONCAT('OLD.', COLUMN_NAME) SEPARATOR ', \',\', '), '),\n') FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=BINARY schema_auditar AND TABLE_NAME=BINARY nombreTabla); SET tg_update := CONCAT(tg_update, stmt); SET tg_delete := CONCAT(tg_delete, stmt, ' NULL', ');\nEND;\n$$\nDELIMITER ;\n\n'); SET stmt := (SELECT CONCAT(' CONCAT(', GROUP_CONCAT(CONCAT('NEW.', COLUMN_NAME) SEPARATOR ', \',\', '), ')') FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=BINARY schema_auditar AND TABLE_NAME=BINARY nombreTabla); SET tg_update := CONCAT(tg_update, stmt, ');\nEND;\n$$\nDELIMITER ;\n\n'); SET tg_insert := CONCAT(tg_insert, ' NULL,\n', stmt, ');\nEND\n$$\nDELIMITER ;\n\n'); SET tablasTrigger := CONCAT(tg_insert, tg_update, tg_delete); SELECT tablasTrigger; END LOOP; CLOSE tablas_lista; SET script := tablasTrigger; END $$
SET @tablasNo:='tabla1,tabla2,tabla3,tabla4,tablaN'; CALL sp_genera_triggers('nombre_schema', @tablasNo, @scriopt);
3
« en: Domingo 25 de Septiembre de 2011, 21:10 »
Hola chicos de SoloCodigo, vengo teniendo un error extraño al ejecutar un query y usar las funciones mysql_fetch_array y mysql_num_rows de PHP, el query es este: SELECT ADDDATE( wf.fecha_inicio, DATEDIFF( plpr.tiempo_limite, "2000-01-01 08:00:00" ) ) AS tiempo FROM ct_plantilla_workflow AS wf, ct_plantilla AS pl, ct_plantilla_protocolo AS plpr WHERE wf.usu_asigna = "ECASTANO" AND wf.plantilla_id = pl.id AND plpr.plantilla_id = pl.id AND wf.proceso = plpr.orden
si lo ejecuto directamente en el mysql me salen los datos que deben salir, de hecho el query en PHP se ejecuta bien con el mysql_query, pero las funciones arriba puestas me muetran los siguientes errores Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\aplicaciones\gestion\include\clases\clases.php on line 58
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\aplicaciones\gestion\include\clases\clases.php on line 59 e imprimo el Resource y me muestra esto: Resource id #681 y he mirado bien el resource y el 1 sobra, ósea, en realidad el dato es Resource id #68 y el 1 se agrega, acá está el código que ejecuta eso: /* * Este método mostrará datos de una consulta de varias tablas * @param string $query sql query * @param integer $tipo El tipo de query que se ejecutará * @param string $error Para mostrar un error diferente al default de MySQL * @return $arrayRetorno Tiene el resultado, la cantidad de registros, un array con los registros y el último indexado */ //function query($query, $tipo=0, $trace=0, $error='<br /><b>Query ejecutado incorrectamente<br />') function query($query, $tipo=0, $trace=0, $error='<br /><b>Query ejecutado incorrectamente<br />') { echo $this->result; if ($this->result==0){ echo "Consulta ejecutada sin exito"; } /* * Dependiendo del tipo de consulta SQL escojida extraemos las variables */ switch($tipo) { case 'SELECT': case 0: $this->ultimo = ''; break; case 'INSERT': case 1: $this->numrows = ''; $this->arrayRegistros = ''; break; case 'UPDATE': case 'DELETE': case 'ALTER': case 2: case 3: case 4: $this->numrows = ''; $this->arrayRegistros = ''; $this->ultimo = ''; break; case 'SHOW TABLES': case 'OPTIMIZE TABLE': case 'TRUNCATE TABLE': case 5: case 6: case 7: $this->numrows = ''; break; } /* * Estos son todos los datos que se pueden extraer de un query * Acá lo que se hace es devolverlo todo en un array */ $arrayRetorno = array($this->result, $this->numrows, $this->arrayRegistros, $this->ultimo); if ($trace==1) { debug_print_backtrace(); } return $arrayRetorno; }
Esto me pasa en Windows con el AppServ o Wamp instalado, en Linux no me muestra ningun error, alguna información al respecto
4
« en: Viernes 20 de Agosto de 2010, 15:26 »
Pues ya quedamos muy pocos de los que conocí por allá en el 2004 cuando me metí en este super foro; hoy uno de esos personajes está de cumpleaños.
FELIZ CUMPLEAÑOS juez Y QUE CUMPLAS MÁS HASTA EL AÑO 800000
5
« en: Miércoles 17 de Febrero de 2010, 18:31 »
Hola chicos de SoloCodigo ( ) hace rato no empezaba un post así, y mucho menos acá en Visual Basic jejeje; bueno dejo tanta chachara y voy a lo mio, estoy haciendo un complemento para Excel que consulta una DB MySQL y genera una tabla dinámica, en cierta forma funciona, pero cuando hago consultas del estilo. SELECT mid(ped1.detalle,61,30) AS PO_CGUNO, ped2.fechaentrega AS fechaCancelacion,mid(ped2.bodega,4,2) AS Localizacion,ped1.documento AS Documento, FROM ped1,ped2 WHERE ped1.pedido=ped2.pedido
Si se fijan hay unas funciones mid para delimitar los valores que quiero que me devuelvan y es aquí donde no me funciona el complemento, ya que me arroja este error. se ha producido el error '1004' en tiempo de ejecución y me marca esta línea en el código Set objMyPivotTable = ActiveWorkbook.Worksheets("Hoja_" + cmbCampos.Value).PivotTables.Add(objMyPivotCache, Cells(2, 1))
Pero si hago una consulta de este estilo: SELECT Pedido_Despacho.codcliente AS codcliente,casos.problema AS problema,casos.codtipocaso AS codtipocaso,detalle_caso.reclamo AS reclamo,casos.calificacion AS calificacion,detalle_caso.solucion AS solucion,Pedido_Despacho.estado AS estado,casos.fecha AS fecha FROM detalle_caso,casos,Pedido_Despacho WHERE casos.codcaso = detalle_caso.codcaso AND casos.codpedidodespa = Pedido_Despacho.codpedidodespa
Sin el mid si me funciona, me podrían explicar qué puede ser el error. Gracias
6
« en: Miércoles 14 de Octubre de 2009, 18:08 »
Hola chicos de SoloCodigo, tengo una consulta como siempre, la vaina es que tengo un código que genera unos campos en forma dinámica por medio de AJAX, pero estos son datos que se guardarán por medio de un <form>, ósea, estoy generando con AJAX datos que contienen un campo de texto para introducir cantidades; la vaina es que como esto es en si dinámico al introducir la cantidad y darle al boton guardar no lo toma, y es que de por si ese código generado no existe dentro del código de la página.
Alguna idea???
7
« en: Martes 8 de Septiembre de 2009, 15:33 »
Hola chicos del foro, he estado empezando a manejar esto de las sesiones y me ha funcionado todo bien, he podido abrir y cerrar sesiones y si trato de volver atras me saca el error de que el usuario no está conectado. Ahora el problema es que cuando vuelvo a ingresar con el login y password el toma el session_id que quedaba del anterior y pues necesitaría saber como borrar esta sesión ya que estoy guardando datos con ese session_id y me trunca por que es como si se conectará el usuario anterior o más bien la sesión anterior. Me hago entender???, de esta forma estoy matando la sesión. <?php include 'include/configuration.php'; //Dejamos en blanco el campo de sesion $query = 'UPDATE tbdym_users SET sess_actual="" WHERE sess_actual="'.session_id().'"'; $query_ses = $sql->query($query, 2); if(empty($_SESSION['username']) and empty($_SESSION['userpass']) and empty($_SESSION['authuser'])) { echo "<script>document.location.href='index.php?msg=Has salido del sistema';</script>"; } ?>
8
« en: Miércoles 12 de Agosto de 2009, 20:42 »
Les dejo esta clase que hicé para imprimir datos en tablas sin tener que estar haciendo redundancia. <?php //Desarrollada por RadicalEd class SQL { //Constructor function SQL($host='localhost', $db='ancheteria', $user='usdist', $password='clio1214') { } //Esta función mostrará datos de una consulta simple public function tabla($query, $camposTabla) { $tabla = '<table border="1" cellpadding="1" cellspacing="1"><tbody><tr>'; //Hay dos formas de recorrer el array, por for y por foreach //acá mostraré ambas for ($x=0; $x<count($camposTabla); $x++) { $tabla .= '<td align="center"><strong>'.$camposTabla[$x].'</strong></td>'; } $tabla .= '</tr>'; { $tabla .= '<tr>'; //Recorriendo el array con foreach foreach($camposTabla as $campo) { $tabla .= '<td>'.$row[$campo].'</td>'; } $tabla .= '</tr>'; } $tabla .= '</tbody></table>'; return $tabla; } //Este metodo mostrará datos de una consulta de varias tablas public function tablaCompuesta($query, $camposTabla, $camposDatos) { $tabla = '<table border="1" cellpadding="1" cellspacing="1"><tbody><tr>'; for ($x=0; $x<count($camposTabla); $x++) { $tabla .= '<td align="center"><strong>'.$camposTabla[$x].'</strong></td>'; } $tabla .= '</tr>'; $n = 0; while($n<$numrows) { $tabla .= '<tr>'; foreach($camposDatos as $campo) { } $tabla .= '</tr>'; $n++; } $tabla .= '</tbody></table>'; return $tabla; } } //EJEMPLOS DE UTILIZACION //Arrays de los datos a mostrar $arrayTabla = array('TIPO', 'NUMERO', 'RUTERO'); $arrayDatos = array('TIPO', 'NRO', 'RUTE'); //Consulta compuesta de varias tablas $query = 'SELECT con.tipo_dcto AS '.$arrayDatos[0].', con.nro_dcto AS '.$arrayDatos[1].', con.fk_rutero AS '.$arrayDatos[2].' FROM tbsdpel_rutero AS rut, tbsdpel_content AS con WHERE con.nro_dcto LIKE "19329" AND con.tipo_dcto LIKE "RO" AND con.fk_rutero=rut.id_rutero'; $datos = new SQL($host='localhost', $db='paginafiles', $user='usdist', $password='clio1214'); $tabla = $datos->tablaCompuesta($query, $arrayTabla, $arrayDatos); echo $tabla; $nuevo = array('id', 'codigo', 'nombre'); $datos = new SQL(); $tabla = $datos->tabla('SELECT * FROM tbancheteria_proveedores', $nuevo); echo $tabla; ?>
9
« en: Sábado 16 de Mayo de 2009, 20:09 »
import hashlib, sys, os #Esta funcion detectara el hash MD5 del archivo def sabersiya(archivo): ....archi = open(archivo) ....cabeceramd5 = hashlib.md5(archi.read()).hexdigest() ....archi.close() ....return cabeceramd5 todo = os.walk(sys.argv[1]) #Diccionario para guardar los datos dic = {} #Esta variable sera el nombre de los indices x = 0 #Recorremos el arbol de directorios #todo = os.walk('.') for path, dirname, filename in todo: ....for x in filename: ........var = '%s/%s' % (path, x) ........dic[var] = sabersiya(var) ........ #Verificamos que sea el mismo hash, pero diferente clave for h in dic: ....for hh in dic: ........if dic.get(h) == dic.get(hh) and h != hh: ............#print '%s/%s --> %s/%s' % (h, dic.get(h),hh, dic.get(hh)) ............try: ................#Eliminamos el archivo ................os.remove('%s' % (hh)) ................print 'El archivo eliminado fue %s' % (hh) ............except: ................pass
10
« en: Lunes 20 de Abril de 2009, 18:43 »
Información extraida de Alerta AntivirusPeligrosidad: 3 - Media Difusión: Baja Fecha de Alta:20-04-2009 Última Actualización:20-04-2009 Daño: Alto [Explicación de los criterios] Dispersibilidad: Alto Nombre completo: Worm.W32/Sality.AM@US Tipo: [Worm] - Programa que se replica copiándose entero (sin infectar otros ficheros) en la máquina infectada, y a través de redes de ordenadores Plataforma: [W32] - Ejecutable PE (.EXE, .SCR, .DLL) que corre en Windows de 32 bits: 95, 98, Me, NT, 2000, XP, 2003 y Vista Mecanismo principal de difusión: [US] - Unidades del sistema (locales, mapeadas, extraíbles). Tamaño (bytes): 69632 Alias:W32.Sality.AM (Symantec), W32.Sality.AM (PerAntivirus) Detalles Método de Infección Al infectar el sistema, el gusano se copia a: * %System%drivers[Nombre_aleatorio].sys Nota: %System% es una variable que hace referencia al directorio del sistema de Windows. Por defecto es C:WindowsSystem (Windows 95/98/Me), C:WinntSystem32 (Windows NT/2000), o C:WindowsSystem32 (Windows XP). El archivo .SYS es ejecutado como un servicio con el siguiente nombre e inmediatamente despues es borrado: * abp470n5 El servicio recién iniciado actúa como un filtro en el servicio IPFILTERDRIVER (Firewall de Windows Vista) y monitoriza la red en busca de paquetes con cualquiera de las siguientes cadenas: * upload_virus * sality-remov * virusinfo. * cureit. * drweb. * onlinescan. * spywareinfo. * ewido. * virusscan. * windowsecurity. * spywareguide. * bitdefender. * pandasoftware. * agnmitum. * virustotal. * sophos. * trendmicro. * etrust.com * symantec. * mcafee. * f-secure. * eset.com * kaspersky * aPvo Luego crea las siguientes entradas de registro: Clave:HKEY_CURRENT_USERSoftware[Caracteres_aleatorios] Valor:"V[Número]_[3_números_aleatorios]" = [Valor _aleatorio] Clave:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings Valor:"GlobalUserOffline" = "0" Clave:HKEY_LOCAL_MACHINESOFTWAREMicrosoftTracingFWCFG Valor:"ConsoleTracingMask" = "4294901760" Valor:"EnableConsoleTracing" = "0" Valor:"EnableFileTracing" = "0" Valor:"FileDirectory" = "%Windir%tracing" Valor:"FileTracingMask" = "4294901760" Valor:"MaxFileSize" = "1048576" Nota: %Windir% es una variable que hace referencia al directorio de instalación de Windows. Por defecto es C:Windows (Windows 95/98/Me/XP) o C:Winnt (Windows NT/2000). Para cambiar las configuraciones de seguridad del sistema altera las entradas en las llaves: Clave:HKEY_LOCAL_MACHINESOFTWAREMicrosoftSecurity CenterSvc Valor:"FirewallDisableNotify" = "1" Valor:"FirewallOverride" = "1" Valor:"UacDisableNotify" = "1" Clave:HKEY_LOCAL_MACHINESOFTWAREMicrosoftSecurity Center Valor:"UacDisableNotify" = "1" Clave:HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesSharedAccessParametersFirewallPolicyStandardProfile Valor:"DoNotAllowExceptions" = "0" Clave:HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesSharedAccessParametersFirewallPolicyStandardProfile AuthorizedApplicationsList Valor:"%SystemDrive%[Nombre_original_de_archivo].exe" = "%SystemDrive%[Nombre_original_de_archivo].exe:*:Enabled:ipsec" Nota: %SystemDrive% es una variable que hace referencia a la unidad en la que Windows está instalado. Por defecto es C:. Clave:HKEY_LOCAL_MACHINESYSTEMControlSet001ServicesSharedAccessParametersFirewallPolicyStandardProfile AuthorizedApplicationsList Valor:"%Windir%Explorer.EXE" = "%Windir%Explorer.EXE:*:Enabled:ipsec" Borra las entradas de registro en las subclaves: Clave:HKEY_CURRENT_USERSystemCurrentControlSetControlSafeBoot Clave:HKEY_CURRENT_USER\SoftwareMicrosoftWindowsCurrentVersionExtStats Clave:HKEY_LOCAL_MACHINE\SoftwareMicrosoftWindowsCurrentVersionExtStats Clave:HKEY_CURRENT_USERSOFTWAREMicrosoftWindowsCurrentVersionExplorerBrowser Helper Objects Clave:HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerBrowser Helper Objects Seguidamente busca las siguientes subclaves e infecta todos los archivos vinculados: Clave:HKEY_CURRENT_USERSoftwareMicrosoftWindowsShellNoRoamMUICache Clave:HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun Clave:HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun Efectos El gusano detiene los servicios que tengan alguna de las siguientes cadenas: * aswMon2 * Agnitum Client Security Service * ALG * Amon monitor * aswUpdSv * aswRdr * aswSP * aswTdi * aswFsBlk * acssrv * AV Engine * avast! iAVS4 Control Service * avast! Antivirus * avast! Mail Scanner * avast! Web Scanner * avast! Asynchronous Virus Monitor * avast! Self Protection * AVG E-mail Scanner * Avira AntiVir Premium Guard * Avira AntiVir Premium WebGuard * Avira AntiVir Premium MailGuard * avp1 * BackWeb Plug-in - 4476822 * bdss * BGLiveSvc * BlackICE * CAISafe * ccEvtMgr * ccProxy * ccSetMgr * COMODO Firewall Pro Sandbox Driver * cmdGuard * cmdAgent * Eset Service * Eset HTTP Server * Eset Personal Firewall * F-Prot Antivirus Update Monitor * fsbwsys * FSDFWD * F-Secure Gatekeeper Handler Starter * FSMA * Google Online Services * InoRPC * InoRT * InoTask * ISSVC * KPF4 * KLIF * LavasoftFirewall * LIVESRV * McAfeeFramework * McShield * McTaskManager * navapsvc * NOD32krn * NPFMntor * NSCService * Outpost Firewall main module * OutpostFirewall * PAVFIRES * PAVFNSVR * PavProt * PavPrSrv * PAVSRV * PcCtlCom * PersonalFirewal * PREVSRV * ProtoPort Firewall service * PSIMSVC * RapApp * SmcService * SNDSrvc * SPBBCSvc * SpIDer FS Monitor for Windows NT * SpIDer Guard File System Monitor * SPIDERNT * Symantec Core LC * Symantec Password Validation * Symantec AntiVirus Definition Watcher * SavRoam * Symantec AntiVirus * Tmntsrv * TmPfw * tmproxy * tcpsr * UmxAgent * UmxCfg * UmxLU * UmxPol * vsmon * VSSERV * WebrootDesktopFirewallDataService * WebrootFirewall * XCOMM * AVP Y detiene los procesos con las siguientes cadenas: * _AVPM. * A2GUARD. * AAVSHIELD. * AVAST * ADVCHK. * AHNSD. * AIRDEFENSE * ALERTSVC * ALOGSERV * ALSVC. * AMON. * ANTI-TROJAN. * AVZ. * ANTIVIR * APVXDWIN. * ARMOR2NET. * ASHAVAST. * ASHDISP. * ASHENHCD. * ASHMAISV. * ASHPOPWZ. * ASHSERV. * ASHSIMPL. * ASHSKPCK. * ASHWEBSV. * ASWUPDSV. * ATCON. * ATUPDATER. * ATWATCH. * AVCIMAN. * AVCONSOL. * AVENGINE. * AVESVC. * AVGAMSVR. * AVGCC. * AVGCC32. * AVGCTRL. * AVGEMC. * AVGFWSRV. * AVGNT. * AVGNTDD * AVGNTMGR * AVGSERV. * AVGUARD. * AVGUPSVC. * AVINITNT. * AVKSERV. * AVKSERVICE. * AVKWCTL. * AVP. * AVP32. * AVPCC. * AVPM. * AVAST * AVSERVER. * AVSCHED32. * AVSYNMGR. * AVWUPD32. * AVWUPSRV. * AVXMONITOR9X. * AVXMONITORNT. * AVXQUAR. * BDMCON. * BDNEWS. * BDSUBMIT. * BDSWITCH. * BLACKD. * BLACKICE. * CAFIX. * CCAPP. * CCEVTMGR. * CCPROXY. * CCSETMGR. * CFIAUDIT. * CLAMTRAY. * CLAMWIN. * CLAW95. * CUREIT * DEFWATCH. * DRVIRUS. * DRWADINS. * DRWEB32W. * DRWEBSCD. * DRWEBUPW. * DWEBLLIO * DWEBIO * ESCANH95. * ESCANHNT. * EWIDOCTRL. * EZANTIVIRUSREGISTRATIONCHECK. * F-AGNT95. * FAMEH32. * FILEMON * FIRESVC. * FIRETRAY. * FIREWALL. * FPAVUPDM. * F-PROT95. * FRESHCLAM. * EKRN. * FSAV32. * FSAVGUI. * FSBWSYS. * F-SCHED. * FSDFWD. * FSGK32. * FSGK32ST. * FSGUIEXE. * FSMA32. * FSMB32. * FSPEX. * FSSM32. * F-STOPW. * GCASDTSERV. * GCASSERV. * GIANTANTISPYWAREMAIN. * GIANTANTISPYWAREUPDATER. * GUARDGUI. * GUARDNT. * HREGMON. * HRRES. * HSOCKPE. * HUPDATE. * IAMAPP. * IAMSERV. * ICLOAD95. * ICLOADNT. * ICMON. * ICSSUPPNT. * ICSUPP95. * ICSUPPNT. * IFACE. * INETUPD. * INOCIT. * INORPC. * INORT. * INOTASK. * INOUPTNG. * IOMON98. * ISAFE. * ISATRAY. * ISRV95. * ISSVC. * KAV. * KAVMM. * KAVPF. * KAVPFW. * KAVSTART. * KAVSVC. * KAVSVCUI. * KMAILMON. * KPFWSVC. * MCAGENT. * MCMNHDLR. * MCREGWIZ. * MCUPDATE. * MCVSSHLD. * MINILOG. * MYAGTSVC. * MYAGTTRY. * NAVAPSVC. * NAVAPW32. * NAVLU32. * NAVW32. * NEOWATCHLOG. * NEOWATCHTRAY. * NISSERV * NISUM. * NMAIN. * NOD32 * NORMIST. * NOTSTART. * NPAVTRAY. * NPFMNTOR. * NPFMSG. * NPROTECT. * NSCHED32. * NSMDTR. * NSSSERV. * NSSTRAY. * NTRTSCAN. * NTOS. * NTXCONFIG. * NUPGRADE. * NVCOD. * NVCTE. * NVCUT. * NWSERVICE. * OFCPFWSVC. * OUTPOST * OP_MON. * PAVFIRES. * PAVFNSVR. * PAVKRE. * PAVPROT. * PAVPROXY. * PAVPRSRV. * PAVSRV51. * PAVSS. * PCCGUIDE. * PCCIOMON. * PCCNTMON. * PCCPFW. * PCCTLCOM. * PCTAV. * PERSFW. * PERTSK. * PERVAC. * PNMSRV. * POP3TRAP. * POPROXY. * PREVSRV. * PSIMSVC. * QHM32. * QHONLINE. * QHONSVC. * QHPF. * QHWSCSVC. * RAVMON. * RAVTIMER. * AVGNT * AVCENTER. * RFWMAIN. * RTVSCAN. * RTVSCN95. * RULAUNCH. * SALITY * SAVADMINSERVICE. * SAVMAIN. * SAVPROGRESS. * SAVSCAN. * SCANNINGPROCESS. * CUREIT * SDHELP. * SHSTAT. * SITECLI. * SPBBCSVC. * SPHINX. * SPIDERCPL. * SPIDERML. * SPIDERNT. * SPIDERUI. * SPYBOTSD. * SPYXX. * SS3EDIT. * STOPSIGNAV. * SWAGENT. * SWDOCTOR. * SWNETSUP. * SYMLCSVC. * SYMPROXYSVC. * SYMSPORT. * SYMWSC. * SYNMGR. * TAUMON. * TBMON. * AVAST * TFAK. * THAV. * THSM. * TMAS. * TMLISTEN. * TMNTSRV. * TMPFW. * TMPROXY. * TNBUTIL. * TRJSCAN. * UP2DATE. * VBA32ECM. * VBA32IFS. * VBA32LDR. * VBA32PP3. * VBSNTW. * VCHK. * VCRMON. * VETTRAY. * VIRUSKEEPER. * VPTRAY. * VRFWSVC. * VRMONNT. * VRMONSVC. * VRRW32. * VSECOMR. * VSHWIN32. * VSMON. * VSSERV. * VSSTAT. * WATCHDOG. * WEBPROXY. * WEBSCANX. * WEBTRAP. * WGFE95. * WINAW32. * WINROUTE. * WINSS. * WINSSNOTIFY. * WRCTRL. * XCOMMSVR. * ZAUINST * ZLCLIENT * ZONEALARM El gusano también termina determinados procesos que cargan los siguientes módulos en memoria: * DWEBLLIO * DWEBIO ... y borra los archivos que tengas las cadenas: * VDB * AVC * KEY Finalmente, para poder descargar instrucciones o malwares en los sistemas infectados el gusano verifica los siguientes dominios: * http://www.hotelkalingaindore.com/logo[XXXXX] --> ubicado en la India * http://www.lasercareindia.com/main[XXXXXX] --> ubicado en la India Estos sitios han sido comprometidos y el autor o autores de este gusano les han insertado archivos arbitrarios. Método de Propagación El gusano enumera los recursos de la red local (LAN) usando el API WNetOpenEnumA. En caso de hallarlos busca los archivos ejecutables y los infecta. Verifica las unidades de almacenamiento removibles y les copia un archivo infectado notepad.exe o winmime.exe con uno de los siguientes nombres: * [Nombre_aleatorio].exe * [Nombre_aleatorio].cmd * [Nombre_aleatorio].pif Crea un archivo autorun.inf para ejecutar el gusano cada vez que se inserte una unidad de almacenamiento extraíble en otro equipo. El gusano evita infectar archivos que contengan las siguientes cadenas: * _AVPM. * A2GUARD. * AAVSHIELD. * AVAST * ADVCHK. * AHNSD. * AIRDEFENSE * ALERTSVC * ALOGSERV * ALSVC. * AMON. * ANTI-TROJAN. * AVZ. * ANTIVIR * APVXDWIN. * ARMOR2NET. * ASHAVAST. * ASHDISP. * ASHENHCD. * ASHMAISV. * ASHPOPWZ. * ASHSERV. * ASHSIMPL. * ASHSKPCK. * ASHWEBSV. * ASWUPDSV. * ATCON. * ATUPDATER. * ATWATCH. * AVCIMAN. * AVCONSOL. * AVENGINE. * AVESVC. * AVGAMSVR. * AVGCC. * AVGCC32. * AVGCTRL. * AVGEMC. * AVGFWSRV. * AVGNT. * AVGNTDD * AVGNTMGR * AVGSERV. * AVGUARD. * AVGUPSVC. * AVINITNT. * AVKSERV. * AVKSERVICE. * AVKWCTL. * AVP. * AVP32. * AVPCC. * AVPM. * AVAST * AVSERVER. * AVSCHED32. * AVSYNMGR. * AVWUPD32. * AVWUPSRV. * AVXMONITOR9X. * AVXMONITORNT. * AVXQUAR. * BDMCON. * BDNEWS. * BDSUBMIT. * BDSWITCH. * BLACKD. * BLACKICE. * CAFIX. * CCAPP. * CCEVTMGR. * CCPROXY. * CCSETMGR. * CFIAUDIT. * CLAMTRAY. * CLAMWIN. * CLAW95. * CUREIT * DEFWATCH. * DRVIRUS. * DRWADINS. * DRWEB32W. * DRWEBSCD. * DRWEBUPW. * DWEBLLIO * DWEBIO * ESCANH95. * ESCANHNT. * EWIDOCTRL. * EZANTIVIRUSREGISTRATIONCHECK. * F-AGNT95. * FAMEH32. * FILEMON * FIRESVC. * FIRETRAY. * FIREWALL. * FPAVUPDM. * F-PROT95. * FRESHCLAM. * EKRN. * FSAV32. * FSAVGUI. * FSBWSYS. * F-SCHED. * FSDFWD. * FSGK32. * FSGK32ST. * FSGUIEXE. * FSMA32. * FSMB32. * FSPEX. * FSSM32. * F-STOPW. * GCASDTSERV. * GCASSERV. * GIANTANTISPYWAREMAIN. * GIANTANTISPYWAREUPDATER. * GUARDGUI. * GUARDNT. * HREGMON. * HRRES. * HSOCKPE. * HUPDATE. * IAMAPP. * IAMSERV. * ICLOAD95. * ICLOADNT. * ICMON. * ICSSUPPNT. * ICSUPP95. * ICSUPPNT. * IFACE. * INETUPD. * INOCIT. * INORPC. * INORT. * INOTASK. * INOUPTNG. * IOMON98. * ISAFE. * ISATRAY. * ISRV95. * ISSVC. * KAV. * KAVMM. * KAVPF. * KAVPFW. * KAVSTART. * KAVSVC. * KAVSVCUI. * KMAILMON. * KPFWSVC. * MCAGENT. * MCMNHDLR. * MCREGWIZ. * MCUPDATE. * MCVSSHLD. * MINILOG. * MYAGTSVC. * MYAGTTRY. * NAVAPSVC. * NAVAPW32. * NAVLU32. * NAVW32. * NEOWATCHLOG. * NEOWATCHTRAY. * NISSERV * NISUM. * NMAIN. * NOD32 * NORMIST. * NOTSTART. * NPAVTRAY. * NPFMNTOR. * NPFMSG. * NPROTECT. * NSCHED32. * NSMDTR. * NSSSERV. * NSSTRAY. * NTRTSCAN. * NTOS. * NTXCONFIG. * NUPGRADE. * NVCOD. * NVCTE. * NVCUT. * NWSERVICE. * OFCPFWSVC. * OUTPOST * OP_MON. * PAVFIRES. * PAVFNSVR. * PAVKRE. * PAVPROT. * PAVPROXY. * PAVPRSRV. * PAVSRV51. * PAVSS. * PCCGUIDE. * PCCIOMON. * PCCNTMON. * PCCPFW. * PCCTLCOM. * PCTAV. * PERSFW. * PERTSK. * PERVAC. * PNMSRV. * POP3TRAP. * POPROXY. * PREVSRV. * PSIMSVC. * QHM32. * QHONLINE. * QHONSVC. * QHPF. * QHWSCSVC. * RAVMON. * RAVTIMER. * AVGNT * AVCENTER. * RFWMAIN. * RTVSCAN. * RTVSCN95. * RULAUNCH. * SALITY * SAVADMINSERVICE. * SAVMAIN. * SAVPROGRESS. * SAVSCAN. * SCANNINGPROCESS. * CUREIT * SDHELP. * SHSTAT. * SITECLI. * SPBBCSVC. * SPHINX. * SPIDERCPL. * SPIDERML. * SPIDERNT. * SPIDERUI. * SPYBOTSD. * SPYXX. * SS3EDIT. * STOPSIGNAV. * SWAGENT. * SWDOCTOR. * SWNETSUP. * SYMLCSVC. * SYMPROXYSVC. * SYMSPORT. * SYMWSC. * SYNMGR. * TAUMON. * TBMON. * AVAST * TFAK. * THAV. * THSM. * TMAS. * TMLISTEN. * TMNTSRV. * TMPFW. * TMPROXY. * TNBUTIL. * TRJSCAN. * UP2DATE. * VBA32ECM. * VBA32IFS. * VBA32LDR. * VBA32PP3. * VBSNTW. * VCHK. * VCRMON. * VETTRAY. * VIRUSKEEPER. * VPTRAY. * VRFWSVC. * VRMONNT. * VRMONSVC. * VRRW32. * VSECOMR. * VSHWIN32. * VSMON. * VSSERV. * VSSTAT. * WATCHDOG. * WEBPROXY. * WEBSCANX. * WEBTRAP. * WGFE95. * WINAW32. * WINROUTE. * WINSS. * WINSSNOTIFY. * WRCTRL. * XCOMMSVR. * ZAUINST * ZLCLIENT * ZONEALARM Y agrega la siguiente entrada al archivo %Windir%system.ini: [MCIDRV_VER] Otros Detalles El gusano infecta Windows 98/Me/NT/2000/XP/Vista y Server 2003 desarrollado en ensamblador con una extensión de 69,632 bytes y esta cifrado con rutinas propias.
11
« en: Viernes 20 de Febrero de 2009, 20:19 »
El día martes 17 de febrero sufrí un accidente en mi moto y me fracturé la muñeca derecha, por tal caso estaré incapacitado por 1 mes, de tal modo no podré entrar mucho a internet y al foro, aunque de la empresa piensan conseguirme un huawey en tal caso podré trabajar a gusto.
Muchas gracias.
12
« en: Martes 17 de Febrero de 2009, 00:08 »
Pues ando jugando últimamente con el pynotify y pues acá dejo este pequeño lector de feeds Atom. #!/usr/bin/env python # -*- coding: cp1252 -*- #Desarrollado por RadicalEd import feedparser import pynotify import urllib2, urllib import time import re class FeedRSS(): #Inicializamos valores def __init__ (self, rss, blog): self.blog = blog #Nos conectamos al feed del blog self.rss = feedparser.parse(rss) #Extraemos lo que necesitamos self.title = self.rss.entries[0].title self.link = self.rss.entries[0].link #Vamos a convertir los links grandes en pequeños def mostrar (self, tinyurl = 'http://tinyurl.com/create.php', nuevo=''): #Los datos a envíar en el campo url del formulario data = urllib.urlencode([('url', self.link)]) #Envíamos los datos req = urllib2.Request(tinyurl) pagina = urllib2.urlopen(req, data) #Al recibir los datos los empezamos a leer while True: data = pagina.read(1024) if not len(data): break nuevo += data #Con expresiones regulares buscamos cada dato que tenga la linea <b>http://tinyurl.com/ r = re.compile('<b>http://tinyurl.com/([a-zA-Z0-9]+)</b>',re.S) #Buscamos en todo el source de la pagina x = r.findall(nuevo) #Este sera el mensaje a mostrar en el notificador msg = "%sn<a href='http://tinyurl.com/%s'>http://tinyurl.com/%s</a>" % (self.title, x[0], x[0]) if not pynotify.init('Al no iniciarse'): sys.exit(1) #Mostramos la Notificación n = pynotify.Notification(self.blog,msg) n.set_timeout(15000) #Que se muestre el mensaje durante 15 segundos n.show() #Sino se muestra if not n.show(): print "Fallo al mostrar la info" sys.exit(1) #Blogs de ejemplo rp = FeedRSS('http://radicalpython.blogspot.com/feeds/posts/default', 'RadicalPython') rp.mostrar() wb = FeedRSS('http://willy-n-billy.blogspot.com/feeds/posts/default', 'Willy-n-Billy') wb.mostrar() mb = FeedRSS('http://mbrenes.blogspot.com/feeds/posts/default', '{ Blog de Shakka }') mb.mostrar() lm = FeedRSS('http://elladodelmal.blogspot.com/feeds/posts/default', 'El lado del mal') lm.mostrar()
13
« en: Viernes 13 de Febrero de 2009, 20:03 »
Lo copio tal cual de mi blog =D. Este script lo desarrollé por que hace algún tiempo tenía en mente como controlar las finanzas con mi bebé (moto honda eco deluxe), al principio lo hicé con una DB e insertando los datos a mano, pero con el tiempo quería saber cuanto me quedaba de gasolina y aceite y más o menos cuando debía cargar, diaríamente estoy gastando alrededor de 100km. CREATE TABLE IF NOT EXISTS `gasto` ( `id int(10) UNSIGNED NOT NULL AUTO_INCREMENT, fecha date NOT NULL, precio varchar(6) NOT NULL, kilometraje varchar(5) NOT NULL, gasto varchar(25) NOT NULL, PRIMARY KEY (`id`) );
#!/usr/bin/env python #Desarrollado por RadicalEd import sys, os import pynotify, MySQLdb #Tomado nuevamente del blog de Daniel Garcia Moreno comando = 'zenity --text "Kilometraje actual" --entry' entrada, salida = os.popen2(comando) kmact = salida.read() kmact = int(kmact.strip())#Lo convertimos a entero #Nos conectamos a la DB conn = MySQLdb.connect(host="localhost", user="usdist", passwd="clio1214", db="paginafiles") #Creamos un cursor para ejecutar las sentencias SQL cursor = conn.cursor() #El script a ejecutar cursor.execute('SELECT * FROM gasto') registros = int(cursor.rowcount) #Instanciamos variables #Se que dieciocho mil pesos en mi moto son 450km de gasolina (100%) dinerogas, kmgasolina = 18000, 450.0 #Se que trece mil cuatrocientos en mi moto son 1500km de aceite (100%) dineroace, kmaceite = 13400, 1500.0 gasolina = 0 aceite = 0 mostrar = '' #Mensaje a mostrar #Campos de la DB for x in range(registros): row = cursor.fetchone() gasto = row[4] #Tipo de gasto #Para hacer la suma de cuanto llevamos en GASOLINA y en ACEITE if gasto == 'GASOLINA': gasolina += int(row[2]) ultkmgas = int(row[3]) #Ultimo kilometraje gasolina ultfechagas = row[1] #Ultima fecha gasolina elif gasto == 'ACEITE': aceite += int(row[2]) ultkmace = int(row[3]) #Ultimo kilometraje aceite ultfechaace = row[1] #Ultima fecha aceite #Calculos gastogas = kmact - ultkmgas #Gasto gasolina kmrestgas = kmgasolina - gastogas #Kilometros restantes gasolina porcentgas = (kmrestgas / kmgasolina) * 100 #Porcentaje restante gasolina gastoace = kmact - ultkmace #Gasto aceite kmrestace = kmaceite - gastoace #Kilometros restantes aceite porcentace = (kmrestace / kmaceite) * 100 #Porcentaje restante gasolina #Alertas para gasolina y aceite if kmrestgas <= 20: mostrar += 'Favor tanquear a tiempo, solo queda el %d%s restante de gasolina' % (porcentgas, chr(37)) if kmrestace <= 100: mostrar += 'nnFavor cambiar aceite a tiempo, solo queda el %d%s restante de este' % (porcentace, chr(37)) mostrar += "nnHas gastado %dkm en Aceite, te queda un %d%s osea %dkm" % (gastoace, porcentace, chr(37), kmrestace) mostrar += "nnHas gastado %dkm en Gasolina, te queda un %d%s osea %dkm" % (gastogas, porcentgas, chr(37), kmrestgas) if __name__ == '__main__': if not pynotify.init("Al no iniciarse"): #Nos salimos sys.exit(1) n = pynotify.Notification(mostrar) n.set_timeout(15000) #Que se muestre el mensaje durante 15 segundos #Sino se muestra if not n.show(): print "Fallo al mostrar la info" sys.exit(1)
La insercción de los datos no tiene nada que ver con el script, por eso no la pusé, ese paso siempre lo hago por phpMyAdmin Para que el programa funcione cuando inicia sesión por lo menos en Linux Ubuntu van a Sistema --> Preferencias --> Sesiones --> Programas de inicio; en esta parte colocan el script. Acá un videito de como funciona la vaina. Ojala les sirva de algo, en mi blog deje un video para ver el funcionamiento. http://radicalpython.blogspot.com/2009/ ... otify.htmlPD. No funciona en Windows jejeje
14
« en: Viernes 13 de Febrero de 2009, 15:01 »
Información extraida de Alerta AntivirusDatos Técnicos Peligrosidad: 3 - Media Difusión: Baja Fecha de Alta:13-02-2009 Última Actualización:13-02-2009 Daño: Alto [Explicación de los criterios] Dispersibilidad: Alto Nombre completo: Virus.W32/Virux Tipo: [Virus] - Virus Genérico, normalmente se propaga infectando archivos ejecutables. Plataforma: [W32] - Ejecutable PE (.EXE, .SCR, .DLL) que corre en Windows de 32 bits: 95, 98, Me, NT, 2000, XP, 2003 Alias:PE_VIRUX.A (Trend Micro), Win32/Virut.E (AhnLab), Win32/Virut.17408.A virus (Computer Associates), Win32.Virut.56 (Doctor Web), W32/Virut.AI (FRISK Software), Virus:Win32/Virut.BM (Microsoft), W32/Scribble-A (Sophos) Detalles Método de Infección/Efectos El virus crea el evento Vx_5. Ajustando los privilegios del sistema para darse a sí mismo privilegios de depuración (debug). Se inyecta en el proceso WINLOGON.EXE. Creando un hilo de ejecución para ejecutar su rutina de puerta trasera y deshabilitar la protección de archivos de Windows. Crea la siguiente entrada de registro: Clave: HKEY_USERS.DEFAULTSOFTWAREMicrosoftWindowsCurrentVersionExplorer Valor: "UpdateHost = "{valor binario aleatorio}"" También crea la siguiente entrada de registro para evitar el cortafuegos de Windows: Clave: HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesSharedAccess ParametersFirewallPolicyDomainProfileAuthorizedApplicationsList Valor: "??%System%winlogon.exe = "??%System%winlogon.exe:*:enabled:@shell32.dll,-1"" Nota: %System% es una variable que hace referencia al directorio del sistema de Windows. Por defecto es C:WindowsSystem (Windows 95/98/Me), C:WinntSystem32 (Windows NT/2000), o C:WindowsSystem32 (Windows XP). Esta rutina permite hacer descargas desde el servidor IRC al que se conecte. Puede deshabilitar el System File Checker(SFC) del sistema. SFC es una característica de seguridad para Windows, para revertir modificaciones no autorizadas realizadas en archivos críticos del sistema. Deshabilitar este servicio SFC permite a este virus infectar archivos críticos del sistema y/o aplicaciones. El virus infecta los archivos del sistema añadiendo su código. Mapea NTOSKRNL.EXE en memoria para permitirse a sí mismo enganchar los procesos de creación de APIs. Infecta archivos del siguiente tipo: * .EXE * .SRC No infecta archivos que contengan las siguientes cadenas de carácteres en su nombre: * OTSP * WC32 * WCUN * WINC No infecta archivos con las siguientes características: * archivos .DLL * archivos PE con una sección llamada "_win" * archivos ejecutables MZ con una marca de infección en el offset 0x20 o 0x1c Infecta archivos de secuencias de comandos si la extensión es: * .ASP * .HTM * .PHP Una vez que encuentra un archivo de sencuencia de comandos crea una marca para infectarlo con un iFrame. Abre los archivos marcados y comprueba que exista una cierta cadena de caracteres. Si encuentra la cadena infecta el archivo. Busca la cadena </BODY> en un archivo de secuencia de comandos. Si la encuentra, infecta el achivo insertando código iFrame malicioso con el siguiente códgigo: <iframe src="http://[eliminado].pl/rc" with=1 height=2 style="border:0"></iframelt> Los archivos infectados son localizados como copias del virus y los archivos de secuencia de comandos como HTML_IFRAME.NV. Monitoriza la siguientes APIs para conectar todas las instancias de NTDLL.DLL * CreateFile * CreateProcess * CreateProcessEx * OpenFile * QueryInformationProcess Esta API es utilizada para ejecutar o acceder al archivo, así un fichero será infectado si es ejecutado o leído. Infecta los archivos ejecutables de varias formas: Anexándose al principio del fichero ejecutable, anexándose al final, introduciendo sus tipos de código en las partes sin contenido del fichero (conocido por infección de cavidad) o por ocultación del punto de entrada (del inglés, Entry Point Ofuscation, EPO). También usa una rutina de encriptación multicapa. Se conecta a uno de los siguientes servidores IRC usanco el puerto 80: * [eliminado]f.pl * [eliminado].ircgalaxy.pl Esta rutina se ejecuta cada 30 segundos, generando un NICK y USER aleatorio por cada intento. Una vez conectado, se une a un canal que recibe y ejectua comandos en el sistema afectado, por lo que el ordenador infectado puede llegar a funcionar como una BotNet. El atacante remoto ejecuta comandos en el sistema infectado para descargar y ejecutar código maliciosos de las siguietes URL: * http://[eliminado].cn/ex/0032.exe - detectado como TROJ_INJECTOR.AR Esta rutina efectivamente compromete el sistema de seguridad del sistema afectado. La URL a la que se conecta, y el malware descargado puede cambiar dependiendo de las solicitudes del usuario remoto. El virus modifica el archivo HOST, insertando la siguiente entrada al principo del fichero * 127.0.0.1 [eliminado]F.pl NOTA: El fichero "Hosts" normalmente se encuentra ubicado en "%System%driversetc". Método de Propagación El virus se propaga dejando copias de sí mismo en varios ficheros ejecutables .EXE y .SCR. Puede llegar al sistema al ejecutar un fichero infectado, o desde Internet al visitar una página Web que contiene un iframe que enlaza a una página maliciosa.
15
« en: Lunes 9 de Febrero de 2009, 15:29 »
Información extraida de Alerta AntivirusPeligrosidad: 3 - Media Difusión: Baja Fecha de Alta:09-02-2009 Última Actualización:09-02-2009 Daño: Alto [Explicación de los criterios] Dispersibilidad: Alto Nombre completo: Worm-Backdoor.W32/Agent.IVP@MM+IRC Tipo: [Worm-Backdoor] - 'Malware' con capacidades de gusano y de puerta trasera Plataforma: [W32] - Ejecutable PE (.EXE, .SCR, .DLL) que corre en Windows de 32 bits: 95, 98, Me, NT, 2000, XP, 2003 y Vista Mecanismo principal de difusión: [MM+IRC] - Se difunde por envío masivo de correo a las direcciones recolectadas en la máquina y a través de canales IRC. Tamaño (bytes): 29658 Alias:Troj/Agent.IVP (PerAntivirus), Troj/Agent-IVP (Sophos) Detalles Método de Infección/Efectos El equipo se infecta con este gusano al ejecutar el usuario el fichero que lo contiene que recibe a través de canales IRC o en correos de SPAM. Cuando se ejecuta se copia a si mismo a la siguiente ubicación: * %UserProfile%Application Dataeehleehl.exe Nota: %UserProfile% es una variable que hace referencia al directorio del perfil del usuario actual. Por defecto es C:Documents and Settings{- usuario_actual -} (Windows NT/2000/XP). A continuación copia los siguientes archivos al equipo infectado: * %UserProfile%Application Dataeehlaoob.dll * %UserProfile%Application Dataeehleehl.dll Crea a continuación la siguiente entrada del registro de Windows para ejecutarse de nuevo con cada reinicio del sistema: Clave: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun Valor: eehl = "%UserProfile%Application Dataeehleehl.exe" Al estar activado en segundo plano el sistema infectado, su componente Backdoor, a través de puertos TCP abiertos, permite que intrusos puedan ingresar al sistema desde canales del IRC (Internet Chat Relay) y poder ejecutar, entre otras, las siguientes acciones: * Capturar información crítica del sistema. * Descargar y ejecutar archivos con códigos arbitrarios. * Iniciar y terminar procesos en ejecución. * Controlar el sistema en forma remota. Método de Propagación Al siguiente inicio del equipo después de su infección, el gusano captura los buzones de correo de la Libreta de Direcciones de Windows (WAB) y asuntos de mensajes contenidos de los sistemas infectados a los cuales le adjunta el archivo eehl.exe e inicia su rutina de envio MultiSPAM. Otros detalles * Está desarrollado en Assembler. * El código malicoso tiene un tamaño de 29658 bytes.
16
« en: Miércoles 4 de Febrero de 2009, 16:31 »
Tal cual como lo hicé con el Software de control de acceso de personal les dejo otro programa hechó para la compaía en la que trabajo que les facilitará el trabajo a la hora de hacer inventarios de bodega. Está probado recientemente hasta el 31 de enero y quedó funcionando al full se puede mejorar en un 1000% ya que yo no manejo POO en PHP. Autor: RadicalEd http://radicalpython.blogspot.com
17
« en: Martes 20 de Enero de 2009, 16:35 »
Información extraida de Alerta AntivirusDatos Técnicos Peligrosidad: 3 - Media Difusión: Baja Fecha de Alta:19-01-2009 Última Actualización:20-01-2009 Daño: Alto [Explicación de los criterios] Dispersibilidad: Alto Nombre completo: Worm.W32/Sadra@US Tipo: [Worm] - Programa que se replica copiándose entero (sin infectar otros ficheros) en la máquina infectada, y a través de redes de ordenadores Plataforma: [W32] - Ejecutable PE (.EXE, .SCR, .DLL) que corre en Windows de 32 bits: 95, 98, Me, NT, 2000, XP, 2003 Mecanismo principal de difusión: [US] - Unidades del sistema (locales, mapeadas, extraíbles). Alias:Win32/Sadra.A (Computer Associates), Trojan.Win32.Agent.avqc (Kaspersky) Detalles Método de Infección/Efectos Cuando es ejecutado por primera vez, Win32/Sadra crea las siguientes entradas en el registro de Windows para permitir ser ejecutado en cada inicio del sistema: Clave:HKLMSoftwareMicrosoftWindowsCurrentVersionRun Valor:Sandra Dewi Bugil = "C:WindowsSandra Dewi Bugil.exe" El gusano se copia a sí mismo en las siguientes rutas: * C:Sandra Dewi Bugil.exe * C:WindowsSandra Dewi Bugil.exe * C:WindowsSystem32Sandra Dewi Bugil.exe * C:Documents and Settings%usuario%Start MenuProgramsStartupSandra Dewi Bugil.exe Nota: Si en el sistema no existieran los directorios C:WindowsSystem32 o C:Documents and Settings%usuario%Start MenuProgramsStartup el copiado de ficheros fallaría. El gusano realiza las siguientes modificaciones al sistema: Clave:HKLMSoftwareMicrosoftWindowsNTCurrentVersionWinlogon Valor:LegalNoticeCaption = "Cinta Ditolak VIRUS Bertindak.::CREATION BUDI DARMA::." Clave:HKLMSoftwareMicrosoftWindowsNTCurrentVersionWinlogon Valor:LegalNoticeText = "Sangat sakit rasanya apabila cinta kita ditolak oleh seseorang, pada zaman dahulu orang menggunakan fasilitas dukun sebagai media untuk mendapatkan cintanya. Seiring dengan berkembangnya Teknokogi Informasi media yang digunakan untuk mendapatkan cintanya adalah VIRUS" El gusano cambia el texto de Internet Explorer: Imagen del Internet Explorer tras la ejecución del gusano ...con la siguiente entrada del registro: Clave:HKCUSoftwareMicrosoftInternet ExplorerMain Valor:Window Title = "::CREATION::BUDI::DARMA::" Cambia el dueño del sistema a "Dewi Bugil" y la organización a "Sandra" con las siguiente entradas del registro: Clave:HKLMSOFTWAREMicrosoftWindows NTCurrentVersion Valor:RegisteredOwner = "Dewi Bugil" Valor:RegisteredOrganization = "Sandra" Deshabilita el intérprete de comandos, el editor del registro, el administrador de tareas y la utilidad de configuración del sistema de Microsoft: Clave:HKCUSoftwarePoliciesMicrosoftWindowssystem Valor:DisableCMD = 1 Clave:HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesSystem Valor:DisableRegistryTools = 1 Valor:DisableTaskMgr = 1 Valor:DisableMsConfig = 1 Elimina los iconos "Ejecutar", "Buscar", "Panel de control", "Programas" y "Cerrar Sesion" como se muestra a continuación: Imagen de como queda el menu de inicio Clave:HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer Valor:NoRun = 1 Clave:HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer Valor:NoFind = 1 Clave:HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer Valor:NoControlPanel = 1 Clave:HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer Valor:NoStartMenuMorePrograms = 1 Clave:HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer Valor:StartMenuLogoff = 1 Clave:HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer Valor:NoClose = 1 Elimina las opciones de carpeta de los menús del explorador de Windows y el panel de control: Clave:HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer Valor:NoFolderOptions = 1 Deshabilita la posibilidad de ver los contenidos de las unidades de Mi PC: Clave:HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer Valor:NoViewOnDrive = 1 Elimina el acceso a los enlaces simbólicos en el explorador de Windows y el escritorio: Clave:HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer Valor:NoViewContextMenu = 1 Muestra los ficheros y carpetas ocultos: Clave:HKCUSoftwareMicrosoftWindowsCurrentVersionAdvanced Valor:Hidden = 1 Efectos Win32/Sadra muestra una serie de cuadros de diálogo por pantalla, comenzando por el siguiente: Imagen inicial Si el usuario pulsa los botones "Keluar" o "Exit" , el gusano muestra un aviso que pide al usuario que se envien comentarios a la dirección de correo: ???9989@yahoo.com Si, en esta ventana, el usuario pulsa el boton "Ok" el gusano comienza un reinicio del sistema en 60 segundos y muestra un mensaje como el siguiente, que básicamente dice "Pobre de ti.". Ventana de dialogo Tras el reinicio del sistema Win32/Sadra muestra un nuevo mensaje en indonesio. Método de Propagación Win32/Sadra se copia a sí mismo en todas las unidades tanto fijas como extraíbles disponibles en el sistema. De esta manera, intenta dejar una copia de ejecutable del gusano en cada unidad que encuentra, junto con un fichero "autorun.inf" que automáticamente ejecuta el gusano cuando esa unidad es accedida.
18
« en: Miércoles 14 de Enero de 2009, 18:04 »
Información extraida de Alerta AntivirusPeligrosidad: 3 - Media Difusión: Baja Fecha de Alta:14-01-2009 Última Actualización:14-01-2009 Daño: Alto [Explicación de los criterios] Dispersibilidad: Alto Nombre completo: Worm.W32/Samal@DE Tipo: [Worm] - Programa que se replica copiándose entero (sin infectar otros ficheros) en la máquina infectada, y a través de redes de ordenadores Plataforma: [W32] - Ejecutable PE (.EXE, .SCR, .DLL) que corre en Windows de 32 bits: 95, 98, Me, NT, 2000, XP, 2003 Mecanismo principal de difusión: [DE] - Se propaga a dispositivos extraíbles insertados o conectados en/al equipo afectado. Alias:Salma.A (Panda Security) Detalles Método de Infección/Efectos El gusano se copia a sí mismo creando los siguiente ficheros: * %System%SMMS.EXE * %System%infCSRSS.EXE * %System%infDISKINI.XP Nota: %System% es una variable que hace referencia al directorio del sistema de Windows. Por defecto es C:WindowsSystem (Windows 95/98/Me), C:WinntSystem32 (Windows NT/2000), o C:WindowsSystem32 (Windows XP). Crea los siguiente archivos: * %System%SMMS.BAT * %ProgramFiles%emuleincoming[TRAFFIK]CRACK FOR WINDOWS.SIK Nota: %ProgramFiles% es una variable que hace referencia al directorio de instalación por defecto de aplicaciones en sistemas Windows. Por defecto es C:Archivos de Programa (Windows98/Me/2000/XP). También puede ser C:Program Files (Windows NT) y en instalaciones de Windows en inglés. El segundo archivo, es el que atestigua que el ordenador está infectado por el gusano, y tiene el siguiente contenido: Samael 3.0 %hora del sistema% %fecha del sistema% EN Crea el archivo AUTORUN.INF en todas las unidades del sistema para conseguir ejecutar automáticamente las copias del gusano cada vez que se acceda a alguna de ellas. Samal modifica el archivo NTLDR del directorio raíz de la unidad C:. De esta manera, consigue que se muestren los mensajes mencionados previamente cuando se inicia el ordenador. Crean las siguiente entrada de registro para ejecutarse automáticamente en cada reinicio del sistema: Clave: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun Valor: Proyecto1 = %windir%smms.exe Crea las siguientes entradas del registro como parte de su rutina de instalación Clave: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorer UserAssist{75048700-EF1F-11D0-9888-006097DEACF9}Count Valor: HRZR_EHACNGU Valor: HRZR_EHACNGU:CRGbbyf.yax Valor: HRZR_EHACNGU:P:Cebtenz SvyrfVaPgey5VaPgey5.rkr Valor: HRZR_EHACNGU:VaPgey5.yax Valor: HRZR_HVFPHG En el siguiente reinicio del ordenador, antes de que el equipo se inicie aparecerá el siguiente mensaje: "AH AH YOU DIN'T SAY THE MAGIC WORD:" Traducido al castellano esta frase significa: "Ah ah no has dicho la palabra mágica" Esta es una imagen del texto mostrado en pantalla: Después de intentar introducir cualquier palabra 3 veces, mostrará el siguiente mensaje en inglés: "Samael has come. This is the end." Que traducido al castella significa: "Samael ha llegado. Es el fin" Esta es una imagen del mensaje que se muestra Después de los mensajes el ordenador no podrá reiniciarse. Y si se inicia de nuevo el ordenador, volverá a salir el primer mensaje. Si la fecha de ordenador es distinta a 2009, no se mostrará ningún mensaje, pero el ordenador estará reiniciándose continuamente. Método de Propagación Se propaga realizando copias de sí mismo en todas las unidades del sistema. El nombre con el que se copia es INFO.EXE, y crea también un archivo AUTORUN.INF en todas las unidades para que la copia del gusano se ejecute automáticamente cada vez que se acceda a alguna de ellas.
19
« en: Martes 30 de Diciembre de 2008, 15:13 »
Pues como desde mañana me desconectaré del Internet, 'tons desde hoy les deseo un FELIZ AÑO NUEVO 2009 que la pasen super con sus familias y que se les cumpla todo en este nuevo año, los quiero un resto.
20
« en: Martes 23 de Diciembre de 2008, 16:54 »
Hola chicos de SoloCodigo, tengo un problema bastante extraño, nunca me había pasado y pues no entiendo por qué es??? Tengo este código $query_ro = "SELECT * FROM tbsolicitud_db WHERE con=".$soli; { $con = $row_ro[0]; $ses = $row_ro[1]; $hg = $row_co[3]; $valor = $row_ro[6]; $con_usuario = $row_ro[2]; $concli = $row_ro[4]; $depi = $row_co[11];
Si doy un echo de esas variables me arroja los datos, pero si quiero crear una nueva variable: $query_ro = "SELECT * FROM tbsolicitud_db WHERE con=".$soli; { $con = $row_ro[0]; $ses = $row_ro[1]; $hg = $row_co[3]; $valor = $row_ro[6]; $con_usuario = $row_ro[2]; $concli = $row_ro[4]; $depi = $row_co[11]; $occ = $row_co[5]; //Nueva variable $connew = $row_ro[0]; //Nueva variable con el mismo dato de la primera
Las dos últimas no toman los datos, no imprimen nada, alguién sabe porqué pasa esto???
21
« en: Lunes 15 de Diciembre de 2008, 22:00 »
Hola chicos de SoloCodigo, tengo un problema con una aplicación para recorrer un directorio, el .php lo tengo en /var/www/app/index.php y quiero recorrer el directorio /home/miuser/, lo hago con este código: //index.php $p_directorio_det = '/home/usuario/'; if (is_dir($p_directorio_det)) { echo "Si es un directorio"; if ($dh = opendir($p_directorio_det)) { while (($archivo = readdir($dh)) !== false) { if ($archivo != "." && $archivo != "..") { $archivo_movimiento_fuente = $p_directorio_det.$archivo; } } } } } else { echo "No es un directorio"; }
Y me está imprimiendo diciendo que no es un directorio, alguien sabe por qué pasa esto??? Gracias Chao.
22
« en: Miércoles 3 de Diciembre de 2008, 19:23 »
Un pequeño script para descargar Videos del YouTube #!/usr/bin/env python #Probado con un video de Dragon Ball Z #http://es.youtube.com/watch?v=MJoAZPTiWBA #Desarrollado por RadicalEd import re, sys, urllib2 #se toman los datos ingresados por la linea de comandos arg = sys.argv #obtenemos el fuente de la pagina s = urllib2.urlopen(arg[1]).read() #Con expresiones regulares se obtiene todo lo que venga despues del 'video_id=' m = re.search('(?<=video_id=).*', s) video = m.group(0) #Quitamos la comilla simple o doble que haya al final video = video.replace("';", '') video = video.replace('";', '') flv = urllib2.urlopen('http://www.youtube.com/get_video?video_id='+video) #Guardamos el archivo archiflv = open('video.flv', 'w') archiflv.write(flv.read()) archiflv.close() #La siguiente línea se puede descomentar si tienes un linux instalado con el paquete ffmpeg #os.system('ffmpeg -i video.flv video.avi')
23
« en: Viernes 28 de Noviembre de 2008, 22:06 »
Información extraida de: Alerta AntivirusDatos Técnicos Peligrosidad: 3 - Media Difusión: Baja Fecha de Alta:28-11-2008 Última Actualización:28-11-2008 Daño: Alto [Explicación de los criterios] Dispersibilidad: Alto Nombre completo: Worm.W32/Nakhatar@US Tipo: [Worm] - Programa que se replica copiándose entero (sin infectar otros ficheros) en la máquina infectada, y a través de redes de ordenadores Plataforma: [W32] - Ejecutable PE (.EXE, .SCR, .DLL) que corre en Windows de 32 bits: 95, 98, Me, NT, 2000, XP, 2003 Mecanismo principal de difusión: [US] - Unidades del sistema (locales, mapeadas, extraíbles). Tamaño (bytes): 289507 Alias: Nakhatar.A (Panda Security) Detalles Método de Infección/Efectos Realiza las siguientes acciones: * Deshabilita los siguientes elementos: o Editor del Registro de Windows. o Administrador de Tareas, lo que impediría al usuario visualizar los procesos que están en ejecución. o Opciones de carpeta del Explorador de Windows, que impide acceder al menú de configuración de las carpetas. * Cuando el usuario intenta acceder al Editor del Registro de Windows, muestra un mensaje notificando al usuario que esta aplicación ha sido deshabilitada por el administrador y que se ponga en contacto con él. Cuando se acepta este mensaje, muestra un nuevo mensaje: * Por otra parte, si el usuario intenta ejecutar el Administrador de Tareas, muestra el siguiente mensaje: * Crea el archivo KHATARNAK.EXE en el directorio de sistema de Windows. Este archivo es una copia del gusano. * Crea las siguientes entradas en el Registro de Windows: Clave: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun Valor: KHATARNAK Loader = %sysdir%KHATARNAK.EXE Mediante esta entrada, consigue ejecutarse cada vez que Windows se inicia. Clave: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPolicies System Valor: DisableRegistryTools = 01, 00, 00, 00 Deshabilita el Editor del Registro de Windows. Clave: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPolicies System Valor: DisableTaskMgr = 01, 00, 00, 00 Deshabilita el Administrador de Tareas. Clave: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPolicies Explorer Valor: NoFolderOptions = 1 No muestra la opción Opciones de Carpeta en el Explorador de Windows. * Modifica la siguiente entrada del Registro de Windows, para ejecutarse cada vez que Windows se inicia: Clave: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon Valor: Shell = Explorer.exe Cambia esta entrada por: Clave: HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NT CurrentVersionWinlogon Valor: Shell = Explorer.exe KHATARNAK.exe Método de Propagación Este gusano se propaga creando copias de sí mismo en el directorio raíz de todas las unidades del sistema disponibles. Además, las copias de sí mismo tendrán el mismo nombre que las carpetas creadas en esos directorios. Si en el directorio raíz de la unidad C: el usuario tiene una carpeta con el nombre DOCUMENTOS, creará una copia de sí mismo con el nombre DOCUMENTOS.EXE. Otros detalles Tiene un tamaño de 289507 bytes y está comprimido mediante Autoit.
24
« en: Miércoles 26 de Noviembre de 2008, 14:37 »
FELIZ CUMPLEAÑOS Kev, QUE LOS CUMPLAS HASTA EL AÑO 800000
25
« en: Martes 25 de Noviembre de 2008, 23:05 »
DansGuardian Configurator es una aplicacion hecha en WXPython para dar un manejo sencillo al Web Filter Content DansGuardian el cual es un intermediario del proxy Squid. Autor: Edo http://radicalpython.blogspot.com
|
|
|