Achar um processo via porta aberta no windows

2

Posted on : 24-05-2008 | By : .rafa | In : Sistemas Operacionais, Windows

Esses dias tive um problema sério com virus e trojans. Até ai blz.. passei anti-spywares/anti-vírus e estava quase tudo beleza, quando testei um software que enviava pacotes streams para fora via porta 1040, a primeira vez que executei foi tudo ok, mas fiz uma parada para manutenção e quando habilitei novamente me deparei com uma situação muito estranha, o programa nao pode enviar mais os pacotes pela porta 1040 pois esta porta ja estava vendo usada. Estranho muito estranho.
Ai quiz saber quem é que estava usando essa maldita porta e é muito simples:

Primeiramente entre no prompt de comando (MS-DOS) e executar tudo via linha de comando.

Para listar o Idprocess que está usando uma determinada porta

C:\> netstat -o -a
Conexões ativas
 
Proto  Endereço local              Endereço externo     Estado
TCP    minhamaquina:epmap          minhamaquina:0        LISTENING       920
TCP    minhamaquina:microsoft-ds   minhamaquina:0        LISTENING       4
TCP    minhamaquina:2030           minhamaquina:0        LISTENING       1708
TCP    minhamaquina:3389           minhamaquina:0        LISTENING       860
TCP    minhamaquina:5800           minhamaquina:0        LISTENING       1996
TCP    minhamaquina:1042           minhamaquina:0        LISTENING       1996
TCP    minhamaquina:1521           minhamaquina:0        LISTENING       868
TCP    minhamaquina:3113           localhost:3591        ESTABLISHED     2920
TCP    minhamaquina:3164           localhost:3591        ESTABLISHED     2920
TCP    minhamaquina:3310           localhost:3311        ESTABLISHED     4080
TCP    minhamaquina:3311           localhost:3310        ESTABLISHED     4080
TCP    minhamaquina:3312           localhost:3313        ESTABLISHED     4080
TCP    minhamaquina:3313           localhost:3312        ESTABLISHED     4080
TCP    minhamaquina:3380           localhost:3583        ESTABLISHED     3500
TCP    minhamaquina:3473           localhost:3583        ESTABLISHED     3500
TCP    minhamaquina:3563           minhamaquina:0        LISTENING       2572
TCP    minhamaquina:3566           minhamaquina:0        LISTENING       868
TCP    minhamaquina:3581           minhamaquina:0        LISTENING       3200

E desta forma achei quem estava usando a porta 1042 que esta representado na linha 10.

Feito isso pode ser aberto o gerenciador de processos do windows e adicionar a coluna de ID de processos ou continuar no MS-DOS e fazer tudo por ali.

Agora tenho o processo 1996 e quero descobrir quem é esse cara

C:\>tasklist /FO list
 
Nome da imagem            Identi Nome da sessão    Sessão# Uso de memór
========================= ====== ================ ======== ============
System Idle Process            0 Console                 0         16 K
System                         4 Console                 0         28 K
smss.exe                     568 Console                 0        128 K
csrss.exe                    624 Console                 0      3.096 K
winlogon.exe                 648 Console                 0      7.872 K
services.exe                 692 Console                 0      1.840 K
lsass.exe                    704 Console                 0      3.192 K
svchost.exe                  860 Console                 0      1.692 K
svchost.exe                  920 Console                 0      1.464 K
svchost.exe                  996 Console                 0      9.796 K
svchost.exe                 1036 Console                 0      3.196 K
svchost.exe                 1140 Console                 0        928 K
GbpSv.exe                   1296 Console                 0        448 K
alg.exe                     1996 Console                 0     32.000 K
spoolsv.exe                 1340 Console                 0      1.000 K

Obs.: Caso tenha grep no windows
C:\> tasklist /FO list | grep -i "IDprocess"

E bingo achei o cara, um tal de alg.exe que ainda nao sei quem é exatamente, procurei na net e pode ser um virus ou algo do genero, porem ja desativei ele no micro e vamos ver como o micro se comporta sem esse cara.

Mas antes de apagar o arquivo temos que matar o processo, assim vamos matar pelo MS-DOS mesmo.

Para matar o processo

C:\>taskkill /PID 1996 /F

