Skip to content

Commit a79f2fa

Browse files
committed
Armitage Updates and Bug Fixes
This is Armitage release 01.04.13. This update fixes several bugs and improves the user experience launching *_login modules from Armitage. This update adds a Windows 8 icon and includes a fix to better work with the Metasploit 1.45 installer's environment.
1 parent bb8f0e5 commit a79f2fa

File tree

17 files changed

+98
-30
lines changed

17 files changed

+98
-30
lines changed

data/armitage/armitage.jar

1.37 KB
Binary file not shown.

data/armitage/cortana.jar

1.37 KB
Binary file not shown.

data/armitage/readme.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ sure you peruse the FAQ and Manual first.
6060
7. License
6161
-------
6262

63-
(c) 2010-2012 Raphael Mudge. This project is licensed under the BSD license.
63+
(c) 2010-2013 Raphael Mudge. This project is licensed under the BSD license.
6464
See section 8 for more information.
6565

6666
lib/jgraphx.jar is used here within the terms of the BSD license offered by

data/armitage/whatsnew.txt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,24 @@
11
Armitage Changelog
22
==================
33

4+
4 Jan 13 (tested against msf 16252)
5+
--------
6+
- Added a helper to set REXE option
7+
- Added an icon to represent Windows 8
8+
- [host] -> Login menu is now built using open services for all
9+
highlighted hosts, not just the first one.
10+
- [host] -> Login items now escape punctuation characters in passwords
11+
before passing them to a framework module.
12+
- Added the windows and linux postgres_payload exploits to the use a
13+
reverse payload by default list.
14+
- Small tweak to allow Armitage to work with Metasploit 4.5 installed
15+
environment on Windows.
16+
17+
Cortana Updates (for scripters)
18+
--------
19+
- &credential_add and &credential_delete no longer break when a
20+
password has creative punctuation in it.
21+
422
26 Nov 12 (tested against msf 16114)
523
---------
624
- Windows command shell tab is now friendlier to commands that prompt

external/source/armitage/readme.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ sure you peruse the FAQ and Manual first.
6060
7. License
6161
-------
6262

63-
(c) 2010-2012 Raphael Mudge. This project is licensed under the BSD license.
63+
(c) 2010-2013 Raphael Mudge. This project is licensed under the BSD license.
6464
See section 8 for more information.
6565

6666
lib/jgraphx.jar is used here within the terms of the BSD license offered by

external/source/armitage/resources/about.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<html>
22
<body>
3-
<center><h1>Armitage 1.44</h1></center>
3+
<center><h1>Armitage 1.45</h1></center>
44

55
<p>An attack management tool for Metasploit&reg;
6-
<br />Release: 26 Nov 12</p>
6+
<br />Release: 4 Jan 13</p>
77
<br />
88
<p>Developed by:</p>
99

5.41 KB
Loading

external/source/armitage/scripts-cortana/internal.sl

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -243,14 +243,18 @@ sub session_exploit {
243243
# credentials API
244244
#
245245

246+
sub _fix_pass {
247+
return replace(strrep($1, '\\', '\\\\'), '(\p{Punct})', '\\\\$1');
248+
}
249+
246250
# credential_add("host", "port", "user, "pass", "type")
247251
sub credential_add {
248-
cmd_safe("creds -a $1 -p $2 -t $5 -u $3 -P $4");
252+
cmd_safe("creds -a $1 -p $2 -t $5 -u $3 -P " . _fix_pass($4));
249253
}
250254

251255
# credential_delete("host", port, "user", "pass");
252256
sub credential_delete {
253-
cmd_safe("creds -a $1 -p $2 -u $3 -P $4 -d");
257+
cmd_safe("creds -a $1 -p $2 -u $3 -P " . _fix_pass($4) . " -d");
254258
}
255259

256260
sub credential_list {

external/source/armitage/scripts/armitage.sl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ sub showHost {
5959
else if ("*XP*" iswm $match || "*2003*" iswm $match || "*.NET*" iswm $match) {
6060
push(@overlay, 'resources/windowsxp.png');
6161
}
62+
else if ("*8*" iswm $match) {
63+
push(@overlay, 'resources/windows8.png');
64+
}
6265
else {
6366
push(@overlay, 'resources/windows7.png');
6467
}

external/source/armitage/scripts/attacks.sl

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ setMissPolicy(%results2, { return @(); });
2222
# %exploits is populated in menus.sl when the client-side attacks menu is constructed
2323

2424
# a list of exploits that should always use a reverse shell... this list needs to grow.
25-
@always_reverse = @("multi/samba/usermap_script", "unix/misc/distcc_exec", "windows/http/xampp_webdav_upload_php");
25+
@always_reverse = @("multi/samba/usermap_script", "unix/misc/distcc_exec", "windows/http/xampp_webdav_upload_php", "windows/postgres/postgres_payload", "linux/postgres/postgres_payload");
2626

2727
#
2828
# generate menus for a given OS
@@ -599,26 +599,28 @@ sub host_attack_items {
599599
}
600600
}
601601

602-
local('$service $name @options $a $port $foo');
602+
local('$name %options $a $port $host $service');
603+
%options = ohash();
603604

604-
foreach $port => $service (%hosts[$2[0]]['services']) {
605-
$name = $service['name'];
606-
if ($port == 445 && "*Windows*" iswm getHostOS($2[0])) {
607-
push(@options, @("psexec", lambda(&pass_the_hash, $hosts => $2)));
608-
}
609-
else if ("scanner/ $+ $name $+ / $+ $name $+ _login" in @auxiliary) {
610-
push(@options, @($name, lambda(&show_login_dialog, \$service, $hosts => $2)));
611-
}
612-
else if ($name eq "microsoft-ds") {
613-
push(@options, @("psexec", lambda(&pass_the_hash, $hosts => $2)));
605+
foreach $host ($2) {
606+
foreach $port => $service (%hosts[$host]['services']) {
607+
$name = $service['name'];
608+
if ($port == 445 && "*Windows*" iswm getHostOS($host)) {
609+
%options["psexec"] = lambda(&pass_the_hash, $hosts => $2);
610+
}
611+
else if ("scanner/ $+ $name $+ / $+ $name $+ _login" in @auxiliary) {
612+
%options[$name] = lambda(&show_login_dialog, \$service, $hosts => $2);
613+
}
614+
else if ($name eq "microsoft-ds") {
615+
%options["psexec"] = lambda(&pass_the_hash, $hosts => $2);
616+
}
614617
}
615618
}
616619

617-
if (size(@options) > 0) {
620+
if (size(%options) > 0) {
618621
$a = menu($1, 'Login', 'L');
619-
foreach $service (@options) {
620-
($name, $foo) = $service;
621-
item($a, $name, $null, $foo);
622+
foreach $name (sorta(keys(%options))) {
623+
item($a, $name, $null, %options[$name]);
622624
}
623625
}
624626
}
@@ -678,6 +680,7 @@ sub addFileListener {
678680
$actions["SigningKey"] = $actions["*FILE*"];
679681
$actions["Wordlist"] = $actions["*FILE*"];
680682
$actions["WORDLIST"] = $actions["*FILE*"];
683+
$actions["REXE"] = $actions["*FILE*"];
681684

682685
# set up an action to choose a session
683686
$actions["SESSION"] = lambda(&chooseSession);

0 commit comments

Comments
 (0)