Coder Social home page Coder Social logo

canari's People

Contributors

allfro avatar erangden avatar reenberg 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

canari's Issues

create-profile not using correct namespace for input entity

Hi,
When I create a mtz file with create-profile and import it in Maltego, all input entities of the transforms are changed to namespace maltego.(entityname), where it should be nielslelieveld.(entityname).
The namespace is set to nielslelieveld in transforms\common\entities.py. The input file I use in resources\maltego\entities.mtz worked fine on an older version of Maltego/Canari.

I have reviewed all recent code changes, but I am unable to find out which might cause this.
Could you have a look, or tell me how I could fix it?

Thanks!

Problem with linked entities and parsing arguments (parseargs in utils.py)

I am experiencing intermittent issues when running a package of transforms on various entities. I've tracked down the issue, and the problem is that parseargs() expects a # seperate list of name=value pairs. When entities are linked, they somehow get a property of just 'link', with no =, for example:

'fqdn=test.com#link#maltego.link.weight=100'

which causes the lambda function to break.

An easy fix is on line 82; change:
fs
to
[f for f in fs if "=" in f]

so the lambda becomes:

                lambda x: [
                c.replace('\#', '#').replace('\=', '=').replace('\\\\', '\\')
                for c in split(r'(?<=[^\\])=', x, 1)
                ],
                [f for f in fs if "=" in f]

Clarification on how to use canari create-profile on windows?

I have Canari installed and all appears well (2 computers tried, one windows 7, one win 8.1, both 64 bit, running python 32-bit 2.7 recent)

create-package creates a file/dir tree including templates and create-transform also works to make a template file. Any use of canari create-profile on either computer generates:

Looking for transforms in test.transforms
Does not appear to be a valid canari package. Couldn't import the 'test.transfor
ms' package in 'test'. Error message: No module named transforms

Even if I use "canari create-package test" and then immediately run "canari create-profile test" from the same directory canari gives this error so even the canari generated example is being seen as not a valid canari package.

I'm wondering if there is some particular detail on how to use canari create-profile that one should know. Does it need to be run in a particular subdirectory for example?

Update: I checked the source and tried create-profile from the "src" subdirectory of the created package and it generates a profile, but running the transforms from that imported profile in Maltego fails with a traceback on run_transform line 73, to line 192 of common.py with ImportError:No module named transforms.helloworld

So one can trick it into generating a profile with a change to src directory to avoid the import error at profile creation but that just results in the import error at execution time.

Multiple input entities

I've got a problem with multiple entities as input for one transform. It seems that canari only installs a transform for the very first entity in the inputs-list.

My configuration looks like this:

from canari.maltego.entities import Person, EmailAddress

...

@configure(
    label='To Dummy [Dummy]',
    description='Returns a Dummy entity"',
    uuids=[ 'dummy.v2.ToDummy' ],
    inputs=[ ( 'Maltego.Person', Person ), ( 'Maltego.EmailAddress', EmailAddress ) ],
    debug=True
)

Installing went fine but I'm only able to use this transform on Maltego.Person. There is no such option with Maltego.EmailAddress

I should add that I'm limited to Maltego on Windows currently and I haven't verified it on a Linux system yet.

Linking entity's to other entity's then the starting one.

Hello,

I am wondering, is it possible to output multiple levels of links towards Maltego?
Following example:
I run a search transform on a custom-made Company entity.
The transform looks in multiple mysql databases for information.
One of the databases is named: KVK

I want the Transform to create a new KVK entity when it finds a result there, and then I want the underlying results from that database linked to the KVK entity, not to the Company entity.

So you would get the following links:
Company -> KVK -> Adress, Name, Phone number etc.

So in short: How do I tell my transform to hook new entitiy's to another entity then the one where the transform runs on?

Thanks in advance for answering!

Screenshot
Just for clarification, I want to run a transform on Bedrijf and have the transform create the KVK phrase and the other 2 entities and have them linked as shown above.

generate-entities failing with multiple properties

Not sure why this error is happening, but figure I'd check in before doing a deeper dive. Noticed that when multiple properties are added, data-type agnostic, error occurs. However, does not occur when default properties exist. Haven't been able to spot an immediate discrepancy between the XML entities in both scenarios, but the issue seems XML parsing related.

