Provate a dare la soluzione

Area di discussione libera.

Moderatore: Staff

Regole del forum
1) Rispettare le idee altrui.
2) Evitare le offese dirette.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Provate a dare la soluzione

Messaggio da ilmich »

Mi hanno passato questo piccolo rompicapo da risolvere :D
Ho capito di che si tratta, ma un po' per tempo.. un po' perchè mi manca qualche conoscenza tecnica non so dare ancora la risposta corretta.
Mi piacerebbe avere le vostre soluzioni/idee in merito
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Provate a dare la soluzione

Messaggio da Ansa89 »

Sembra un eseguibile dos (file ".com").
Probabilmente ti chiede una password e la controlla con una sua stringa interna, quindi si deve decompilare l'eseguibile e vedere cosa esce.

Non ho eseguito il file per due motivi:
- non sono su Windows.
- _MAI_ eseguire codice trovato su una pagina web a caso.

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Provate a dare la soluzione

Messaggio da ilmich »

complimenti... ci sei andato molto vicino...
è codice assembler x86 a 32bit (quindi coi sistemi a 64bit nn va bene)
in pratica stampa la soluzione.. io non l'ho eseguito perchè non ho ancora avuto il tempo materiale di farlo e comunque bisogna codificare in c un qualcosa che lo carichi in memoria e lo lanci e io col c sono un po' arrugginito..
per quanto riguarda la tua preoccupazione 160 byte mi sembrano un po' troppo pochi per un qualunque malware.. soprattutto se per trovare la soluzione hai capito che è codice macchina.. e quindi cosa fa lo sai :D

comunque ottima risposta :D
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Provate a dare la soluzione

Messaggio da Ansa89 »

Quello non mi sembra codice assembler, mi sembra codice già compilato.
Comunque se ho un paio di minuti liberi, provo a risolverlo.

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Provate a dare la soluzione

Messaggio da ilmich »

scusa la domanda ignorante(sarà per questo che ancora non so scrivere la benedetta risposta) ma che differenza c'e'!??!!?
voglio dire un programma compilato non viene convertito alla fine in codice macchina!??!?!

io mi sono accorto che era comunque un eseguibile perchè un algoritmo di cifratura non poteva essere (ci sono caratteri ripetuti verso la fine e un algoritmo decente non fa di questi errori) poi con una tabella degli opcode delle istruzioni x86 ho iniziato un po' a disassemblarlo in maniera brutale e mi è sembrato avesse un senso.. sembrava il codice di una funzione che restituisse qualcosa
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Provate a dare la soluzione

Messaggio da Ansa89 »

Il codice macchina è una sequenza di zeri e uni che il processore è in grado di capire (ovviamente questa sequenza può essere rappresentata anche in ottale, o esadecimale per comodità); invece il codice assembler è codice scritto secondo un qualche standard assembly (es: AT&T).
In parole povere: l'assembly è un linguaggio di programmazione (tipo il C, il java, ecc); il codice macchina è il risultato della compilazione del codice sorgente.

Avatar utente
Plaoo
Linux 3.x
Linux 3.x
Messaggi: 809
Iscritto il: gio 10 apr 2008, 17:40
Slackware: 14 64
Kernel: 3.2.9
Desktop: KDE
Località: Ittiri (SS)

Re: Provate a dare la soluzione

Messaggio da Plaoo »

Non lo provo solamente perchè non posso fare copia-incolla visto che si tratta di un immagine.
Il canale ufficiale di slacky.eu si trova sui server irc.syrolnet.org canale #slackware

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Provate a dare la soluzione

Messaggio da Ansa89 »

Plaoo ha scritto:Non lo provo solamente perchè non posso fare copia-incolla visto che si tratta di un immagine.
:lol:
Tieni e divertiti anche tu.
Allegati
test.tar.bz2
(313 Byte) Scaricato 124 volte

Avatar utente
Plaoo
Linux 3.x
Linux 3.x
Messaggi: 809
Iscritto il: gio 10 apr 2008, 17:40
Slackware: 14 64
Kernel: 3.2.9
Desktop: KDE
Località: Ittiri (SS)

Re: Provate a dare la soluzione

Messaggio da Plaoo »

Ansa89 ha scritto: :lol:
Tieni e divertiti anche tu.
AHAHAHAH Grazie mille!!! E io che volevo uscire a farmi un giro :lol: :lol:
Il canale ufficiale di slacky.eu si trova sui server irc.syrolnet.org canale #slackware

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Provate a dare la soluzione

Messaggio da ilmich »

ecco il disassemblato prodotto con ndisasm -b 32 test.com

Codice: Seleziona tutto

