Git Product home page Git Product logo

serpico's People

Contributors

4b3l0 avatar alxbl avatar arisada avatar buffalowill avatar ccammilleri avatar d4rkd0s avatar dependabot[bot] avatar dimopouloselias avatar dru1d-foofus avatar frisch-raphael avatar jacksonfylle avatar jakxx avatar maxnad avatar mcjon3z avatar micha1bogdanowicz avatar mobergeron avatar parzamendi-r7 avatar petessss avatar r3b00t5 avatar readmecritic avatar sho-luv avatar skapunker avatar techbrunch avatar yogisec avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

serpico's Issues

user defined variables displays escape character

if you add a user defined variable with variable data containing a backslash (including newline) it will display the escaped characters within their form on the user_defined_variables page. This will also cause an escape of death by escaping the additional backslashes upon adding another user defined variable or post.

to recreate:
add variable name: test1234
add variable data: test1234\test1234 (or hit enter between words)
save
view additional backslash characters in variable data

Support CVSS Scoring in a Finding

Currently when a user adds or creates a finding they score/rate the risk based on DREAD. This enhancement would add the capability to score the finding using CVSS.

Findings revision history

It would be useful to see and compare revision histories of an edited finding. We often tweak our existing findings and it would be nice to see those changes. Similar to a wiki revision history, highlighting what as changed recently.

Install error

Running on Kali Linux 64-bit.

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /usr/bin/ruby1.9.1 extconf.rb 

checking for sqlite3.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/bin/ruby1.9.1
--with-sqlite3-dir
--without-sqlite3-dir
--with-sqlite3-include
--without-sqlite3-include=${sqlite3-dir}/include
--with-sqlite3-lib
--without-sqlite3-lib=${sqlite3-dir}/lib

Gem files will remain installed in /var/lib/gems/1.9.1/gems/do_sqlite3-0.10.12 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/do_sqlite3-0.10.12/ext/do_sqlite3/gem_make.out
An error occurred while installing do_sqlite3 (0.10.12), and Bundler cannot continue.
Make sure that gem install do_sqlite3 -v '0.10.12' succeeds before bundling.

Text Only Status Update

It would be useful to have text based status update for use in e-mails. This could be generated in the UI, making it easy to copy and paste as an update to a client.

Import findings should allow "Approve on Import"

Currently when importing findings the finding have to be approved manually after import. This was a design decision but makes it difficult to import large finding sets. I think it would be preferable to have an "Approve on import" checkbox that is bordered in red.

Results Page After Nessus Import

"As a user I would like feedback in the UI after I have imported Nessus results. It should list the findings that were imported and those that were not."

Support Findings Trending

A user requested that Finding's results could be trended. For example:

  • How many assessments have found a specific finding (xss)
  • How many assessments have found a combination of findings (i.e. sqli + xss)

Currently this can be done with DB queries. This feature would show this in the UI.

Ability to Export/Import a report

It would be very useful to be able to export a report in the UI and then import this report into another version of Serpico. For example, as a user I would like to be able to work on a report in one version of Serpico (say a local copy) and then import it into another version (say a master shared version of Serpico).

AsciiDoc report generation support

Ruby has a native AsciiDoctor library, which is a pure-ruby open-source implementation of AsciiDoc.
http://asciidoctor.org/

Instead of relying on .docx formats, by exporting findings via AsciiDoctor, the generated AsciiDoc output can easily be converted to a variety of formats. This includes exporting to HTML5, Docbook, PDF (via asciidoctor-pdf), or even to a pure AsciiDoc format which itself can be exported to many other formats via the binary AsciiDoc program (including exporting to ODF): https://github.com/dagwieers/asciidoc-odf

Adding AsciiDoc as a supported output would make reporting more flexible.

Code adds new paragraphs when it should

###############################

# † - if variable