Acabei de iniciar o meu aplicativo na porta 1040 e esta funcionando perfeitamente, claro esse foi o meu caso, mas caso queira identificar qualquer aplicativo utilizando N portas no micro podes seguir este artigo que assim você pode localiza-lo mais rapidamente do que baixar um programa de terceiros para fazer isso por você.

Obs.:

o alg.exe realmente é um arquivo legitimo do windows
O arquivo deve estar obrigatoriamente na pasta system32
C:\Windows\System32\alg.exe
caso ele não esteja nesta pasta, ele esteja,por exemplo, na:
C:\Windows\system\alg.exe
C:\Windows\alg.exe
Ele é um malware.

ALG.EXE - Application Layer Gateway service is a component of of Windows OS. It is required if you use a 3rd party firewall or Internet Connection Sharing (ICS) to connect to the internet. Do not end this program in task manager - you will lose all internet connectivity until next restart or login.

GREP for Windows

Tunel parte 2

1

Posted on : 23-05-2008 | By : .rafa | In : Linux (RH), Sistemas Operacionais

Bom imagino que o primeiro artigo sobre tunel ficou claro, porém muitos nem conhecem oracle e nem sabem como o utiliza. É uma pena!

Mas neste artigo vou mostrar como fazer um tunel de uma máquina que está na rede com a porta 3389 aguardando uma conexão e eu tenho somente acesso a um unico linux assim poderei puxar a porta do WTS para que eu consiga conectar fazendo assim um tunel:

Especificações:

Minha maquina em casa
IP Interno: 192.168.5.50
Meu Modem router
IP Interno: 192.168.5.254
IP Externo: 200.154.66.74

Servidor remoto Cliente X (Linux)
IP Externo: 200.45.3.1
IP Interno: 192.168.11.1
Servidor WTS na rede do Cliente X (Windows)
IP Interno: 192.168.11.20

Obs.: Sabendo que eu só tenho acesso via SSH porta 22 no servidor linux do cliente X porem estando ali posso pingar as máquinas internas caso este tenha acesso a estes micros/servers.

Então só para relembrar eu irei acessar o linux e farei um tunel para a máquina windos com WTS para que eu acesse remotamente uma maquina windows da rede do cliente.

Passos
a) abrir o putty


b) entrar com os dados para se conectar IP: 200.45.3.1 SSH porta: 22


c) Connection > SSH > Tunnels
d) Source port: 3355
e) Destination: localhost:3355


f) Add
g) Open


h) entrar com usuário e senha
i) no prompt digitar :

ssh -L 3355:192.168.11.20:3389 localhost

j) Nesta parte poderá solicitar usuário e senha, assim informe os memos dados que entrasse no item (h). Isto é por causa que estais se conectando novamente na própria máquina [localhost = 192.168.11.1 = maquina linux via SSH].

l) Deve-se deixar o putty aberto para que estabeleça o tunel com sua máquina, assim podendo prosseguir com os seguintes passos.


m) Iniciar > executar > mstsc /v localhost:3355
n) Digitar usuário e senha do WTS, e BINGO tais dentro da rede windows do cliente X.
Putty Release 0.60 - Link para download

Criptografando em MD5 no Oracle

0

Posted on : 19-05-2008 | By : .rafa | In : Banco de Dados, Geral, Linux (RH), Oracle, PL/SQL, Programação, Sistemas Operacionais

Esses dias um cliente me solicitou algo para criptografar senhas, já conhecia a package dba_obfuscation_toolkit e ai fui pesquisar mais sobre e achei uma forma otima para criptografar a senha em MD5, assim fiz a função dentro do owner do sistema que faz esta conversão:

CREATE OR REPLACE FUNCTION md5 (valor VARCHAR) RETURN VARCHAR2 IS
   v_input VARCHAR2(2000) := valor;
   hexkey VARCHAR2(32) := NULL;
BEGIN
   hexkey := RAWTOHEX(DBMS_OBFUSCATION_TOOLKIT.md5(input => UTL_RAW.cast_to_raw(v_input)));
   RETURN NVL(hexkey,'');
END;
 

Exemplo da utilização:

sql> SELECT md5('senhadorafael') FROM dual;
    70CB17EBF6A8DF8525016F7866075794