Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Circular import when importing PBA before exploiters #476

Closed
danielguardicore opened this issue Oct 31, 2019 · 0 comments
Closed

Circular import when importing PBA before exploiters #476

danielguardicore opened this issue Oct 31, 2019 · 0 comments
Assignees
Labels
Bug An error, flaw, misbehavior or failure in the Monkey or Monkey Island.

Comments

@danielguardicore
Copy link
Contributor

Describe the bug
We have a dependency on import ordering.

The following stack trace example
from infection_monkey.post_breach.pba import PBA

ImportError Traceback (most recent call last)
in ()
----> 1 from infection_monkey.post_breach.pba import PBA

C:\w\monkey\monkey\monkey\infection_monkey\post_breach\pba.py in ()
3
4 from common.utils.attack_utils import ScanStatus
----> 5 from infection_monkey.telemetry.post_breach_telem import PostBreachTelem
6 from infection_monkey.utils.environment import is_windows_os
7 from infection_monkey.config import WormConfiguration

C:\w\monkey\monkey\monkey\infection_monkey\telemetry\post_breach_telem.py in ()
1 import socket
2
----> 3 from infection_monkey.telemetry.base_telem import BaseTelem
4
5 author = "itay.mizeretz"

C:\w\monkey\monkey\monkey\infection_monkey\telemetry\base_telem.py in ()
3 import logging
4
----> 5 from infection_monkey.control import ControlClient
6
7 logger = logging.getLogger(name)

C:\w\monkey\monkey\monkey\infection_monkey\control.py in ()
8
9 import infection_monkey.monkeyfs as monkeyfs
---> 10 import infection_monkey.tunnel as tunnel
11 from infection_monkey.config import WormConfiguration, GUID
12 from infection_monkey.network.info import local_ips, check_internet_access, TIMEOUT

C:\w\monkey\monkey\monkey\infection_monkey\tunnel.py in ()
9 from infection_monkey.network.info import local_ips, get_free_tcp_port
10 from infection_monkey.network.tools import check_tcp_port
---> 11 from infection_monkey.transport.base import get_last_serve_time
12 from infection_monkey.exploit.tools.helpers import get_interface_to_target
13

C:\w\monkey\monkey\monkey\infection_monkey\transport_init_.py in ()
----> 1 from infection_monkey.transport.http import HTTPServer, LockedHTTPServer
2
3
4 author = 'hoffer'

C:\w\monkey\monkey\monkey\infection_monkey\transport\http.py in ()
10 import infection_monkey.monkeyfs as monkeyfs
11 from infection_monkey.transport.base import TransportProxyBase, update_last_serve_time
---> 12 from infection_monkey.exploit.tools.helpers import get_interface_to_target
13
14 author = 'hoffer'

C:\w\monkey\monkey\monkey\infection_monkey\exploit_init_.py in ()
76
77
---> 78 from infection_monkey.exploit.win_ms08_067 import Ms08_067_Exploiter
79 from infection_monkey.exploit.wmiexec import WmiExploiter
80 from infection_monkey.exploit.smbexec import SmbExploiter

C:\w\monkey\monkey\monkey\infection_monkey\exploit\win_ms08_067.py in ()
16
17 from infection_monkey.exploit.tools.helpers import get_target_monkey, get_monkey_depth, build_monkey_commandline
---> 18 from infection_monkey.exploit.tools.smb_tools import SmbTools
19 from infection_monkey.model import DROPPER_CMDLINE_WINDOWS, MONKEY_CMDLINE_WINDOWS
20 from infection_monkey.network.smbfinger import SMBFinger

C:\w\monkey\monkey\monkey\infection_monkey\exploit\tools\smb_tools.py in ()
10 import infection_monkey.monkeyfs as monkeyfs
11 from common.utils.attack_utils import ScanStatus
---> 12 from infection_monkey.telemetry.attack.t1105_telem import T1105Telem
13 from infection_monkey.exploit.tools.helpers import get_interface_to_target
14

C:\w\monkey\monkey\monkey\infection_monkey\telemetry\attack\t1105_telem.py in ()
----> 1 from infection_monkey.telemetry.attack.victim_host_telem import AttackTelem
2
3
4 class T1105Telem(AttackTelem):
5 def init(self, status, src, dst, filename):

C:\w\monkey\monkey\monkey\infection_monkey\telemetry\attack\victim_host_telem.py in ()
----> 1 from infection_monkey.telemetry.attack.attack_telem import AttackTelem
2
3 author = "VakarisZ"
4
5

C:\w\monkey\monkey\monkey\infection_monkey\telemetry\attack\attack_telem.py in ()
----> 1 from infection_monkey.telemetry.base_telem import BaseTelem
2
3 author = "VakarisZ"
4
5

ImportError: cannot import name 'BaseTelem'

@danielguardicore danielguardicore added Bug An error, flaw, misbehavior or failure in the Monkey or Monkey Island. Monkey labels Oct 31, 2019
@danielguardicore danielguardicore self-assigned this Oct 31, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug An error, flaw, misbehavior or failure in the Monkey or Monkey Island.
Projects
None yet
Development

No branches or pull requests

1 participant