# For example, '† DREAD_SCORE > 1 †' is read as "if the DREAD_SCORE is greater than 1 then ..."

  replace = document.split('†')

  if (((replace.size-1) % 2) != 0)
    puts "Uneven number of † (count:#{replace.size-1} - Fix the docx"
    exit
  end

  count = 0
  replace.each do |omega|
    if (count % 2) == 0
      count = count + 1
      next
    end

    omega = compress(omega)

    # we need to search backwards for '<w:p>' or '<w:p ')
    woutspace = replace[count-1].rindex("<w:p>")
    space = replace[count-1].rindex("<w:p ")
    woutspace = 0 unless woutspace
    space = 0 unless space
    x = ""
    if woutspace > space
      x = replace[count-1].reverse.sub("</w:p>".reverse,"</w:p><xsl:if test=\"#{CGI.escapeHTML(omega.downcase).gsub("&amp;","&")}\">".reverse).reverse
      replace[count-1] = x
    else
      x = replace[count-1].reverse.sub("</w:p>".reverse,"</w:p><xsl:if test=\"#{CGI.escapeHTML(omega.downcase).gsub("&amp;","&")}\">".reverse).reverse
      replace[count-1] = x
    end
    replace[count]=''

    count = count + 1
  end
  document = replace.join("")


###########################

Ability to add screenshots to an issue

It'd be nice to have the ability to attach screenshots to individual findings. The age-old adage "a picture is worth a thousand words" often applies.

And thanks for the great tool!

OpenSSL error with certificates

After following readme instructions and installing on Kali and running "ruby serpico.rb" and attempting to browse to the web interface over HTTPS on Iceweseael, I get an HTTPS error, and the web interface doesn't load:

ERROR OpenSSL::SSL::SSLError: SSL_accept returned=1 errno=0 state=unknown state: http request

Ive tried looking this up and am seeing various issues, not 100% sure why this is happening but is there a known fix for it, or a workaround?

I think this may be related to the self-signed cert, ruby, and OpenSSL compability, but not totally sure.

Apologies in advance if this is a silly question and easily solvable.

Thanks

Support a connector to Nessus

This would take Nessus results as input and populate a Report. This could either be as a script or as a connector to a remote system via the UI.

Upload Attachment Requires File

Submitting to the upload attachment menu without actually attaching a file causes an error in the UI. A POST with nothing attached should just ignore the submission.

Templated Finding Name Search

"As a user I would like to be able to search the finding titles. Using the browser search includes the finding description which is annoying."

The easiest way to do this is with a javascript based search on the template pages only.

Fix Space/Indent to be consistent

Switching between IDEs the indentation has become a horrific mess. This issue is really two things; decide on consistent style and fix across the board.

We should consider to require something like rubocop.

Enhancement: Bulk import of vulnerability info from Nessus, etc.

I just came across this project while looking for an alternative to Dradis and must say this is very impressive. I can see this becoming a very useful tool in my playbook.

It appears based upon my limited testing that, in order to import findings from Nessus or Burp the associations must be defined by an ID in an existing vulnerability in the database. In the case of an internal vulnerability assessment this could require the manual creation of hundreds of vulnerability database records before a Nessus report could be successfully imported. It would also mean that Nessus reports would have to be manually cross referenced to identify any new vulnerabilities that may not be present in the Serpico vulnerability database.

Would it be possible to add an option for the Nessus importer to create new vulnerability database entries for vulnerabilities in the .nessus file that do not have a corresponding record already in the Serpico database or perhaps some other means of bulk populating the database and correlating with scanner findings (Nessus DB import, OVAL, CVE)?

Bullets add spaces

When using bullet tags shown below. Two spaces are added before each bullet.

*-bullet-*

References striped when pushed to db

when adding references to a finding then pushing that finding to the db, finding waiting approve has not references. However remediation section seems to retain bullets.

Notification when saving on /info

There is no indication the information is saved.

I plan to add the following code on success below the <h2>Consultant Information</h2>:

<h4 class="text-success">Saved!</h4>

Recommended Platform/Dependencies

I noticed from another post Kali linux was not tested and there appear to be issues there. What platform do you recommend and what are the dependencies (with versions) I need to install before installing Serpico?

Rewrite UDV handling of HTML input

There are bugs in the way that UDV handles and santizes input.

  1. create a proper santization method rather gsub'ing on the spot
  2. anticipate the impact of to/from json, this is different from other parts of serpico

Support Generic Risk Scoring in a Finding

Currently when a user adds or creates a finding they score/rate the risk based on DREAD. This enhancement would add the capability to score the finding more generically (e.g. High, Medium, Low).

Enchancement: IP address List

