code organization #2

This commit is contained in:
urihershgc 2015-11-30 14:11:19 +02:00
parent 6b5c1e46aa
commit d984641f53
18 changed files with 363 additions and 365 deletions

View File

@ -2,9 +2,8 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="b6a17012-d37a-4cdd-b5ce-aba83b1d5fc7" name="Default" comment="">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/config.py" afterPath="$PROJECT_DIR$/chaos_monkey/config.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/control.py" afterPath="$PROJECT_DIR$/chaos_monkey/control.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/dropper.py" afterPath="$PROJECT_DIR$/chaos_monkey/dropper.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/exploit/__init__.py" afterPath="$PROJECT_DIR$/chaos_monkey/exploit/__init__.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/exploit/rdpgrinder.py" afterPath="$PROJECT_DIR$/chaos_monkey/exploit/rdpgrinder.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/exploit/smbexec.py" afterPath="$PROJECT_DIR$/chaos_monkey/exploit/smbexec.py" />
@ -12,27 +11,15 @@
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/exploit/tools.py" afterPath="$PROJECT_DIR$/chaos_monkey/exploit/tools.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/exploit/win_ms08_067.py" afterPath="$PROJECT_DIR$/chaos_monkey/exploit/win_ms08_067.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/exploit/wmiexec.py" afterPath="$PROJECT_DIR$/chaos_monkey/exploit/wmiexec.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/model/__init__.py" afterPath="$PROJECT_DIR$/chaos_monkey/model/__init__.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/model/host.py" afterPath="$PROJECT_DIR$/chaos_monkey/model/host.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/main.py" afterPath="$PROJECT_DIR$/chaos_monkey/main.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/monkey.py" afterPath="$PROJECT_DIR$/chaos_monkey/monkey.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/monkeyfs.py" afterPath="$PROJECT_DIR$/chaos_monkey/monkeyfs.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/__init__.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/__init__.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/firewall.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/firewall.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/info.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/info.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/network_scanner.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/network_scanner.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/ping_scanner.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/ping_scanner.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/range.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/range.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/smbfinger.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/smbfinger.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/sshfinger.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/sshfinger.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/tcp_scanner.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/tcp_scanner.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/network/tools.py" afterPath="$PROJECT_DIR$/chaos_monkey/network/tools.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/system_singleton.py" afterPath="$PROJECT_DIR$/chaos_monkey/system_singleton.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/transport/__init__.py" afterPath="$PROJECT_DIR$/chaos_monkey/transport/__init__.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/transport/base.py" afterPath="$PROJECT_DIR$/chaos_monkey/transport/base.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/transport/ftp.py" afterPath="$PROJECT_DIR$/chaos_monkey/transport/ftp.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/transport/http.py" afterPath="$PROJECT_DIR$/chaos_monkey/transport/http.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/transport/tcp.py" afterPath="$PROJECT_DIR$/chaos_monkey/transport/tcp.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/chaos_monkey/tunnel.py" afterPath="$PROJECT_DIR$/chaos_monkey/tunnel.py" />
</list>
<ignored path="monkey.iws" />
<ignored path=".idea/workspace.xml" />
@ -57,7 +44,7 @@
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/sshexec.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="126" column="21" selection-start-line="126" selection-start-column="21" selection-end-line="126" selection-end-column="21" />
<caret line="24" column="71" selection-start-line="24" selection-start-column="71" selection-end-line="24" selection-end-column="71" />
<folding>
<element signature="e#0#15#0" expanded="true" />
</folding>
@ -65,23 +52,33 @@
</provider>
</entry>
</file>
<file leaf-file-name="network_scanner.py" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/network_scanner.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.5381295">
<caret line="22" column="0" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
<folding>
<element signature="e#0#11#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="tools.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/tools.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="26" column="0" selection-start-line="26" selection-start-column="0" selection-end-line="26" selection-end-column="0" />
<folding>
<element signature="e#0#9#0" expanded="true" />
</folding>
<caret line="16" column="52" selection-start-line="16" selection-start-column="52" selection-end-line="16" selection-end-column="52" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="__init__.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/__init__.py">
<file leaf-file-name="ping_scanner.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/ping_scanner.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<caret line="5" column="5" selection-start-line="5" selection-start-column="5" selection-end-line="5" selection-end-column="5" />
<folding />
</state>
</provider>
@ -91,10 +88,8 @@
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/win_ms08_067.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="264" column="16" selection-start-line="264" selection-start-column="16" selection-end-line="264" selection-end-column="16" />
<folding>
<element signature="e#330#340#0" expanded="true" />
</folding>
<caret line="15" column="16" selection-start-line="15" selection-start-column="16" selection-end-line="15" selection-end-column="16" />
<folding />
</state>
</provider>
</entry>
@ -103,7 +98,7 @@
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/wmiexec.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="109" column="0" selection-start-line="109" selection-start-column="0" selection-end-line="109" selection-end-column="0" />
<caret line="17" column="0" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
@ -111,21 +106,21 @@
</provider>
</entry>
</file>
<file leaf-file-name="build_windows.bat" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/chaos_monkey/build_windows.bat">
<file leaf-file-name="range.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/range.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.05230769">
<caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
<state vertical-scroll-proportion="0.0">
<caret line="4" column="5" selection-start-line="4" selection-start-column="5" selection-end-line="4" selection-end-column="5" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="__init__.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/chaos_monkey/model/__init__.py">
<file leaf-file-name="rdpgrinder.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/rdpgrinder.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="14" column="0" selection-start-line="14" selection-start-column="0" selection-end-line="14" selection-end-column="0" />
<caret line="12" column="33" selection-start-line="12" selection-start-column="33" selection-end-line="12" selection-end-column="33" />
<folding />
</state>
</provider>
@ -135,22 +130,8 @@
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="6" column="0" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
<folding>
<element signature="e#0#39#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="rdpgrinder.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/rdpgrinder.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="94" column="36" selection-start-line="94" selection-start-column="36" selection-end-line="94" selection-end-column="36" />
<folding>
<element signature="e#0#11#0" expanded="true" />
</folding>
<caret line="16" column="43" selection-start-line="16" selection-start-column="43" selection-end-line="16" selection-end-column="43" />
<folding />
</state>
</provider>
</entry>
@ -159,7 +140,7 @@
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/smbexec.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<caret line="17" column="24" selection-start-line="17" selection-start-column="24" selection-end-line="17" selection-end-column="24" />
<folding>
<element signature="e#0#10#0" expanded="true" />
</folding>
@ -176,45 +157,45 @@
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/monkey_island/cc/main.py" />
<option value="$PROJECT_DIR$/chaos_monkey/main.py" />
<option value="$PROJECT_DIR$/chaos_monkey/monkey.py" />
<option value="$PROJECT_DIR$/chaos_monkey/monkeyfs.py" />
<option value="$PROJECT_DIR$/chaos_monkey/system_singleton.py" />
<option value="$PROJECT_DIR$/chaos_monkey/tunnel.py" />
<option value="$PROJECT_DIR$/chaos_monkey/dropper.py" />
<option value="$PROJECT_DIR$/chaos_monkey/control.py" />
<option value="$PROJECT_DIR$/chaos_monkey/config.py" />
<option value="$PROJECT_DIR$/chaos_monkey/transport/__init__.py" />
<option value="$PROJECT_DIR$/chaos_monkey/transport/base.py" />
<option value="$PROJECT_DIR$/chaos_monkey/transport/ftp.py" />
<option value="$PROJECT_DIR$/chaos_monkey/transport/http.py" />
<option value="$PROJECT_DIR$/chaos_monkey/transport/tcp.py" />
<option value="$PROJECT_DIR$/chaos_monkey/network/__init__.py" />
<option value="$PROJECT_DIR$/chaos_monkey/network/firewall.py" />
<option value="$PROJECT_DIR$/chaos_monkey/network/info.py" />
<option value="$PROJECT_DIR$/chaos_monkey/network/network_scanner.py" />
<option value="$PROJECT_DIR$/chaos_monkey/network/ping_scanner.py" />
<option value="$PROJECT_DIR$/chaos_monkey/network/range.py" />
<option value="$PROJECT_DIR$/chaos_monkey/network/smbfinger.py" />
<option value="$PROJECT_DIR$/chaos_monkey/network/sshfinger.py" />
<option value="$PROJECT_DIR$/chaos_monkey/network/tcp_scanner.py" />
<option value="$PROJECT_DIR$/chaos_monkey/network/tools.py" />
<option value="$PROJECT_DIR$/chaos_monkey/model/host.py" />
<option value="$PROJECT_DIR$/chaos_monkey/model/__init__.py" />
<option value="$PROJECT_DIR$/chaos_monkey/exploit/__init__.py" />
<option value="$PROJECT_DIR$/chaos_monkey/exploit/rdpgrinder.py" />
<option value="$PROJECT_DIR$/chaos_monkey/exploit/smbexec.py" />
<option value="$PROJECT_DIR$/chaos_monkey/exploit/sshexec.py" />
<option value="$PROJECT_DIR$/chaos_monkey/exploit/tools.py" />
<option value="$PROJECT_DIR$/chaos_monkey/monkey.py" />
<option value="$PROJECT_DIR$/chaos_monkey/control.py" />
<option value="$PROJECT_DIR$/chaos_monkey/main.py" />
<option value="$PROJECT_DIR$/chaos_monkey/network/__init__.py" />
<option value="$PROJECT_DIR$/chaos_monkey/network/ping_scanner.py" />
<option value="$PROJECT_DIR$/chaos_monkey/network/tcp_scanner.py" />
<option value="$PROJECT_DIR$/chaos_monkey/network/smbfinger.py" />
<option value="$PROJECT_DIR$/chaos_monkey/network/sshfinger.py" />
<option value="$PROJECT_DIR$/chaos_monkey/network/range.py" />
<option value="$PROJECT_DIR$/chaos_monkey/exploit/win_ms08_067.py" />
<option value="$PROJECT_DIR$/chaos_monkey/exploit/__init__.py" />
<option value="$PROJECT_DIR$/chaos_monkey/exploit/tools.py" />
<option value="$PROJECT_DIR$/chaos_monkey/exploit/wmiexec.py" />
<option value="$PROJECT_DIR$/chaos_monkey/exploit/smbexec.py" />
<option value="$PROJECT_DIR$/chaos_monkey/exploit/rdpgrinder.py" />
<option value="$PROJECT_DIR$/chaos_monkey/exploit/sshexec.py" />
<option value="$PROJECT_DIR$/chaos_monkey/network/network_scanner.py" />
</list>
</option>
</component>
<component name="ProjectFrameBounds">
<option name="x" value="-10" />
<option name="width" value="1934" />
<option name="height" value="1030" />
<option name="height" value="1047" />
</component>
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
<OptionsSetting value="true" id="Add" />
@ -241,7 +222,6 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scratches" />
<pane id="ProjectPane">
<subPane>
<PATH>
@ -274,6 +254,24 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="monkey" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="monkey" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="chaos_monkey" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="network" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="monkey" />
@ -292,31 +290,62 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="monkey" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="monkey" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="chaos_monkey" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="exploit" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="Scope" />
<pane id="Scratches" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth0" value="421" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../guardicore" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth0" value="282" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder0" value="0" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth1" value="457" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth1" value="306" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder1" value="1" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth2" value="457" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth2" value="306" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder2" value="2" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth3" value="1470" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatWidth3" value="972" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_flatOrder3" value="3" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth0" value="421" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth0" value="282" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder0" value="0" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth1" value="457" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth1" value="306" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder1" value="1" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth2" value="457" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth2" value="306" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder2" value="2" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth3" value="1470" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeWidth3" value="972" />
<property name="FileHistory.git4idea.history.GitHistoryProvider_treeOrder3" value="3" />
<property name="SearchEverywhereHistoryKey" value="tcp&#9;FILE&#9;file://C:/dev/monkey/chaos_monkey/network/tcp_scanner.py&#10;ping&#9;FILE&#9;file://C:/dev/monkey/chaos_monkey/network/ping_scanner.py" />
</component>
<component name="RunManager">
<configuration default="true" type="BashConfigurationType" factoryName="Bash">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="INTERPRETER_PATH" value="" />
<option name="WORKING_DIRECTORY" value="" />
<option name="PARENT_ENVS" value="true" />
<option name="SCRIPT_NAME" value="" />
<option name="PARAMETERS" value="" />
<module name="" />
<envs />
<method />
</configuration>
<configuration default="true" type="PythonConfigurationType" factoryName="Python">
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
@ -454,15 +483,15 @@
<servers />
</component>
<component name="ToolWindowManager">
<frame x="-10" y="0" width="1934" height="1030" extended-state="0" />
<frame x="-10" y="0" width="1934" height="1047" extended-state="0" />
<editor active="true" />
<layout>
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24414715" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24371585" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.209202" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.20897156" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
@ -489,7 +518,7 @@
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
<option name="time" value="5" />
<option name="time" value="8" />
</breakpoint-manager>
<watches-manager />
</component>
@ -514,7 +543,9 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="104" column="8" selection-start-line="104" selection-start-column="8" selection-end-line="104" selection-end-column="8" />
<folding />
<folding>
<element signature="e#0#11#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
@ -598,23 +629,10 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/monkey.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-17.931034">
<caret line="178" column="0" selection-start-line="178" selection-start-column="0" selection-end-line="178" selection-end-column="0" />
<folding>
<element signature="e#0#10#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/monkeyfs.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="60" column="0" selection-start-line="60" selection-start-column="0" selection-end-line="60" selection-end-column="0" />
<folding>
<element signature="e#0#22#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
@ -628,36 +646,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/main.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="111" column="0" selection-start-line="111" selection-start-column="0" selection-end-line="111" selection-end-column="0" />
<folding>
<element signature="e#0#9#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/dropper.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-15.24138">
<caret line="26" column="0" selection-start-line="26" selection-start-column="0" selection-end-line="26" selection-end-column="0" />
<folding>
<element signature="e#0#9#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/control.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="15" column="0" selection-start-line="15" selection-start-column="0" selection-end-line="15" selection-end-column="0" />
<folding>
<element signature="e#0#11#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/config.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
@ -672,7 +660,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@ -680,9 +667,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="4" column="0" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
<folding>
<element signature="e#0#25#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
@ -690,7 +674,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="15" column="0" selection-start-line="15" selection-start-column="0" selection-end-line="15" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@ -718,17 +701,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="13" column="29" selection-start-line="13" selection-start-column="29" selection-end-line="13" selection-end-column="29" />
<folding>
<element signature="e#0#13#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="1" column="0" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@ -742,26 +714,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="25" column="0" selection-start-line="25" selection-start-column="0" selection-end-line="25" selection-end-column="0" />
<folding>
<element signature="e#0#39#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/network_scanner.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="18" column="0" selection-start-line="18" selection-start-column="0" selection-end-line="18" selection-end-column="0" />
<folding>
<element signature="e#0#11#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/info.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
@ -772,71 +724,10 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/ping_scanner.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="30" column="22" selection-start-line="30" selection-start-column="22" selection-end-line="30" selection-end-column="22" />
<folding>
<element signature="e#0#9#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/range.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="65" column="0" selection-start-line="65" selection-start-column="0" selection-end-line="65" selection-end-column="0" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/smbfinger.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/sshfinger.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="24" column="33" selection-start-line="24" selection-start-column="33" selection-end-line="24" selection-end-column="33" />
<folding>
<element signature="e#0#9#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/tcp_scanner.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding>
<element signature="e#0#11#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/tools.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/model/host.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="38" column="0" selection-start-line="38" selection-start-column="0" selection-end-line="38" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@ -848,51 +739,10 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="6" column="0" selection-start-line="6" selection-start-column="0" selection-end-line="6" selection-end-column="0" />
<folding>
<element signature="e#0#39#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://C:/Python27/Lib/site-packages/rdpy/core/error.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="2.4323077">
<caret line="93" column="6" selection-start-line="93" selection-start-column="6" selection-end-line="93" selection-end-column="6" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/rdpgrinder.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="94" column="36" selection-start-line="94" selection-start-column="36" selection-end-line="94" selection-end-column="36" />
<folding>
<element signature="e#0#11#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/smbexec.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding>
<element signature="e#0#10#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/sshexec.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="126" column="21" selection-start-line="126" selection-start-column="21" selection-end-line="126" selection-end-column="21" />
<folding>
<element signature="e#0#15#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
@ -900,17 +750,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/tools.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="26" column="0" selection-start-line="26" selection-start-column="0" selection-end-line="26" selection-end-column="0" />
<folding>
<element signature="e#0#9#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
@ -922,33 +761,191 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/win_ms08_067.py">
<entry file="file://$PROJECT_DIR$/chaos_monkey/build_windows.bat">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.038331453">
<caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/control.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="264" column="16" selection-start-line="264" selection-start-column="16" selection-end-line="264" selection-end-column="16" />
<caret line="75" column="58" selection-start-line="75" selection-start-column="58" selection-end-line="75" selection-end-column="58" />
<folding>
<element signature="e#330#340#0" expanded="true" />
<element signature="e#0#11#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/wmiexec.py">
<entry file="file://$PROJECT_DIR$/chaos_monkey/model/host.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="109" column="0" selection-start-line="109" selection-start-column="0" selection-end-line="109" selection-end-column="0" />
<caret line="31" column="51" selection-start-line="31" selection-start-column="51" selection-end-line="31" selection-end-column="51" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/dropper.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="13" column="9" selection-start-line="13" selection-start-column="9" selection-end-line="13" selection-end-column="9" />
<folding>
<element signature="e#0#9#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="1" column="0" selection-start-line="1" selection-start-column="0" selection-end-line="1" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/monkey.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-9.965517">
<caret line="17" column="0" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
<folding>
<element signature="e#0#10#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/main.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="4" column="21" selection-start-line="4" selection-start-column="21" selection-end-line="4" selection-end-column="21" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="22" column="31" selection-start-line="22" selection-start-column="31" selection-end-line="22" selection-end-column="31" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/tcp_scanner.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="4" column="0" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
<folding>
<element signature="e#0#11#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/smbfinger.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="21" column="27" selection-start-line="21" selection-start-column="27" selection-end-line="21" selection-end-column="27" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/build_windows.bat">
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/sshfinger.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.05230769">
<caret line="2" column="0" selection-start-line="2" selection-start-column="0" selection-end-line="2" selection-end-column="0" />
<state vertical-scroll-proportion="0.0">
<caret line="3" column="5" selection-start-line="3" selection-start-column="5" selection-end-line="3" selection-end-column="5" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/range.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="4" column="5" selection-start-line="4" selection-start-column="5" selection-end-line="4" selection-end-column="5" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/ping_scanner.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="5" column="5" selection-start-line="5" selection-start-column="5" selection-end-line="5" selection-end-column="5" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/win_ms08_067.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="15" column="16" selection-start-line="15" selection-start-column="16" selection-end-line="15" selection-end-column="16" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="16" column="43" selection-start-line="16" selection-start-column="43" selection-end-line="16" selection-end-column="43" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/tools.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="16" column="52" selection-start-line="16" selection-start-column="52" selection-end-line="16" selection-end-column="52" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/wmiexec.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="17" column="0" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
<folding>
<element signature="e#0#13#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/smbexec.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="17" column="24" selection-start-line="17" selection-start-column="24" selection-end-line="17" selection-end-column="24" />
<folding>
<element signature="e#0#10#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/rdpgrinder.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="12" column="33" selection-start-line="12" selection-start-column="33" selection-end-line="12" selection-end-column="33" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/exploit/sshexec.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="24" column="71" selection-start-line="24" selection-start-column="71" selection-end-line="24" selection-end-column="71" />
<folding>
<element signature="e#0#15#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/chaos_monkey/network/network_scanner.py">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.5381295">
<caret line="22" column="0" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
<folding>
<element signature="e#0#11#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</component>
</project>