Your running Canari Framework v1.1
Maltego Carbon

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/bin/canari", line 5, in <module>
    pkg_resources.run_script('canari==1.1', 'canari')
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.14-py2.7.egg/pkg_resources.py", line 467, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/distribute-0.6.14-py2.7.egg/pkg_resources.py", line 1200, in run_script
    execfile(script_filename, namespace, namespace)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/canari-1.1-py2.7.egg/EGG-INFO/scripts/canari", line 20, in <module>
    canari_main()
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/canari-1.1-py2.7.egg/canari/commands/framework.py", line 33, in _func
    return func(self.parser.parse_args(args_, namespace))
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/canari-1.1-py2.7.egg/canari/commands/common.py", line 67, in canari_main
    opts.command_function(opts)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/canari-1.1-py2.7.egg/canari/commands/generate_entities.py", line 181, in generate_entities
    distribution.read_file(entity_file)
  File "/Library/Python/2.7/site-packages/safedexml-0.5.1-py2.7.egg/safedexml/__init__.py", line 314, in parse
    self._parse_children_unordered(node, self._fields, fields_found)
  File "/Library/Python/2.7/site-packages/safedexml-0.5.1-py2.7.egg/safedexml/__init__.py", line 366, in _parse_children_unordered
    res = field.parse_child_node(self, child)
  File "/Library/Python/2.7/site-packages/safedexml-0.5.1-py2.7.egg/safedexml/fields.py", line 476, in parse_child_node
    inst = typeclass.parse(node)
  File "/Library/Python/2.7/site-packages/safedexml-0.5.1-py2.7.egg/safedexml/__init__.py", line 314, in parse
    self._parse_children_unordered(node, self._fields, fields_found)
  File "/Library/Python/2.7/site-packages/safedexml-0.5.1-py2.7.egg/safedexml/__init__.py", line 379, in _parse_children_unordered
    self._parse_children_unordered(child, [field], fields_found)
  File "/Library/Python/2.7/site-packages/safedexml-0.5.1-py2.7.egg/safedexml/__init__.py", line 366, in _parse_children_unordered
    res = field.parse_child_node(self, child)
  File "/Library/Python/2.7/site-packages/safedexml-0.5.1-py2.7.egg/safedexml/fields.py", line 747, in parse_child_node
    res = self.field.parse_child_node(tmpobj, node)
  File "/Library/Python/2.7/site-packages/safedexml-0.5.1-py2.7.egg/safedexml/fields.py", line 476, in parse_child_node
    inst = typeclass.parse(node)
  File "/Library/Python/2.7/site-packages/safedexml-0.5.1-py2.7.egg/safedexml/__init__.py", line 319, in parse
    raise ParseError(err)
safedexml.ParseError: required field not found: 'displayname'

Error running debug-transform - canari v1.0

Hello when running the debug-transform command I get the following error message:

canari debug-transform pcaprewrite /root/pcaps/httpdownload.cap
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/canari-1.0-py2.7.egg/canari/commands/debug_transform.py", line 92, in run
) if get_transform_version(m.dotransform) == 2 else m.dotransform(
TypeError: init() takes at least 5 arguments (4 given)

Thanks.

Adam

Inheriting base entities from maltego.entities

It appears that Canari is unable to create the option when converting an exported entity, or when creating a new one.

For example, my transform returns an IP address, which I could create as a maltego.IPv4Address type, however then that limits me if I want to add multiple custom fields etc. What would be more preferable would be to create my own entity type, with my own custom field options, but inherit the base entity IPv4Address.

This should solve the issue of having to change entity types on returned entities.

If this is already possible, point me in the right direction and I will document it ;)

invalid syntax on new install

Hello,

I've just installed canari from github using:

git clone https://github.com/allfro/canari.git

The installation went fine, however when I went to run it I got this error:

root@kali:~/localTransforms/sniffMyPackets/src# canari
Traceback (most recent call last):
File "/usr/local/bin/canari", line 5, in
pkg_resources.run_script('canari==0.7', 'canari')
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 499, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1235, in run_script
execfile(script_filename, namespace, namespace)
File "/usr/local/lib/python2.7/dist-packages/canari-0.7-py2.7.egg/EGG-INFO/scripts/canari", line 3, in
from canari.commands.common import get_commands
File "/usr/local/lib/python2.7/dist-packages/canari-0.7-py2.7.egg/canari/commands/common.py", line 15, in
from canari.config import CanariConfigParser
File "/usr/local/lib/python2.7/dist-packages/canari-0.7-py2.7.egg/canari/config.py", line 3, in
from resource import conf
File "/usr/local/lib/python2.7/dist-packages/canari-0.7-py2.7.egg/canari/resource.py", line 22
name = resource_filename(pkg, name))

