Skip to content

Commit 2d21cd7

Browse files
blackpintAlexander Pivnyak
andauthored
add device.listen_addr parameter (#337)
Co-authored-by: Alexander Pivnyak <[email protected]>
1 parent 148d74b commit 2d21cd7

File tree

4 files changed

+14
-2
lines changed

4 files changed

+14
-2
lines changed

opencanary/modules/git.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,8 @@ class CanaryGit(Factory, CanaryService):
7676
def __init__(self, config=None, logger=None):
7777
CanaryService.__init__(self, config=config, logger=logger)
7878
self.port = config.getVal("git.port", default=9418)
79+
self.listen_addr = config.getVal("device.listen_addr", default="")
7980
self.logtype = logger.LOG_GIT_CLONE_REQUEST
8081

8182
def getService(self):
82-
return internet.TCPServer(self.port, self)
83+
return internet.TCPServer(self.port, self, interface=self.listen_addr)

opencanary/modules/rdp.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
from twisted.internet.protocol import Protocol
66
from twisted.internet.protocol import Factory
7+
from twisted.application import internet
78

89

910
class RemoteDesktopProtocol(Protocol):
@@ -45,7 +46,11 @@ class CanaryRDP(Factory, CanaryService):
4546
def __init__(self, config=None, logger=None):
4647
CanaryService.__init__(self, config, logger)
4748
self.port = config.getVal("rdp.port", 3389)
49+
self.listen_addr = config.getVal("device.listen_addr", default="")
4850
self.logtype = logger.LOG_RDP
4951

52+
def getService(self):
53+
return internet.TCPServer(self.port, self, interface=self.listen_addr)
54+
5055

5156
CanaryServiceFactory = CanaryRDP

opencanary/modules/redis.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -439,9 +439,10 @@ class CanaryRedis(Factory, CanaryService):
439439

440440
def __init__(self, config=None, logger=None):
441441
CanaryService.__init__(self, config=config, logger=logger)
442+
self.listen_addr = config.getVal("device.listen_addr", default="")
442443
self.port = config.getVal("redis.port", default=6379)
443444
self.max_arg_length = config.getVal("redis.max_arg_length", default=30)
444445
self.logtype = logger.LOG_REDIS_COMMAND
445446

446447
def getService(self):
447-
return internet.TCPServer(self.port, self)
448+
return internet.TCPServer(self.port, self, interface=self.listen_addr)

opencanary/modules/vnc.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
from twisted.internet.protocol import Protocol
44
from twisted.internet.protocol import Factory
5+
from twisted.application import internet
56

67
from opencanary.modules.des import des
78

@@ -172,7 +173,11 @@ class CanaryVNC(Factory, CanaryService):
172173
def __init__(self, config=None, logger=None):
173174
CanaryService.__init__(self, config, logger)
174175
self.port = config.getVal("vnc.port", 5900)
176+
self.listen_addr = config.getVal("device.listen_addr", default="")
175177
self.logtype = logger.LOG_VNC
176178

179+
def getService(self):
180+
return internet.TCPServer(self.port, self, interface=self.listen_addr)
181+
177182

178183
CanaryServiceFactory = CanaryVNC

0 commit comments

Comments
 (0)