First let me start by saying thanks for making the product - I just stumbled across it the other day and can already see benefits of using it in the dreaded documentation process.
I thought it would be nice to include a list of IP addresses/ranges. I was thinking it could be used for summary/scope sections of the document and also in the findings - we could tag which hosts had finding.
Also, I would like to see us be able to add a field to the finding (may already be an option that I haven't seen yet).

*** added to this to ask a stupid question: how do we factor in formatting into the findings? I see bullets are *- but how do we get italics, headings, etc?

sudo ruby serpico.rb

sudo ruby serpico.rb

[2014-07-16 19:41:48] INFO WEBrick 1.3.1
[2014-07-16 19:41:48] INFO ruby 1.9.3 (2012-04-20) [i486-linux]
[2014-07-16 19:41:48] WARN TCPServer Error: Address already in use - bind(2)
[2014-07-16 19:41:48] INFO
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
01:7b:55:4b:26
Signature Algorithm: sha1WithRSAEncryption
Issuer: C=US, ST=MD, L=MD, O=MD, CN=serpico
Validity
Not Before: Jul 16 22:58:25 2014 GMT
Not After : Jul 16 22:58:25 2015 GMT
Subject: C=US, ST=MD, L=MD, O=MD, CN=serpico
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (1024 bit)
Modulus:
00:d1:d0:a3:50:ce:e5:61:5b:cb:82:f9:2c:e7:c4:
10:40:4b:0e:d9:b8:ff:29:65:31:bc:dc:2c:69:bd:
b3:39:79:a7:b7:51:45:a0:13:87:39:5f:ea:70:17:
da:06:2f:3f:82:2b:9a:e3:94:e5:71:60:7c:63:03:
a8:7a:fb:a0:01:53:c7:dd:00:43:c3:61:f7:4f:23:
16:be:e3:c2:c0:94:e1:e7:bf:36:c5:d3:9d:0a:b9:
4e:13:78:bc:75:9c:00:1d:43:63:1e:64:da:bf:d2:
59:77:15:1d:c8:f7:be:4a:c5:39:31:48:72:06:2e:
be:eb:39:b5:71:42:9a:12:fb
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Subject Key Identifier:
21:A9:75:83:E1:50:8A:67:77:EF:5D:6D:03:AC:4F:39:A5:DE:73:E9
X509v3 Authority Key Identifier:
keyid:21:A9:75:83:E1:50:8A:67:77:EF:5D:6D:03:AC:4F:39:A5:DE:73:E9
DirName:/C=US/ST=MD/L=MD/O=MD/CN=serpico
serial:01:7B:55:4B:26

Signature Algorithm: sha1WithRSAEncryption
     1e:b4:82:48:63:4f:55:6e:fe:c2:62:c4:65:44:bb:5f:bb:0e:
     b2:14:99:d8:8c:e0:d7:ec:8f:32:f7:f3:97:2a:3c:ff:45:71:
     ed:c2:3e:39:7e:db:97:3f:01:a1:79:e8:fb:d5:a7:8a:27:98:
     1f:09:41:cd:bd:c1:7d:a4:91:c3:22:91:bf:ed:b0:90:74:71:
     20:5f:1b:16:60:8d:e1:51:29:f4:cb:c0:9e:95:cf:01:2e:9a:
     50:64:ed:f8:c6:cf:e5:43:57:d2:2b:08:3d:b8:60:71:fc:db:
     27:da:12:d6:41:60:83:15:c6:a3:dd:3f:6b:18:c5:aa:60:94:
     41:2c

[2014-07-16 19:41:48] INFO WEBrick::HTTPServer#start: pid=7900 port=8443

Headers don't seem to work

Code replace work fine however not sure word doc is parsing info as it should be.

#convert h4
v = v.gsub("[==","<h4>")
v = v.gsub("==]","</h4>")

new_text = new_text.gsub("<h4>","[==").gsub("</h4>","==]")

# same for the h4
findings_xml = findings_xml.gsub("&lt;h4&gt;","<h4>")       
findings_xml = findings_xml.gsub("&lt;/h4&gt;","</h4>")

Support "Global Variables" for reports

The variables included in a template report are hardcoded. This feature would allow a user to specify a variable in the UI and allow this variable to be used in a template. This needs to be robust enough to allow the user to specify the name of the variable while only requiring a limited change to the model. It should also allow the user to store templated "global variables".

For example a user could add a "Executive_Summary" variable in the UI and then use this as ΩExecutive_SummaryΩ in the Report template.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.