I removed the second ) from the file listed and it works.

This was on a fresh install of Kali Linux (the new backtrack).

Adam

Transform To Technology [P0f] returned with an error

Hello,
I have a problems with the execution of transforms. I have the following error (example with p0f):

Running transform To Technology [P0f] on 1 entities (from entity "_..**._")
Transform To Technology [P0f] returned with an error: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/canari/maltego/utils.py", line 222, in local_transform_runner
) if get_transform_version(transform_module.dotransform) == 2 else transform_module.dotransform(
File "/usr/local/lib/python2.7/dist-packages/sploitego-1.5-py2.7.egg/sploitego/transforms/p0f.py", line 31, in dotransform
i = fingerprint(request.value)
File "/usr/local/lib/python2.7/dist-packages/sploitego-1.5-py2.7.egg/sploitego/cmdtools/p0f.py", line 102, in fingerprint
stdout=subprocess.PIPE
File "/usr/lib/python2.7/subprocess.py", line 710, in init
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory (from entity "
.**._._")

What is the solution?? I own Maltego Chlorie

Thank you

Input parameters (request.params)

I want to to introduce some parameters in Maltego when I run my transform, I know it exists request.params but I don't know how it works or if this is the solution to my problem. I want the users introduce parameters in Maltego to process them in my transforms. Does someone know how I can do it?

Error on every MaltegoException()

Not sure exactly why it happens, but Malformity uses a lot of them and every time instead of showing a proper exception it just gives this error.
When I used Canari 1.0 I'm pretty sure this error didn't appear.

screenshot from 2014-06-12 00 04 22

Matching on entity field value but NOT entity value

This is a weird one.

I have some entities returned that are very large strings (Resource locations to be precise, and UserAgents). What I want to do is display a truncated value on the maltego chart, and have the full value in a dynamic field. Much like the URL default entity does.

Now, I want to make sure Maltego doesnt match entities on the truncated field, but only on the full field. I have set the full field to have strict matching, but Maltego still seems to be matching on the displayed, entity value. How do I make it ignore what's displayed (or i guess make it loose matched?)

canari create-package produces entities.py with broken namespace

After doing canari create-package example the file src/example/transforms/common/entities.py contains a class called ExampleEntity which has the namespace property set - this value does not take effect in any sub-classes, renaming it to _namespace_ seems to work.

New transform - Have to add to set

Hello, I'm not sure if this is a Canari issue or a Maltego "bug". When I create a new transform and import my configuration I find that the new transform isn't assign to the set that I've configured it for.

I have to go into Transform Manager, find the transform and the "Add to set". Once it's done it stays even after additional configuration imports

Let me know if you need any more details.

Adam.

Transforms in .mtz to other OS

Hello, is possible to migrate a .mtz file developed in Linux to Windows. I tried it and the problem was the paths in command line and working directory but I changed it and the problem continues. Now the problem is in command parameters, Maltego says "importerror no module named transforms...", if I take my package to the new OS and execute 'python setup.py install' the transforms works but I don't want to the other person can see the code of my local transforms. I'd just like to give him the .mtz file for he could run the transform in his computer. Do someone know if this is possible now?

Sorry my English!

URL entities are not displayed in Maltego

When a canari transform returns a URL entity it seems that canari returns the correct XML:

<MaltegoMessage>
 <MaltegoTransformResponseMessage>
  <Entities>
    <Entity Type="maltego.URL">
      <Value>http://woop.woop.org</Value>
      <Weight>1</Weight>
     </Entity>
    </Entities>
  </MaltegoTransformResponseMessage>
</MaltegoMessage>

But the URL entity is not rendered in Maltego.

This problem can be reproduced by following these steps:

  1. canari create-package dummy
  2. replace line 68 in helloworld.py with response += URL('http://woop.woop.org')
  3. canari install-package dummy (from src directory)
  4. python setup.py install (from project root directory)
  5. Test the transform on a Person entity

I have not been able to find the root cause myself - might be a problem in Maltego?

How to use entity fields as transform input

I am unclear how to access a transform option in my transform. I have a dynamic field which adds the "upstream entity" value when returning entities as transform results. This then allows me to include the upstream entity as a field to be queried against a database. I can't figure out the syntax of accessing fields from request.values

Python Traceback of canari.xmltools.oxml

The following Python Traceback occurs when the recfut.RFEventExpand Maltego Transform is executed as part of the "recfut.ImportRFCSV" Maltego Machine.

image

I suspect it might be caused by the external python package that has a dependency to canari.xmltools.oxml .

This Python Traceback occurs on Kali Linux but not Mac OSX using "canari debug-transform". I upgraded the various XML Kali Linux Packages too in attempting to resolve this Python Traceback.

Debugging transforms with config files

Again, might be me being dumb...

If I want to use canari debug-transform on a transform that references items in a config file, it doesnt work. It seems as though the transform needs to be compiled and run before this will work, is that correct?

It does however make debugging the config file difficult.

Matt

Is this dead or alive?

Hi.

New to Maltego.
Is this project dead or alive?
Tried to install and run the examples but is not working for me.

Tks

Failing to parse Maltego transform request message

I'm trying to run canari run-server to access a transform, it appears to expose the transforms through the HTTP server but when a request comes in from the TDS it fails to properly parse the request data. The incoming XML looks as follows:

<MaltegoMessage>
   <MaltegoTransformRequestMessage>
      <Entities>
         <Entity Type="DNSName">
            <AdditionalFields>
               <Field Name="fqdn" DisplayName="DNS Name">example.com</Field>
            </AdditionalFields>
            <Value>example.com</Value>
            <Weight>0</Weight>
         </Entity>
      </Entities>
      <Limits SoftLimit="12" HardLimit="12"/>
   </MaltegoTransformRequestMessage>
</MaltegoMessage>

This appears to match the models in canari/maltego/message.py, although I've had to change the msg = MaltegoTransformRequestMessage.parse(request_str).message line in MaltegoTransformRequestHandler.dotransform to msg = MaltegoMessage.parse(request_str).message otherwise it complains about receiving a MaltegoMessage tag (I've also tried just stripping that part of the request out, with no luck). This appears to get further parsing the request but I see no entities in the parsed request data - causing the transform request to fail with status code 400 and the message "Unsupported input entity!".

I'm still digging but any pointers would be much appreciated. Have you tried canari run-server with an iTDS server before?

entity properties with newlines not passed properly on windows

On a windows installation of canari, I have entities that have properties with newlines (e.g. service banners) that are not being properly passed through dispatcher.bat to the transform code. I believe this is due to a limitation on passing variables with newlines through cmd.exe/batch files, but not sure if there is a workaround or reimplementation

"create-profile" error when importing Maltego .mtz file containing Icons folder

When importing an .mtz file which contains Entities and Icons that were exported from Maltego 3.6.1, the "canari create-profile" command will throw the error:

****:~/Downloads/<project>$ canari create-profile <project>
Looking for transforms in <project>.transforms...
Package loaded.
Creating profile /home/****/Downloads/<project>/<project>.mtz...
Installing transform ****
Installing entity ****
Installing custom icon Icons/ to Icons/...
Traceback (most recent call last):
  File "/usr/local/bin/canari", line 4, in <module>
    __import__('pkg_resources').run_script('canari==1.1', 'canari')
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 528, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1394, in run_script
    execfile(script_filename, namespace, namespace)
  File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/EGG-INFO/scripts/canari", line 20, in <module>
    canari_main()
  File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/canari/commands/framework.py", line 33, in _func
    return func(self.parser.parse_args(args_, namespace))
  File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/canari/commands/common.py", line 65, in canari_main
    opts.command_function(opts)
  File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/canari/commands/create_profile.py", line 54, in create_profile
    transform_package.create_profile(opts.working_dir, current_dir)
  File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/canari/pkgutils/transform.py", line 311, in create_profile
    self.install(install_prefix, mtz, configure)
  File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/canari/pkgutils/transform.py", line 237, in install
    self._install_entities(distribution)
  File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/canari/pkgutils/transform.py", line 263, in _install_entities
    distribution.write_file(p, data)
  File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/canari/pkgutils/maltego.py", line 695, in write_file
    self.writestr(zinfo_or_arcname, contents)
  File "/usr/local/lib/python2.7/dist-packages/canari-1.1-py2.7.egg/canari/pkgutils/maltego.py", line 481, in writestr
    with file(realpath, mode='wb') as f:
IOError: [Errno 21] Is a directory: '/tmp/tmpmfaenH/Icons/'
Writing transform set <project> to /home/****/Downloads/<project>/<project>.mtz...
Writing server Local to /home/****/Downloads/<project>/<project>.mtz

To generate the .mtz file within Maltego:

  1. Create a new entity;
  2. Import a new Icon;
  3. Assign the Icon to the entity;
  4. Export the entity to a .mtz file.
  5. Place the mtz file into the "/src//resources/maltego" folder.

transform.local.command property of transform set to homebrew's python bin directory

We've noticed an interesting issue generating an mtz with canari create-profile $package in the environment of a machine that uses homebrew python on OSX.

I use OSX Python and the transform.local.command property of my transforms correctly points to /usr/local/bin/dispatcher.

However, a peer uses homebrew Python 2.7.9 and their transform.local.command property gets set to:
/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/bin/dispatcher

His is actually installed in /usr/local/bin/dispatcher .

Which, doesn't exist, so all attempts to run the transform fail with "No file or directory" in maltego. This can be worked around by editing the property of the transforms in Manage Transforms in maltego.

I believe the related code might be at src/canari/pkgutils/maltego.py:

        transform_settings_def = TransformSettings(properties=[                 
            CmdLineTransformPropertySetting(                                    
                os.path.join(get_bin_dir(),                                     
                             'dispatcher.bat' if os.name == 'nt' else 'dispatcher')
            ),                                                                  
            CmdParmTransformPropertySetting(name),                              
            CmdCwdTransformPropertySetting(working_dir),                        
            CmdDbgTransformPropertySetting(spec.debug)                          
        ])        

ERROR: helloworld sample transform on tungsten 3.4 5003

canari framework is awesome!
thank you for all the hours you put into this project.

i used the create- package and create-profile and maltego UI to import.

is my setup that is wrong? or is it a bug with the path on import?

if someone please could point me in the right direction, that would be awesome

OS: Linux 3.8.0-19-generic amd64
JAVA: 1.7.0_45 VM
JAVA: Java HotSpot(TM) 64-Bit Server VM 24.45-b08

ERROR:
Transform To MyTestEntity [Hello World] done
Running transform To MyTestEntity [Hello World] on 1 entities.
Transform To MyTestEntity [Hello World] returned with an error: Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/canari-1.0-py2.7.egg/canari/commands/run_transform.py", line 73, in run
transform_module = import_transform(transform)
File "/usr/local/lib/python2.7/dist-packages/canari-1.0-py2.7.egg/canari/commands/common.py", line 192, in import_transform
return import(script, globals(), locals(), ['dotransform'])
ImportError: No module named transforms.helloworld

Transform To MyTestEntity [Hello World] done

Enhancement - "duplicate-transform"

Please assign this the lowest priority

Can a "canari duplicate-transform" be created which is similar to "canari create-transform" by copies an existing transform is then renamed?

The reason for this I want to repeat the canari boilerplate with the python metadata values, etc (i.e. everything excluding doTransform) that I had modified the initial boilerplate to.

Yes, I know that a workaround would be "canari create-transform" and then copy the existing python script over the new filename.

Clarify "namespace" within "generate-entities"

I will submit a pull request for this issue when I get some time but I'll make a note of this issue now while I review my git changelog and expect several more issues of the coming days :)

Can I recommend that the "-n" argument of "generate entities" be clarified as the "Unique type name" in the "Edit Entity"->"Basic Information" window of Maltego rather than "namespace" (which is a better definition than what Paterva defined in hindsight) within:

Error on canari install-package

Morning, I've just come across this error when trying to install my package. It's worked fine up until now and I'm not sure if its canari or my code (worked fine on another machine).

root@bt:~/localTransforms/sniffMyPackets# canari install-package sniffMyPackets -w /root/localTransforms/sniffMyPackets/src
Looking for transforms in sniffMyPackets.transforms
Installing transform sniffMyPackets.v2.map2ip_domain from sniffMyPackets.transforms.map2ip...
Installing transform sniffMyPackets.v2.map2ip_host from sniffMyPackets.transforms.map2ip...
Traceback (most recent call last):
File "/usr/local/bin/canari", line 5, in
pkg_resources.run_script('canari==0.8', 'canari')
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 461, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 1194, in run_script
execfile(script_filename, namespace, namespace)
File "/usr/local/lib/python2.6/dist-packages/canari-0.8-py2.6.egg/EGG-INFO/scripts/canari", line 45, in
main()
File "/usr/local/lib/python2.6/dist-packages/canari-0.8-py2.6.egg/EGG-INFO/scripts/canari", line 40, in main
cmds[args[0].command].run(args[1])
File "/usr/local/lib/python2.6/dist-packages/canari-0.8-py2.6.egg/canari/commands/install_package.py", line 331, in run
opts.working_dir
File "/usr/local/lib/python2.6/dist-packages/canari-0.8-py2.6.egg/canari/commands/install_package.py", line 104, in install_transform
intype = spec.inputs[i]1.type
IndexError: list index out of range

I've tried this on BackTrack 5 R3 and Kali.

Backtrack was using the easy_install method to get canari and Kali was from doing a git pull and then installing canari again.

Thanks.

create-profile invalid command

I installed canari via easy_install, and the create-profile command is not available, though install-package is. Am I using an older version of canari?

Importing entities as input types from other packages

Im a bit stuck. If I have two packages containing entities, but I want an entity type defined in one package to be an input entity in another package, how do I do it?

I've tried copying the entities file from one package into a new file in common and importing from that file, I've also copied the contents of the other entities file into this one and imported. Neither work in Maltego.

Is this possible and what am I doing wrong? Sorry for being such a n00b ;)