00000000  EB04              jmp short 0x6
00000002  AF                scasw
00000003  C2BFA3            ret 0xa3bf
00000006  81EC0001          sub sp,0x100
0000000A  0000              add [bx+si],al
0000000C  31C9              xor cx,cx
0000000E  880C              mov [si],cl
00000010  0CFE              or al,0xfe
00000012  C1                db 0xc1
00000013  75F9              jnz 0xe
00000015  31C0              xor ax,ax
00000017  BAEFBE            mov dx,0xbeef
0000001A  AD                lodsw
0000001B  DE02              fiadd word [bp+si]
0000001D  040C              add al,0xc
0000001F  00D0              add al,dl
00000021  C1CA08            ror dx,0x8
00000024  8A1C              mov bl,[si]
00000026  0C8A              or al,0x8a
00000028  3C04              cmp al,0x4
0000002A  881C              mov [si],bl
0000002C  0488              add al,0x88
0000002E  3C0C              cmp al,0xc
00000030  FEC1              inc cl
00000032  75E8              jnz 0x1c
00000034  E95C00            jmp word 0x93
00000037  0000              add [bx+si],al
00000039  89E3              mov bx,sp
0000003B  81C30400          add bx,0x4
0000003F  0000              add [bx+si],al
00000041  5C                pop sp
00000042  58                pop ax
00000043  3D4141            cmp ax,0x4141
00000046  41                inc cx
00000047  41                inc cx
00000048  7543              jnz 0x8d
0000004A  58                pop ax
0000004B  3D4242            cmp ax,0x4242
0000004E  42                inc dx
0000004F  42                inc dx
00000050  753B              jnz 0x8d
00000052  5A                pop dx
00000053  89D1              mov cx,dx
00000055  89E6              mov si,sp
00000057  89DF              mov di,bx
00000059  29CF              sub di,cx
0000005B  F3A4              rep movsb
0000005D  89DE              mov si,bx
0000005F  89D1              mov cx,dx
00000061  89DF              mov di,bx
00000063  29CF              sub di,cx
00000065  31C0              xor ax,ax
00000067  31DB              xor bx,bx
00000069  31D2              xor dx,dx
0000006B  FEC0              inc al
0000006D  021C              add bl,[si]
0000006F  06                push es
00000070  8A14              mov dl,[si]
00000072  06                push es
00000073  8A34              mov dh,[si]
00000075  1E                push ds
00000076  8834              mov [si],dh
00000078  06                push es
00000079  8814              mov [si],dl
0000007B  1E                push ds
0000007C  00F2              add dl,dh
0000007E  30F6              xor dh,dh
00000080  8A1C              mov bl,[si]
00000082  16                push ss
00000083  8A17              mov dl,[bx]
00000085  30DA              xor dl,bl
00000087  8817              mov [bx],dl
00000089  47                inc di
0000008A  49                dec cx
0000008B  75DE              jnz 0x6b
0000008D  31DB              xor bx,bx
0000008F  89D8              mov ax,bx
00000091  FEC0              inc al
00000093  CD80              int 0x80
00000095  90                nop
00000096  90                nop
00000097  E89DFF            call word 0x37
0000009A  FF                db 0xff
0000009B  FF4141            inc word [bx+di+0x41]
0000009E  41                inc cx
0000009F  41                inc cx
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Avatar utente
Plaoo
Linux 3.x
Linux 3.x
Messaggi: 809
Iscritto il: gio 10 apr 2008, 17:40
Slackware: 14 64
Kernel: 3.2.9
Desktop: KDE
Località: Ittiri (SS)

Re: Provate a dare la soluzione

Messaggio da Plaoo »

@Ansa89: tu mi hai passato un .com quando leggo int 80 che sarebbe interrupt per il richiamo delle syscall linux.
Il canale ufficiale di slacky.eu si trova sui server irc.syrolnet.org canale #slackware

Avatar utente
Ansa89
Iper Master
Iper Master
Messaggi: 2703
Iscritto il: mer 29 ago 2007, 17:57
Nome Cognome: Stefano Ansaloni
Slackware: 14.2 64bit
Kernel: 4.9.61
Desktop: XFCE 4.12
Località: Modena

Re: Provate a dare la soluzione

Messaggio da Ansa89 »

Sì, infatti mi stanno venendo dei dubbi.
Però:

Codice: Seleziona tutto

$ file test.com
test.com: DOS executable (COM)
:-k

Avatar utente
zoros
Linux 4.x
Linux 4.x
Messaggi: 1361
Iscritto il: lun 28 mag 2007, 22:51
Nome Cognome: Fabio`Zorba`
Slackware: 14.1
Kernel: 3.10.30-smp
Desktop: KDE-3.5(works!)
Località: Gorizia
Contatta:

Re: Provate a dare la soluzione

Messaggio da zoros »

provate a disassemblarlo a 64 bit, è molto più suggestivo, per la presenza di

Codice: Seleziona tutto

00000017  BAEFBEADDE        mov edx,0xdeadbeef
e per la comparazione delle stringhe "AAAA" e "BBBB"
vorrei riavere le mie firme ...

ilmich
Master
Master
Messaggi: 1645
Iscritto il: lun 16 lug 2007, 17:39
Slackware: 15.0 64bit
Kernel: 5.15.27
Desktop: kde
Località: Roma

Re: Provate a dare la soluzione

Messaggio da ilmich »

secondo me questi byte non rappresentano un eseguibile in se, ma del codice macchina da caricare in memoria tramite una programma ausiliare in c eppoi tramite puntatori(o qualcosa di simile) eseguirlo
#LiveSimple and #ProgramThings
https://github.com/ilmich
http://ilmich6502.it/

Avatar utente
sya54M
Master
Master
Messaggi: 1665
Iscritto il: mer 6 giu 2007, 14:44
Nome Cognome: Andrea Peluso
Slackware: 64-current
Kernel: ultimo
Desktop: KDE
Località: (Salerno)
Contatta:

Re: Provate a dare la soluzione

Messaggio da sya54M »

miklos ha scritto:secondo me questi byte non rappresentano un eseguibile in se, ma del codice macchina da caricare in memoria tramite una programma ausiliare in c eppoi tramite puntatori(o qualcosa di simile) eseguirlo
infatti l'ho provato e non si esegue un bel niente ne su wine e ne su una macchina virtuale win7 da semplicemente errore perchè non è un eseguibile

Rispondi