Difference between pages "Tools:Visualization" and "Operating System Password Encryption"

From ForensicsWiki
(Difference between pages)
Jump to: navigation, search
m (Graph Drawing Applications)
 
(New page: ==Unix/Linux Password File== Unix and its various clones have traditionally used the /etc/passwd file to store user account information, including passwords. Because the /etc/password file...)
 
Line 1: Line 1:
Although not strictly for forensic purposes, '''visualization tools''' such as the ones discussed here can be very useful for visualizing large data sets. As forensic practitioners need to process more and more data, it is likely that some of the techniques implemented by these tools will need to be adopted.
+
==Unix/Linux Password File==
 +
Unix and its various clones have traditionally used the /etc/passwd file to store user account information, including passwords. Because the /etc/password file needs to be world-readable in order for utilities such as `ls` and `finger` to work modern Unix operating systems store the encrypted passwords in 'shadow' file named /etc/shadow.
  
== Open Source ==
+
{| class="wikitable" border="1"
=== Visualization Toolkits and Libraries ===
+
|-
* [http://csbi.sourceforge.net/index.html Graph Interface Library (GINY)] - Java
+
!Username
* [http://www.gravisto.org/ Gravisto: Graph Visualization Toolkit] - An editor and toolkit for developing graph visualization algorithms.
+
|The user's username
*  [http://hypergraph.sourceforge.net/ HyperGraph] - Hyperbolic trees, in Java. Check out the home page. Try clicking on the logo...
+
|-
* [http://ivtk.sourceforge.net/ InfoViz Toolkit] - Java, originally developed at [[INRA]].
+
!Password
* [https://jdigraph.dev.java.net/ Jdigrah] - Java Directed Graphs.
+
|Older Unixes store the password crypt here, more modern ones use an 'x' character to denote that a shadow file is in use.
* [http://jgrapht.sourceforge.net/ JGraphT] - A Java visualization kit designed to be simple and extensible.
+
|-
* [http://www.softwaresecretweapons.com/jspwiki/Wiki.jsp?page=LinguineMaps Linguine Maps] - An open-source Java-based system for visualizing software call maps.
+
!UID
* [http://prefuse.sourceforge.net/ Perfuse] - A Java-based toolkit for building interactive information visualization applications
+
|The numeric user ID of the user
* [http://www.gnu.frb.br:8080/rox Rox Graph Theory Framework] - An open-source plug-in framework for graph theory visualization.
+
|-
* [http://touchgraph.sourceforge.net/ TouchGraph] - Library for building graph-based interfaces.
+
!GID
* [http://www.ssec.wisc.edu/~billh/visad.html#intro VisAD] - A Java component library for interactive and collaborative visualization.
+
|The primary numeric group ID of the user
* [http://public.kitware.com/VTK/ The Visualization Toolkit] - C++ multi-platform with interfaces available for Tcl/Tk, Java and Python. Professional support provided by [http://www.kitware.com/ Kitware].
+
|-
* [http://zvtm.sourceforge.net/index.html Zoomable Visual Transformation Machine] - Java. Originally started at Xerox Research Europe.
+
!GECOS Field
* [http://processing.org/ Processing.org] - A new language for doing graphics and visualization.
+
|This is a text field which may contain information about the user such as name and contact details
 +
|-
 +
!Home directory
 +
|The user's home directory
 +
|-
 +
!Shell
 +
|The user's Unix shell
 +
|}
 +
<pre>
 +
user1:x:600:600:User 1:/home/user1:/bin/bash
 +
user2:x:601:601:User 2:/home/user2:/bin/bash
 +
admin:x:602:602:Admin Account:/home/admin:/bin/bash
 +
apache:x:603:603:Apache HTTP User:/var/www:/bin/bash
 +
someguy:x:604:604:Someguy:/home/someguy:/bin/bash
 +
</pre>
  
===Graph Drawing Applications===
+
The password is stored as an encrypted one-way hash of the original password. When a user attempts to authenticate the password supplied is encrypted using the same algorithm and compared to the stored password crypt.
* [http://www.graphviz.org/ Graphviz] - Originally developed by the [http://public.research.att.com/areas/visualization/ AT&T Information Visualization Gorup], designed for drawing connected graphs of nodes and edges. Neato is a similar system but does layout based on a spring model. Can produce output as [[PostScript]], [[PNG]], [[GIF]], or as an annotated graph file with the locations of all of the objects &mdash; ideal for drawing in a GUI. Runs from the command line on [[Unix]], [[Windows]] and [[Mac]], although there is also a [http://www.pixelglow.com/graphviz/ MacOS GUI version].
+
* [http://graphexploration.cond.org/ Guess: The Graph Exploration System] - Originally developed at HP, this is a large Jython/Java-based system that you can use for building your own applications. Distributed under GPL.
+
* [http://sourceforge.net/projects/ivc/ InfoVis Cyberinfrastructure] - Another graph drawing system written in Java.
+
* [http://jung.sourceforge.net/ Java Universal Network/Graph Framework (JUNG)] - Graphing, [[data mining]], [[social network]] analysis, and other stuff.
+
* [http://www.andrew.cmu.edu/user/krack/krackplot.shtml Krackplot] - "KrackPlot is a program for network visualization designed for social network analysts."
+
* [http://bioinformatics.icmb.utexas.edu/lgl/ Large Graph Layout (LGL)] - A bioinformatics system from University of Texas. They really mean Large.
+
* [http://www.sfu.ca/~richards/Multinet/Pages/multinet.htm MultiNet] - A data analysis package for drawing conventional data and graph data.
+
* [http://www.analytictech.com/netdraw.htm NetDraw] - "a free program written by Steve Borgatti for visualizing both 1-mode and 2-mode social network data."
+
* [http://web.mit.edu/bshi/Public/nv2d/ NetVis 2D] - Another graph visualization and layout tool written in Java.
+
* [http://www.opendx.org/ OpenDX] - Based on [[IBM]]'s Visualization Data Explorer, runs on [[Unix]]/X11/Motif.
+
* [http://vlado.fmf.uni-lj.si/pub/networks/pajek/ Pajek] - Windows program for drawing large networks.
+
* [http://sourceforge.net/projects/sonia/ Social Network Image Animator (SoNIA)] - Originally developed at Stanford. Written in Java. Makes movies.
+
* [http://www.informatik.uni-bremen.de/uDrawGraph/en/uDrawGraph/uDrawGraph.html uDrawGraph]
+
* [http://www.wilmascope.org/ WilmaScope] - Real-time animations of dynamic graph structures. Written in Java. Sophisticated force model with strings and attraction.
+
* [http://www.caida.org/tools/visualization/walrus/ Walrus] - A 3-d graph network exploration tool. Employs 3D hyperbolic displays and layout based on a user-supplied spanning tree.
+
  
== Geographical Drawing Programs ==
+
===Unix Crypt===
 +
The most commonly used password encryption in Unix for many year was crypt(). The Unix crypt command can be used to generate the Unix crypt value for a given string.
  
* [http://openmap.bbn.com/ OpenMap] -- From [[BBN]].
+
<pre>
 +
jim@localhost ~
 +
$ crypt hello
 +
S84xRArsM.gtk
 +
</pre>
  
== Commercial Tools ==
+
In modern computing Unix crypt is severly limited. Passwords are restricted to 8 character passwords, and any trailing character as ignored. This puts brute force attacks on Unix crypts well within the realms of possibility.
  
* [http://www.aisee.com/ aiSee Graph Layout Software] - Supports 15 layout algorithms, recursive graph nesting, and easy printing. Runs on [[Windows]], [[Linux]], [[Solaris]], [[NetBSD]], and [[MacOS]]. 30-day trial and free registered versions available. Academic pricing available.
+
<pre>
*  [http://www.geomantics.com/ Geomantics] - Geographical, Visualization and Graphics software. Runs on [[Windows]].
+
jim@localhost ~
* [http://www.kylebank.com/ Graphis 2D and 3D graphing software] - Runs on [[Windows]]. Free 30-day evaluation copy available.
+
$ crypt xx hellohel
* [http://www.openviz.com/ OpenViz] and  [http://www.powerviz.com/ PowerViz] - Both from Advanced Visual Systems, super high-end visualization toolkits. $$$$
+
xxiHMKqoMTDuc
* [http://www.tomsawyer.com/ Tom Sawyer Software] Analysis, Visualizaiton, and Layout programs. - Heavy support for drawing graphs. Beautiful gallery. ActiveX, Java, C++ and .NET editions.
+
* [http://www.netminer.com/ NetMiner] - "One of the most comprehensive and usable software tools for Social Network Analysis in the world." Runs on Winodws, with a Linux version under development. $35 for "Express" student version, $250 for "Professional" student version, $950 for "Normal" "Professional" version.
+
* [http://www.analytictech.com/ucinet.htm UCINET] - A comprehensive package for the analysis of social network data as well as other 1-mode and 2-mode data.
+
  
= Other Resources =
+
jim@localhost ~
 +
$ crypt xx hellohello
 +
xxiHMKqoMTDuc
 +
</pre>
  
; [http://www.palgrave-journals.com/ivs/index.html Information Visualization Journal]
+
===Salts===
 +
Unix passwords usually use what is know as a salt to help make pre-computation of password hashes more difficult.
  
; [http://www-static.cc.gatech.edu/gvu/ii/resources/infovis.html GVU's Information Visualization Resources link farm]
 
  
; [http://www.msi.umn.edu/user_support/scivis/scivis-list.html Scientific Visualization at the Supercomputing Institute]
+
===MD5/SHA1===
  
; [http://directory.google.com/Top/Science/Math/Combinatorics/Software/Graph_Drawing/ Google Directory of Graph Drawing Software]
+
NIS
 
+
; [http://rw4.cs.uni-sb.de/~diehl/softvis/seminar/index.php?goto=seminar ACM Symposium on Software Visualization]
+
: May give you some ideas.
+
 
+
; [http://directory.fsf.org/science/visual/ GNU Free Software directory of scientific visualization software]
+
 
+
; [http://www.cs.brown.edu/people/rt/gd.html Roberto Tamassia's resources on Graph Drawing]
+
 
+
; [http://www.manageability.org/blog/stuff/open-source-graph-network-visualization-in-java/view Open Source Graph Network Visualization in Java]
+

Revision as of 05:58, 19 June 2008

Unix/Linux Password File

Unix and its various clones have traditionally used the /etc/passwd file to store user account information, including passwords. Because the /etc/password file needs to be world-readable in order for utilities such as `ls` and `finger` to work modern Unix operating systems store the encrypted passwords in 'shadow' file named /etc/shadow.

Username The user's username
Password Older Unixes store the password crypt here, more modern ones use an 'x' character to denote that a shadow file is in use.
UID The numeric user ID of the user
GID The primary numeric group ID of the user
GECOS Field This is a text field which may contain information about the user such as name and contact details
Home directory The user's home directory
Shell The user's Unix shell
user1:x:600:600:User 1:/home/user1:/bin/bash
user2:x:601:601:User 2:/home/user2:/bin/bash
admin:x:602:602:Admin Account:/home/admin:/bin/bash
apache:x:603:603:Apache HTTP User:/var/www:/bin/bash
someguy:x:604:604:Someguy:/home/someguy:/bin/bash

The password is stored as an encrypted one-way hash of the original password. When a user attempts to authenticate the password supplied is encrypted using the same algorithm and compared to the stored password crypt.

Unix Crypt

The most commonly used password encryption in Unix for many year was crypt(). The Unix crypt command can be used to generate the Unix crypt value for a given string.

jim@localhost ~
$ crypt hello
S84xRArsM.gtk

In modern computing Unix crypt is severly limited. Passwords are restricted to 8 character passwords, and any trailing character as ignored. This puts brute force attacks on Unix crypts well within the realms of possibility.

jim@localhost ~
$ crypt xx hellohel
xxiHMKqoMTDuc

jim@localhost ~
$ crypt xx hellohello
xxiHMKqoMTDuc

Salts

Unix passwords usually use what is know as a salt to help make pre-computation of password hashes more difficult.


MD5/SHA1

NIS