View File

@ -26,7 +26,7 @@ class ControlClient(object):
for server in WormConfiguration.command_servers:
try:
hostname = gethostname()
if None == parent:
if not parent:
parent = GUID
WormConfiguration.current_server = server
@ -43,16 +43,14 @@ class ControlClient(object):
reply = requests.post("https://%s/api/monkey" % (server,),
data=json.dumps(monkey),
headers={'content-type' : 'application/json'},
headers={'content-type': 'application/json'},
verify=False,
proxies=ControlClient.proxies)
break
except Exception, exc:
WormConfiguration.current_server = ''
LOG.warn("Error connecting to control server %s: %s",
server, exc)
LOG.warn("Error connecting to control server %s: %s", server, exc)
if not WormConfiguration.current_server:
if not ControlClient.proxies:
@ -75,7 +73,7 @@ class ControlClient(object):
monkey['tunnel'] = ControlClient.proxies.get('https')
reply = requests.patch("https://%s/api/monkey/%s" % (WormConfiguration.current_server, GUID),
data=json.dumps(monkey),
headers={'content-type' : 'application/json'},
headers={'content-type': 'application/json'},
verify=False,
proxies=ControlClient.proxies)
except Exception, exc:
@ -84,14 +82,14 @@ class ControlClient(object):
return {}
@staticmethod
def send_telemetry(tele_type='general',data=''):
def send_telemetry(tele_type='general', data=''):
if not WormConfiguration.current_server:
return
try:
telemetry = {'monkey_guid': GUID, 'telem_type': tele_type, 'data' : data}
reply = requests.post("https://%s/api/telemetry" % (WormConfiguration.current_server,),
data=json.dumps(telemetry),
headers={'content-type' : 'application/json'},
headers={'content-type': 'application/json'},
verify=False,
proxies=ControlClient.proxies)
except Exception, exc:
@ -125,7 +123,7 @@ class ControlClient(object):
try:
reply = requests.post("https://%s/api/monkey/download" % (WormConfiguration.current_server,),
data=json.dumps(host.as_dict()),
headers={'content-type' : 'application/json'},
headers={'content-type': 'application/json'},
verify=False, proxies=ControlClient.proxies)
if 200 == reply.status_code:

View File

@ -1,9 +1,4 @@
from abc import ABCMeta, abstractmethod
from win_ms08_067 import Ms08_067_Exploiter
from wmiexec import WmiExploiter
from smbexec import SmbExploiter
from rdpgrinder import RdpExploiter
from sshexec import SSHExploiter
__author__ = 'itamar'
@ -18,3 +13,9 @@ class HostExploiter(object):
@abstractmethod
def exploit_host(self, host, src_path=None):
raise NotImplementedError()
from win_ms08_067 import Ms08_067_Exploiter
from wmiexec import WmiExploiter
from smbexec import SmbExploiter
from rdpgrinder import RdpExploiter
from sshexec import SSHExploiter

View File

@ -7,12 +7,12 @@ from rdpy.protocol.rdp import rdp
from twisted.internet import reactor
from rdpy.core.error import RDPSecurityNegoFail
from logging import getLogger
from chaos_monkey.exploit import HostExploiter
from chaos_monkey.exploit.tools import HTTPTools
from chaos_monkey.model import RDP_CMDLINE_HTTP_BITS, RDP_CMDLINE_HTTP_VBS
from chaos_monkey.model.host import VictimHost
from chaos_monkey.network.tools import check_port_tcp
from chaos_monkey.exploit.tools import get_target_monkey
from exploit import HostExploiter
from exploit.tools import HTTPTools
from model import RDP_CMDLINE_HTTP_BITS, RDP_CMDLINE_HTTP_VBS
from model.host import VictimHost
from network.tools import check_port_tcp
from exploit.tools import get_target_monkey
__author__ = 'hoffer'
KEYS_INTERVAL = 0.1
@ -236,7 +236,7 @@ class RdpExploiter(HostExploiter):
global g_reactor
assert isinstance(host, VictimHost)
is_open,_ = check_port_tcp(host.ip_addr, RDP_PORT)
is_open, _ = check_port_tcp(host.ip_addr, RDP_PORT)
if not is_open:
LOG.info("RDP port is closed on %r, skipping", host)
return False

