├── clients ├── mssql.rb ├── psexec.rb ├── sharepoint.rb ├── staticchal.rb ├── apireq.rb ├── smb.rb ├── ews.rb └── ldap.rb ├── bootstrap ├── img │ ├── glyphicons-halflings.png │ └── glyphicons-halflings-white.png ├── quick.erb ├── 404.erb ├── config.erb ├── logs.erb ├── index.erb ├── footer.erb ├── help.erb ├── js │ ├── bootstrap-transition.js │ ├── bootstrap-dropdown.js │ ├── bootstrap-popover.js │ ├── bootstrap-modal.js │ ├── bootstrap-typeahead.js │ ├── bootstrap-tooltip.js │ └── bootstrap.min.js ├── clients.erb ├── header.erb ├── leftbar.erb ├── 101.erb ├── users.erb ├── css │ ├── bootstrap-responsive.min.css │ └── bootstrap-responsive.css ├── payloads.erb └── rules.erb ├── lib ├── zfcli.rb ├── zfclient.rb ├── zfadmingui.rb ├── zfhttpd.rb ├── zfsmbd.rb ├── zfsocks.rb ├── zfntlm.rb └── zfdb.rb ├── results └── wtf.txt ├── payloads ├── webpage.rb ├── email.rb ├── worddoc.rb └── desktopini.rb ├── ChangeLog.md ├── LICENSE ├── zackattack.rb ├── config.rb └── README.md /clients/mssql.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | #encoding: ASCII-8BIT 3 | =begin 4 | mssql 5 | =end -------------------------------------------------------------------------------- /clients/psexec.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | #encoding: ASCII-8BIT 3 | =begin 4 | psexec relay 5 | =end -------------------------------------------------------------------------------- /clients/sharepoint.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | #encoding: ASCII-8BIT 3 | =begin 4 | sharepoint dumps! 5 | =end 6 | -------------------------------------------------------------------------------- /bootstrap/img/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urbanesec/ZackAttack/HEAD/bootstrap/img/glyphicons-halflings.png -------------------------------------------------------------------------------- /bootstrap/img/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/urbanesec/ZackAttack/HEAD/bootstrap/img/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /lib/zfcli.rb: -------------------------------------------------------------------------------- 1 | =begin 2 | 3 | coming eventually. on the todo list 4 | =end 5 | 6 | module ZFadmingui 7 | class Cli 8 | 9 | end 10 | 11 | end -------------------------------------------------------------------------------- /results/wtf.txt: -------------------------------------------------------------------------------- 1 | Results from certian modules go here into a textfile for now since they are too large for a db storage... you know... like full inbox dumps. 2 | -------------------------------------------------------------------------------- /payloads/webpage.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | #encoding: ASCII-8BIT 3 | =begin 4 | javascript for injection into webpages (detect browser + os and provide payload accordingly) 5 | options include exploit method for firefox/safari (force download / addon exploitation ) 6 | =end 7 | -------------------------------------------------------------------------------- /bootstrap/quick.erb: -------------------------------------------------------------------------------- 1 | 2 | <%=ZFadmingui.Header%> 3 |
There are no quickrules written out yet, but will come soon. Think auto generation of common flows.
7 |This Page Doesn't Exist, fool. And even if it was supposed to, you're in the wrong either way.
7 |Requested URI: <%=servlet_request.request_uri%> 8 |
Right now, no live dynamic config is available, but will be soon-ish. For now, check config.rb in base. Configs will include small stuff such as server name, guid, etc.
7 |<% a = ZFdb::DB.new 10 | a.ExportHashes.each do |val| 11 | if val[3].length == 48%><%=val[9] +"::" + val[10] + ":" + val[4] + ":" + val[3] + ":" + val[2]%><%elsif val[3].length !=0 %><%=val[9] +"::" + val[10] + ":" + val[2] + ":" + val[3][0,32] + ":" + val[3][32..-1]%><%end%> 12 | 13 | <%end%> 14 |15 | <%=ZFadmingui.Footer%> -------------------------------------------------------------------------------- /clients/staticchal.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | #encoding: ASCII-8BIT 3 | =begin 4 | static 112233.... 5 | =end 6 | require 'base64' 7 | require 'zfntlm' 8 | module ZFClient 9 | class StaticType2 10 | def initialize (server,port) 11 | @server = "woof" 12 | return true 13 | end 14 | 15 | def connect 16 | 17 | end 18 | 19 | def sendtype1(type1msg) 20 | a = ZFNtlm::Message.new() 21 | return a.buildtype2 22 | end 23 | 24 | def sendtype3(type3msg, rawpkt, details=nil) 25 | return 26 | end 27 | 28 | def execute 29 | 30 | end 31 | end 32 | end 33 | -------------------------------------------------------------------------------- /ChangeLog.md: -------------------------------------------------------------------------------- 1 | ### 0.1.1 / 2012-08-29 2 | 3 | * Disabled Left Nav Bar Dropdown Rules as they were not coded. Coming soon. 4 | * Updated Users page to include auth method and path. Integrated coding to ignore IPC$ 5 | * Fixed EWS bug where CHANGEME was not being replaced in the xml with a folder name. 6 | * Fixed issue with random auths failing due to use of gsub("\n","") of base64 encoded api data and \x0a used in some ntlm auths. 7 | * Fixed Rule logic for user not executing rules on first connection attempt (i.e. no user id created and recieving 0) 8 | * Fixed typo for Errno::EACCES 9 | * Fixed issue with left bar not removing users after connection terminates 10 | 11 | ### 0.1.0 / 2012-08-08 12 | 13 | * Initial release: 14 | -------------------------------------------------------------------------------- /clients/apireq.rb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | #encoding: ASCII-8BIT 3 | =begin 4 | api requests 5 | =end 6 | require 'zfdb' 7 | require 'base64' 8 | 9 | module ZFClient 10 | class Apireq 11 | def initialize (server,port) 12 | @db = ZFdb::DB.new 13 | @reqid = server 14 | @uid = port 15 | end 16 | 17 | def sendtype1(type1msg) 18 | res = @db.ProcessApiReq(@reqid) #type2msg 19 | return Base64.decode64(res[2])#.gsub("\n",'') 20 | end 21 | 22 | def sendtype3(type3msg, rawpkt, details) 23 | begin 24 | 25 | @db.SetApiResp(@reqid,Base64.encode64(type3msg).gsub("\n",'').strip) 26 | rescue 27 | puts $! end 28 | end 29 | 30 | 31 | end 32 | end -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | I'll figure out which licenscing scheme to use later, but for now: 2 | outside of the bootstrap library for the gui which follows Apache 2.0 License couresty of Twitter.... 3 | 4 | Copyright (c) 2012, Zack Fasel 5 | All rights reserved. 6 | 7 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 8 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 9 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 10 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR 11 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 12 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 13 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 14 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 15 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 16 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /bootstrap/index.erb: -------------------------------------------------------------------------------- 1 | <% 2 | db = ZFdb::DB.new() 3 | results = db.GetActiveSessions() 4 | %> 5 | <%= ZFadmingui.Header %> 6 | 7 |
This is a new level of relaying NTLM authentication requets
15 |If you havn't noticed, look up ;). All the navigation is across the top.
20 |There's a LOT more to come. Now that the framework is in place, we can start to build more of the automation and clients.
22 |