Skip to content

Commit ea10270

Browse files
committed
enforce libvirt_fwo_enable and disable
1 parent d89230f commit ea10270

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

lib/cuckoo/core/analysis_manager.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -601,6 +601,7 @@ def route_network(self):
601601
str(self.socks5s[self.route]["dnsport"]),
602602
str(self.socks5s[self.route]["port"]),
603603
)
604+
self.rooter_response = rooter("libvirt_fwo_enable", self.machine.interface, self.machine.ip)
604605

605606
elif self.route in ("none", "None", "drop"):
606607
self.rooter_response = rooter("drop_enable", self.machine.ip, str(self.cfg.resultserver.port))
@@ -618,6 +619,7 @@ def route_network(self):
618619
self.route = "drop"
619620

620621
if self.interface:
622+
self.rooter_response = rooter("libvirt_fwo_enable", self.machine.interface, self.machine.ip)
621623
if self.no_local_routing:
622624
input_interface = "dirty-line"
623625
# Traffic from lan to machine
@@ -666,6 +668,7 @@ def route_network(self):
666668
def unroute_network(self):
667669
routing = Config("routing")
668670
if self.interface:
671+
self.rooter_response = rooter("libvirt_fwo_disable", self.machine.interface, self.machine.ip)
669672
if self.no_local_routing:
670673
input_interface = "dirty-line"
671674
# Traffic from lan to machine
@@ -735,6 +738,7 @@ def unroute_network(self):
735738
str(self.socks5s[self.route]["dnsport"]),
736739
str(self.socks5s[self.route]["port"]),
737740
)
741+
self.rooter_response = rooter("libvirt_fwo_disable", self.machine.interface, self.machine.ip)
738742

739743
elif self.route in ("none", "None", "drop"):
740744
self.rooter_response = rooter("drop_disable", self.machine.ip, str(self.cfg.resultserver.port))

utils/rooter.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -469,6 +469,14 @@ def polarproxy_disable(interface, client, tls_port, proxy_port):
469469
"ACCEPT"
470470
)
471471

472+
def libvirt_fwo_enable(interface, source):
473+
"""Enable LIBVIRT_FWO for a specific interface and source."""
474+
run_iptables("-I", "LIBVIRT_FWO", "1", "-i", interface, "-s", source, "-j", "ACCEPT")
475+
476+
def libvirt_fwo_disable(interface, source):
477+
"""Disable LIBVIRT_FWO for a specific interface and source."""
478+
run_iptables("-D", "LIBVIRT_FWO", "-i", interface, "-s", source, "-j", "ACCEPT")
479+
472480
def init_rttable(rt_table, interface):
473481
"""Initialise routing table for this interface using routes
474482
from main table."""
@@ -1005,6 +1013,8 @@ def drop_disable(ipaddr, resultserver_port):
10051013
"disable_mitmdump": disable_mitmdump,
10061014
"polarproxy_enable": polarproxy_enable,
10071015
"polarproxy_disable": polarproxy_disable,
1016+
"libvirt_fwo_enable": libvirt_fwo_enable,
1017+
"libvirt_fwo_disable": libvirt_fwo_disable,
10081018
}
10091019

10101020
if __name__ == "__main__":

0 commit comments

Comments
 (0)