View File

@ -1,11 +1,11 @@
import sys
from logging import getLogger
from chaos_monkey.model.host import VictimHost
from chaos_monkey.model import MONKEY_CMDLINE_DETACHED, DROPPER_CMDLINE_DETACHED
from chaos_monkey.exploit import HostExploiter
from chaos_monkey.network.tools import check_port_tcp
from chaos_monkey.exploit.tools import SmbTools, get_target_monkey
from chaos_monkey.network import SMBFinger
from model.host import VictimHost
from model import MONKEY_CMDLINE_DETACHED, DROPPER_CMDLINE_DETACHED
from exploit import HostExploiter
from network.tools import check_port_tcp
from exploit.tools import SmbTools, get_target_monkey
from network import SMBFinger
try:
from impacket import smb

View File

@ -1,10 +1,10 @@
import paramiko
from chaos_monkey import monkeyfs
import monkeyfs
import logging
from chaos_monkey.exploit import HostExploiter
from chaos_monkey.model import MONKEY_ARG
from chaos_monkey.exploit.tools import get_target_monkey
from chaos_monkey.network.tools import check_port_tcp
from exploit import HostExploiter
from model import MONKEY_ARG
from exploit.tools import get_target_monkey
from network.tools import check_port_tcp
import time
__author__ = 'hoffer'
@ -34,9 +34,9 @@ class SSHExploiter(HostExploiter):
# if ssh banner found on different port, use that port.
for servkey, servdata in host.services.items():
if servdata.get('name') == 'ssh' and servkey.startswith('tcp-'):
port = int(servkey.replace('tcp-',''))
port = int(servkey.replace('tcp-', ''))
is_open,_ = check_port_tcp(host.ip_addr, port)
is_open, _ = check_port_tcp(host.ip_addr, port)
if not is_open:
LOG.info("SSH port is closed on %r, skipping", host)
return False
@ -95,7 +95,6 @@ class SSHExploiter(HostExploiter):
except Exception, exc:
LOG.debug("Error running uname machine commad on victim %r: (%s)", host, exc)
src_path = src_path or get_target_monkey(host)
if not src_path:
@ -107,7 +106,8 @@ class SSHExploiter(HostExploiter):
self._update_timestamp = time.time()
with monkeyfs.open(src_path) as file_obj:
ftp.putfo(file_obj, self._config.dropper_target_path_linux, file_size=monkeyfs.getsize(src_path), callback=self.log_transfer)
ftp.putfo(file_obj, self._config.dropper_target_path_linux, file_size=monkeyfs.getsize(src_path),
callback=self.log_transfer)
ftp.chmod(self._config.dropper_target_path_linux, 0777)
ftp.close()