TDS Section of "5. Transform Development Quick-Start"

@allfro,

Corrections needed for "5. Transform Development Quick-Start"

Delete "4-3" from URI (also "6-" from http://www.canariproject.com/6-more-information/) as per the convention for the other pages.

canari create-transform inserts "config" as the third parameter of the dotransform() i.e. def dotransform(request, response, config): and therefore should be updated to reflect the new implementation of create-transform.

There is no documentation on how to generate the canari.conf and mypackage.conf files?

create-entities - Error - "Maltego v3.4.0CE"

I'll send a pull request for https://github.com/allfro/canari/blob/master/src/canari/commands/generate_entities.py#L163 RSN

I executed "create-entities" (with no arguments) against "Maltego v1.0.1CaseFileCE" and "Maltego v3.4.0CE".

"Maltego v3.4.0CE" triggered the following error on Mac OSX:

Traceback (most recent call last):
  File "/usr/local/bin/canari", line 5, in <module>
    pkg_resources.run_script('canari==0.7', 'canari')
  File "build/bdist.macosx-10.6-universal/egg/pkg_resources.py", line 488, in run_script
    """List all distributions needed to (recursively) meet `requirements`
  File "build/bdist.macosx-10.6-universal/egg/pkg_resources.py", line 1338, in run_script
    utime(tmpnam, (timestamp,timestamp))
  File "/Library/Python/2.6/site-packages/canari-0.7-py2.6.egg/EGG-INFO/scripts/canari", line 45, in <module>
    main()
  File "/Library/Python/2.6/site-packages/canari-0.7-py2.6.egg/EGG-INFO/scripts/canari", line 40, in main
    cmds[args[0].command].run(args[1])
  File "/Library/Python/2.6/site-packages/canari-0.7-py2.6.egg/canari/commands/generate_entities.py", line 191, in run
    xml = XML(ar.open(e).read())
  File "<string>", line 85, in XML
SyntaxError: not well-formed (invalid token): line 1, column 1

No error occurred when "Maltego v1.0.1CaseFileCE" was selected and the subsequently generated /[myPackage]/src/[myPackage]/transforms/common/entities.py is also correct.

how do i request value from user through the dialog box?

I would like the user to specify the time variable for a search function on specific entity. This value would be dynamic according to the user's need. Another alternative is for the user to create a new properties inside the entity itself for the value, quite troublesome.

Documentation out of date on Plume and V3 transforms

The documentation on using Plume recommends copying "the plume.wsgi and plume.py files from the canari/src/canari/resources/tds directory to your WSGI container’s path", but plume.wsgi doesn't exist in the repository. I found the canari install-plume command and tried that instead. The plume.sh script it generates doesn't seem to work for me so I'm running it directly: twistd web --wsgi plume.app -n.

Starting the server with the twistd command above causes Canari to report the following error:

ERROR: Plume does not support V2 Canari transforms ('Example.transforms.transform_name').
Please update to V3. See http://www.canariproject.com/4-3-transform-development-quick-start/ for more details.

However, the documentation on that page (which I originally followed) only mentions V2. Are theres docs available for V3 transforms I could review?

Maltego 3.4.0 on Windows unable to parse date in MTZ-archive

Ween using canari-1.0 to create an archive of Malformity (HEAD from GitHub), Maltego 3.4.0 on Windows 7 throws this error:

image

I can send you the generated archive if neccessary.

Edit: The archive was also generated on Windows, Python 2.7.2.5, 32 bit.

Enterbox with remember settings

image

Hello, does anyone know how to obtain an enterbox such as the picture? I've taken a look at easygui library but I have not found anything like this. I am interested about "Remember these settings" for the user can enter an apikey just once in a maltego machine for example.

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.