_____ /\__\ /\ \ /\ \
/::\ \ /:/ _/_ \:\ \ /::\ \ ___ ___
/:/\:\ \ /:/ /\__\ \:\ \ /:/\:\__\ /\__\ /\__\
/:/ \:\__\ /:/ /:/ _/_ _____\:\ \ /:/ /:/ / /:/__/ /:/ /
/:/__/ \:|__|/:/_/:/ /\__\/::::::::\__\/:/_/:/__/___/::\ \ /:/__/
\:\ \ /:/ /\:\/:/ /:/ /\:\~~\~~\/__/\:\/:::::/ /\/\:\ \__ /::\ \
\:\ /:/ / \::/_/:/ / \:\ \ \::/~~/~~~~ ~~\:\/\__\/:/\:\ \
\:\/:/ / \:\/:/ / \:\ \ \:\~~\ \::/ /\/__\:\ \
\::/ / \::/ / \:\__\ \:\__\ /:/ / \:\__\
\/__/ \/__/ \/__/ \/__/ \/__/ \/__/
___ ___ ___ ___ ___
/\ \ /\ \ /\ \ ___ /\__\ /\__\
/::\ \ /::\ \ /::\ \ /\__\ /:/ _/_ /:/ / ___
/:/\:\__\ /:/\:\__\ /:/\:\ \ /:/__/ /:/ /\__\ /:/ / /\__\
/:/ /:/ //:/ /:/ / /:/ \:\ \ /::\ \ /:/ /:/ _/_ /:/ / ___ /:/ /
/:/_/:/ //:/_/:/__/___/:/__/ \:\__\\/\:\ \ /:/_/:/ /\__\/:/__/ /\__\ /:/__/
\:\/:/ / \:\/:::::/ /\:\ \ /:/ / ~~\:\ \\:\/:/ /:/ /\:\ \ /:/ //::\ \
\::/__/ \::/~~/~~~~ \:\ /:/ / \:\__\\::/_/:/ / \:\ /:/ //:/\:\ \
\:\ \ \:\~~\ \:\/:/ / /:/ / \:\/:/ / \:\/:/ / \/__\:\ \
\:\__\ \:\__\ \::/ / /:/ / \::/ / \::/ / \:\__\
\/__/ \/__/ \/__/ \/__/ \/__/ \/__/ \/__/
---------------------------------------------------------Welcome to DENRIT!---------------------------------------------------------
Firstly I want to thank you for your interesting in this software, I've been thinking and working in the features that will be included and I think that this will be useful for you. I'm just a developer and a technologist enthusiastic. Denrit has borned while I'd been performing pentesting on other systems and I'd need execute every tool independently, I'd think that would great if I could use a tool that integrate all those tools (with the security in mind) and perform those tests using TCP or an Anonymous network, on other hand, I'm a user of Freenet, I2P and TOR... again, would be great If i could control those networks in a unified way. Well, and what if I mix those ideas? Integration of tools and performing anonymous and non-anonymous pentesting, this is DENRIT. Now, this software is being writing now and I've thinking in other ideas that will be integrated in the software, like perform penetration testing over internet using a "Out-Proxy" like TOR, and perform penetration testing over private anonymous networks like I2P or Freenet, this is still in the air, but I'm thinking in how to do that. I'm not receiving any kind of economic bonus, I'm doing this because I love to develop software and the security is my passion, so please, If you have any idea, improvement or If you want contribute in some other way, your help would be very appreciated.
---------------------------------------------------------What do I need to use Denrit?---------------------------------------------------------
- JDK 1.6 or later.
- Derby Database in Network mode. See the wiki page for details: https://sourceforge.net/p/denrit/wiki/Derby%20Network%20Server%20Install/
- Key Pair of Public/Private Key (if you want to use Public Key authentication with the Server SSH) you can generate an Key Pair using OpenSSL or OpenSSH (ssh-keygen)
- Pentesting tools correctly configured where the Server Sandbox is running, those applications are Metasploit Framework, Nikto, Nmap, Nessus, among others (if you don't want to install or configure those applications, you can still using Denrit, but the options related with those tools will not work propertly.
---------------------------------------------------------How to Install it?---------------------------------------------------------
You can do it in two ways: Using the ejecutable "Denrit-all-R01.exe" which includes all the services needed to install in your local machine and control them all from the system tray application or install every module in a separate way, If you need run the modules in different machines, you should use this method.
Installs All services using the unique distribution file.
All you need to do is execute the Denrit-all-R01.exe file from command line like this:
java -jar Denrit-all-R01.exe
And this is all, the system tray icon enabled includes all the options available.
Installs Every Single module independently.
All distribuitable files are "Exe" programs, but trust me, it'll work on Windows and Linux machines as well. The installation process is simple, just follow this steps (you need to start the server sandbox before the server ssh):
1. Install and Start the Server Sandbox:
1.1 Install the needed files (if you already have installed the needed files, the --install option will ask you to confirm the override if configuration defaults, any change that you've made in those files will be losed)
java -jar Denrit-sandboxserver-R01.exe --install
1.2 Start the Sandbox Server (using TCP or TOR networks, choose one or let the program start both) In command line execute:
java -jar Denrit-sandboxserver-R01.exe
This command will start the Server Sandbox in 4002 (TOR) and 4003 (TCP) ports and the stoping time will be indefinitly. If you want to start *ONLY* the Server Sandbox with TOR enabled:
java -jar Denrit-sandboxserver-R01.exe --startTorServer
If you want to start *ONLY* the Server Sandbox with TCP enabled:
java -jar Denrit-sandboxserver-R01.exe --startTcpServer
If you want to stop a server already started, you'll need open a shell and execute:
java -jar Denrit-sandboxserver-R01.exe --stopServer ipaddr portnumber
So, if the server has started using TOR in the port 4002, to stop it, you could execute.
java -jar Denrit-sandboxserver-R01.exe --stopServer localhost 4002
2. Install the Server SSH, Create a New user and start the Server:
2.1 Install the needed files
java -jar Denrit-sshserver-R01.exe --install
2.2 Create a new user in the Server SSH from command Line:
java -jar Denrit-sshserver-R01.exe --createuser user passuser
If you want to perform public key authentication with the created user, execute the next command.
java -jar Denrit-sshserver-R01.exe --createuser user passuser /path_ssh_key/id_rsa passprivatekey
2.3 Start the Server SSH
java -jar Denrit-sshserver-R01.exe --start
Install from Source Code.
---------------------------------------------------------INSTALL EXTERNAL LIBRARIES---------------------------------------------------------
SilverTunnel library is not available for Maven repository, so you must install the library manually before compile the project (Server Side). Execute the following command:
mvn install:install-file -Dfile= YOUR_DENRIT_DIR/Design/doc/librariesNonMaven/silvertunnel.org_netlib.jar -DgroupId=org.silvertunnel -DartifactId=netlib -Dversion=0.13 -Dpackaging=jar
The current version is the 0.13, if there's a new release, I'll update this document and the pom.xml file in the dr_sandbox module.
---------------------------------------------------------INSTALL DENRIT SERVER SSH FROM CODE---------------------------------------------------------
The SSH service processes requests from every DENRIT client safely, DENRIT server and DENRIT client could be installed in a separate machine, there's no need to install both in the same machine, (but there's no problem if you done in that way) to install this part of the system, the following requerimients must to be completed:
You need to have Maven2 installed in the server machine, see: https://maven.apache.org/
SVN Client to get all sources (obviously)
Now, when you do a checkout from the project repository, you'll get a folder structure like this:
DENRIT
- DESIGN (directory)
- PROPERTIES (directory)
- dr_admin (directory)
- dr_anonymizer (directory)
- dr_connector (directory)
- dr_deployer (directory)
- dr_dsktp (directory)
- dr_model (directory)
- dr_sandbox (directory)
- dr_web (directory)
- pom_client (file)
- pom_server (file)
- TODO (file)
- README (file)
The folder starting with "dr" characters are functional modules of DENRIT, each of these modules represents a layer of the system with its own features and interfaces that let you interact with other system modules. The server ssh is localed in the dr_anonymizer and to compile and package it. Open a new terminal (console) and execute the following command from root directory (DENRIT)
mvn -f pom_server.xml clean compile package install
This command will generate a "target" directory inside the "dr_anonymizer" directory, in that directory there's the class files (compiled program). Now is the time to assembly the program to generate an executable JAR file, inside the "dr_anonymizer" directory execute the following:
mvn assembly:single
With this command, the JAR file is now generated with all dependencies needed for execute in target/dr_anonymizer-1.0-jar-with-dependencies.jar JAR file generated and can be used to install the property files needed for the server to run. The installation script is supplied in the following command from console
java -jar dr_anonymizer-1.0-jar-with-dependencies.jar --install
The output expected from the command execution in Windows systems is the following:
Directory: C:Documents and SettingsUSER.denritserver Created.
File: C:Documents and SettingsUSER.denritserverserverProperties.properties Created.
Directory: C:Documents and SettingsUSER.denritdatabase Created.
File: C:Documents and SettingsUSER.denritdatabaseDenritDatabase.properties Created.
While the output expected in Linux Systems is the following:
Directory: /home/USER/.denrit/server Created.
File: /home/USER/.denrit/serverProperties.properties Created.
Directory: /home/USER/.denrit/database Created.
File: /home/USER/.denrit/database/DenritDatabase.properties Created.
Where "USER" is the user name used to execute the command. The directory ".denrit" created, contains the resources needed and the configuration to control the behaivor of the system. The next step is know the command line supported in the Denrit Server. (see the following sections of this tutorial).
INSTALL DENRIT CLIENT:
The DENRIT Client, will perform the connection with the server and send commands to SSHD process executing in the remote (or local) machine. In this case, we'll install the DSKTP module (the web module is not developed yet, If you want to colaborate, please contact with me). Following the sames steps explained before for Server module, you must compile and assembly de DSKTP module, this commands shows how:
mvn -f pom_client.xml clean compile package install
cd dr_dsktp
mvn assembly:single
Then, you can execute the client using the jar with all dependencies located in the "target/" directory as follows:
java -jar dr_dsktp-1.0-jar-with-dependencies.jar
----------------------------------------------------------------------------------------------------------------------------------------------------------
If you want to develop or improve Denrit code, maybe is usefull to you, use eclipse and Maven to automatize this process. in this tutorial, you'll see how to do it. Now you can run the DSKTP module (GUI) and perform every operation available in the main frame like define and connect servers ssh, execute metasploit commands passing by the server ssh and server sandbox using TCP or TOR, etc. This is the First release, so maybe it's a little unstable, but I've tested it carefully and I think that it's gonna be very usefull for you. Please, leave your comments and tell what do you think about this software, or if you see any bug or you think in a new feature, your feedback will help me!
Adastra.
debiadastra@gmail.com