View File

@ -4,12 +4,12 @@ import pprint
import logging
import os.path
import urllib
from chaos_monkey import monkeyfs
import monkeyfs
from difflib import get_close_matches
from chaos_monkey.network import local_ips
from chaos_monkey.transport import HTTPServer
from chaos_monkey.network.info import get_free_tcp_port
from chaos_monkey.network.firewall import app as firewall
from network import local_ips
from transport import HTTPServer
from network.info import get_free_tcp_port
from network.firewall import app as firewall
from impacket.dcerpc.v5 import transport, srvs
from impacket.dcerpc.v5.dcom.wmi import DCERPCSessionError
from impacket.smbconnection import SMBConnection, SMB_DIALECT

View File

@ -11,12 +11,12 @@ import time
import socket
from enum import IntEnum
from logging import getLogger
from chaos_monkey.model.host import VictimHost
from chaos_monkey.model import DROPPER_CMDLINE, MONKEY_CMDLINE
from chaos_monkey.exploit import HostExploiter
from chaos_monkey.exploit.tools import SmbTools, get_target_monkey
from chaos_monkey.network.tools import check_port_tcp
from chaos_monkey.network import SMBFinger
from model.host import VictimHost
from model import DROPPER_CMDLINE, MONKEY_CMDLINE
from . import HostExploiter
from exploit.tools import SmbTools, get_target_monkey
from network.tools import check_port_tcp
from network import SMBFinger
try:
from impacket import smb

View File

@ -2,10 +2,10 @@ import socket
import ntpath
import logging
import traceback
from chaos_monkey.model import DROPPER_CMDLINE, MONKEY_CMDLINE
from chaos_monkey.model.host import VictimHost
from chaos_monkey.exploit import HostExploiter
from chaos_monkey.exploit.tools import SmbTools, WmiTools, AccessDeniedException, get_target_monkey
from model import DROPPER_CMDLINE, MONKEY_CMDLINE
from model.host import VictimHost
from exploit import HostExploiter
from exploit.tools import SmbTools, WmiTools, AccessDeniedException, get_target_monkey
LOG = logging.getLogger(__name__)

View File

@ -10,6 +10,9 @@ from monkey import ChaosMonkey
import argparse
import json
if __name__ == "__main__":
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
__author__ = 'itamar'
LOG = None

View File

@ -32,7 +32,7 @@ class ChaosMonkey(object):
self._fingerprint = None
def initialize(self):
LOG.info("WinWorm is initializing...")
LOG.info("Monkey is initializing...")
if not self._singleton.try_lock():
raise Exception("Another instance of the monkey is already running")
@ -82,7 +82,7 @@ class ChaosMonkey(object):
finger.get_host_fingerprint(machine)
ControlClient.send_telemetry('scan', {'machine': machine.as_dict(),
'scanner' : WormConfiguration.scanner_class.__name__})
'scanner': WormConfiguration.scanner_class.__name__})
# skip machines that we've already exploited
if machine in self._exploited_machines:
@ -107,16 +107,14 @@ class ChaosMonkey(object):
exploiter.__class__.__name__, machine)
continue
LOG.info("Trying to exploit %r with exploiter %s...",
machine, exploiter.__class__.__name__)
LOG.info("Trying to exploit %r with exploiter %s...", machine, exploiter.__class__.__name__)
try:
if exploiter.exploit_host(machine):
successful_exploiter = exploiter
break
else:
LOG.info("Failed exploiting %r with exploiter %s",
machine, exploiter.__class__.__name__)
LOG.info("Failed exploiting %r with exploiter %s", machine, exploiter.__class__.__name__)
except Exception, exc:
LOG.error("Exception while attacking %s using %s: %s",
machine, exploiter.__class__.__name__, exc)

View File

@ -1,10 +1,4 @@
from abc import ABCMeta, abstractmethod
from ping_scanner import PingScanner
from tcp_scanner import TcpScanner
from smbfinger import SMBFinger
from sshfinger import SSHFinger
from info import local_ips
from info import get_free_tcp_port
__author__ = 'itamar'
@ -23,3 +17,10 @@ class HostFinger(object):
@abstractmethod
def get_host_fingerprint(self, host):
raise NotImplementedError()
from ping_scanner import PingScanner
from tcp_scanner import TcpScanner
from smbfinger import SMBFinger
from sshfinger import SSHFinger
from info import local_ips
from info import get_free_tcp_port

View File

@ -1,7 +1,7 @@
import time
import logging
from . import HostScanner
from chaos_monkey.config import WormConfiguration
from config import WormConfiguration
from info import local_ips
from range import *

View File

@ -3,7 +3,7 @@ import sys
import subprocess
import logging
from . import HostScanner, HostFinger
from chaos_monkey.model.host import VictimHost
from model.host import VictimHost
import re
__author__ = 'itamar'

View File

@ -2,7 +2,7 @@ import socket
import random
import struct
from abc import ABCMeta, abstractmethod
from chaos_monkey.model.host import VictimHost
from model.host import VictimHost
__author__ = 'itamar'

View File

@ -1,8 +1,8 @@
import socket
import struct
import logging
from chaos_monkey.network import HostFinger
from chaos_monkey.model.host import VictimHost
from network import HostFinger
from model.host import VictimHost
from odict import odict
SMB_PORT = 445

View File

@ -1,7 +1,7 @@
import re
from chaos_monkey.network import HostFinger
from chaos_monkey.network.tools import check_port_tcp
from chaos_monkey.model.host import VictimHost
from network import HostFinger
from network.tools import check_port_tcp
from model.host import VictimHost
SSH_PORT = 22
SSH_SERVICE_DEFAULT = 'tcp-22'

View File

@ -1,7 +1,7 @@
import time
from chaos_monkey.network import HostScanner, HostFinger
from chaos_monkey.model.host import VictimHost
from chaos_monkey.network.tools import check_port_tcp
from network import HostScanner, HostFinger
from model.host import VictimHost
from network.tools import check_port_tcp
__author__ = 'itamar'