Open-Source Penetration Testing Tool For Beginners

Suurus: px
Alustada lehe näitamist:

Download "Open-Source Penetration Testing Tool For Beginners"

Väljavõte

1 TALLINN UNIVERSITY OF TECHNOLOGY School of Information Technologies Toyib Olamide Ahmed IVSB Open-Source Penetration Testing Tool For Beginners Bachelor's thesis Supervisor: Kaido Kikkas Ph.D Tallinn 2021

2 TALLINNA TEHNIKAÜLIKOOL Infotehnoloogia teaduskond Toyib Olamide Ahmed IVSB Avatud lähtekoodiga läbistustestimisvahend algajaile bakalaureusetöö Juhendaja: Kaido Kikkas Tehnikateaduste doktor Tallinn 2021

3 Author s declaration of originality I hereby certify that I am the sole author of this thesis. All the used materials, references to the literature and the work of others have been referred to. This thesis has not been presented for examination anywhere else. Author: Toyib Olamide Ahmed

4 Abstract The objective of this thesis is to create an application that s free for anyone to test the vulnerability in their web server and open to anyone willing to improve usage or download the application. This solution will help small businesses that can t afford to pay a professional for the evaluation of their system. The result of this work is a full-stack web application, where user can input and submit their domain name and via user interface and get their system tested with the basic phases of penetration testing. The result will then be forwarded to their respective on the completion of the test. Back-end is written using Node.js while front-end is implemented with React.js. This thesis is written in English and is 45 pages long, including 5 chapters, 17 figures and 1 table. 4

5 Annotatsioon Avatud lähtekoodiga läbistustestimisvahend algajaile Küberturbetehnika bakalaureuse programm. Lõputöö eesmärk on luua tasuta äpp, mida võib kasutada igaüks, kes soovib oma veebiserveri haavatavust testida, lisaks on äpi kood avatud kõigile, kes soovivad selle kasutusmugavust parandada või isiklikuks kasutuseks alla laadida. See veebilahendus võiks aidata väikeettevõtteid, kellel puudub rahaline ressurss, et palgata professionaal oma süsteemi hindama. Käesoleva lõputöö tulemuseks on full-stack veebiäpp, kuhu kasutaja sisestab kasutajaliidese kaudu domeeninime ja i, seejärel testitakse süsteemi läbistustestimise algtasemel. Testi lõppedes saadetakse tulemus sisestatud ile. Backend i kirjutamiseks oli kasutuses Node.js ja frontend i jaoks React.js. Lõputöö on kirjutatud inglise keeles ning sisaldab teksti 45 leheküljel, 5 peatükki, 17 joonist ja 1 tabelit. 5

6 List of abbreviations and terms AJAX : Asynchronous JavaScript and XML API : Application Programming Interface DOM : Domain Object Model GUI : Graphical User Interface HTML : HyperText Markup Language HTTP : HyperText Transfer Protocol IP address : Internet Protocol address JSON : Java Script Object Notation SPA : Single Page Application UI : User Interface URL : Uniform Resource Locator

7 Table of Contents 1 Introduction Problem statement Goals of the Thesis Structure of the Thesis Background Main concepts of penetration testing The penetration testing process Commencement Planning Testing Reporting Tools for penetration testing Metasploit Framework Nmap Wireshark Burp Suite Related Work Penetration Testing of Web Applications in a Bug Bounty Program Penetration Testing on Domain Name Service Summary of related work Methodology Single Page Application (SPA) Model-View-Controller (MVC) Model View View-Model (MVVM) Frontend with React.js Additional used libraries Backend with Node.js Additional used modules Database with MongoDB Heroku Cloud Application Platform Implementation Service architecture Server-side API Model for database Creating new test Running test and sending result File structure Client-side Structure

8 4.3.2 Components User Interface File structure Future development Summary References

9 List of figures Figure 1 Traditional page and SPA lifecycles Figure 2 The MVC Pattern Figure 3 The MVVM pattern Figure 4 The MVVM pattern with React.js Figure 5 Client-Server Architecture of the Service Figure 6 The package.json file Figure 7 API routes from server Figure 8 Database model Figure 9 Create test controller Figure 10 Server project structure Figure 11 Client-side structure Figure 12 App.js component Figure 13 Search.js component Figure 14 Service.js component Figure 15 Web application homepage Figure 16 Error Messages when fields are left empty Figure 17 Successful message on test completion

10 List of tables Table 1 API endpoints

11 1 Introduction This thesis is focusing on penetration testing and building a simple penetration tool for beginners. A penetration test is a procedure that is used to assess the security of a computer system by acting as an attacker who s trying to gain access into the system. The result of the test always shows if the system is vulnerable to an attack or not. This thesis will focus on building an application to implement network-based penetration testing, as it is one of the most common types of penetration testing. The main reason for choosing network-based penetration testing is because the testing that will be performed in the app involves several repetitive tasks that can be performed remotely via a network connection, so for this reason it is necessary to automate them. The purpose of penetration testing automation is to reduce the costs in terms of and people needed to perform the test. However, there are also some disadvantages of penetration testing automation like the generation of false positives, limited pivoting, less analysis of sensitive data and stability issues. 1.1 Problem statement There is already a number of tools that can be used to perform web automated penetration testing and some of these tools will be described in section 2.4. These tools perform well and minimize the amount of work needed to perform a penetration test, but these userfriendly web tools are often monetized and usually give little to no information if you are not paying to use the tool. An undeniable question is Why are there not enough opensource web penetration testing tools for beginners?. The answer is most companies or institutions behind these web applications are doing it solely for the purpose of monetizing them. Exploiting is a vulnerability that can often cause a system or service to crash or fail to perform its legitimate purpose. This makes penetration testing a difficult practice since the tests are usually performed in a production environment. The stability and integrity of the target system are very important in almost every situation and one cannot simply accept that the tools may cause the system to stop operating. Therefore, penetration testers mostly prefer manual testing so that the tester has all control of the testing process and can maintain and assure that only safe techniques are used. 11

12 1.2 Goals of the Thesis The main goal of this thesis is to build a web application that s completely open-source and suitable for non-tech personnel to use in order to check the security flaws of a domain or a system. This new tool will evaluate systems with a non-aggressive approach and should be suitable to use in production environment, should automate everything that can be done safely without risk of service interruption. The new tool will only focus on implementing the first three steps of penetration testing which will be explained in section 2.2. The tool would serve as an initial step in the testing process by eliminating repetitive testing and dependencies. The system under test should be exploited to extend the traded off area and to securely get extra valuable data. Additionally, the tool should provide the user with a descriptive report of the testing results and this report can be download from the webpage on the completion of the test or sent to the user . The choice will be made by the user on how to they want to receive their system testing report. Furthermore, the user will not be able to influence or specify what kind of test they want to run. The test will be conducted based on the set of rules implemented by the author of this project, but the fact that the project is open source allows people with technical knowledge to manipulate, add or remove from the series of testing that has been originally specified. 1.3 Structure of the Thesis Chapter 1 will be describing the problem and the specific goal of this. Chapter 2 provides the background necessary to understand the problem and the specific knowledge that the reader will need to understand the rest of this thesis. The standard penetration testing process is explained, and some common tools are briefly described. Chapter 3 elaborates on the methodology and explains the steps followed during this thesis work. A description of the web application built is based on research and observation. Chapter 4 talks about the initial consideration, approach and application scenario of this thesis work. In chapter 12

13 5, the design of the architecture of the new web penetration testing tool is presented and the main aspect deriving from the implementation of the new tool. Chapter 6 describes the current state of the implemented application, as well as the testing of the new tool and the result of these tests. Finally, chapter 7 reports the conclusion of this thesis project, and suggests possible future improvements and extensions to the new tool. 13

14 2 Background This chapter gives an overview of the primary component to fully understand the rest of the thesis. Section 2.1 presents the primary inspiration driving the choice of performing a penetration test. In section 2.2 the standard penetration testing process is depicted. Understanding this part is fundamental for the development of a tool to automate the process. Several tools, utilities, and frameworks are then introduced. Some are part of the common toolkit of a penetration tester while others (section 2.4) will be analyzing the process of automated penetration testing. 2.1 Main concepts of penetration testing There are a few reasons why an association/organization should procure a security expert to perform a penetration test. The fundamental explanation is that security breaches can do incredibly exorbitant damage. An effective attack may lead to direct financial losses, hurt the association, trigger fines and so on. With a proper penetration test, it is possible to identify security vulnerabilities and afterwards take countermeasures before a genuine assault happens. Another reason behind performing penetration testing is that it very well may be a driving function to make the system operator keep the system up to date with respect to the most recent vulnerabilities. New bugs and security issues are often found. An association may utilize intermittent penetration testing to maintain an updated security level. The aftereffect of a penetration test encourages an association to organize their risks. An explicit security break creates specific harm to the association. Depending on the seriousness of the issues that are identified, it is conceivable to fittingly design a relief procedure with a stronger focus on more critical issues. Since penetration testing is just a simulation of a real attack, it can also help in assessing the readiness of the organization technical employees in such situations. For example, if the security expert will be able to infiltrate the system without anyone noticing, it is a good sign that more awareness should be put on security and incident handling. 14

15 2.2 The penetration testing process The purpose of penetration testing is to assess the degree of exposure of the system under test and to decide if any approaches to break into the system exist. In request to properly perform an important and authentic test, a couple of activities should be performed in addition to the actual testing phase as described in this chapter. The process of an expert penetration test can be divided into four fundamental stages: commencement, planning, testing, and reporting [3] Commencement The commencement or initiation phase includes an underlying conversation with the client (the owner of the system to be tested) planned for setting up an agreement with the penetration tester. Both parties define and set the scope of the test, the individual responsible for each task and the activities that the testers are permitted to take. A team is also set up in case of emergencies like server shutting down or unforeseen circumstances Planning Before the commencement of penetration testing, both parties need to establish an agreement during the commencement phase. If they re more than one tester involved in the testing process, then the processed is usually organized and shared between the team. Tools to be used for the testing process often depends on the task that needs to be executed. This phase allows the testers to put into consideration the system they are testing by considering the integrity and stability of the system Testing This stage is where the actual testing is carried out. All actions taken during this stage must be logged so that there are possibilities to check back if anything goes wrong. The testing phase is one of the most important parts of penetration testing and a lot of steps are taken to achieve the set goals. The steps to follow will be analyzed carefully in the subsections below Target identification Target identification is information gathering of the system currently tested and its basic information like available domain, IP addresses, active services, open ports, security 15

16 policy etc. The importance of target identification depends on the information that was available to the testers at the beginning of the test. Identifying the target is a crucial step, particularly with regards to an external test, i.e. the tester has no internal resources. Useful information can only be found out using other types of techniques such as information gathering through search engines, probing the website, or performing social engineering [2] Port scanning Port scanning is the part of penetration testing process that includes establishing a connection with the system under test. It comprises of examining the system to discover which hosts are available, what ports are open and what types of services are running. A tool is always used for this process and one of the most popular tools for this process is described in section Enumeration Enumeration is the process of gathering additional information based on the result of port scanning i.e. analyzing the services detected in the previous step to find out which of the services is vulnerable and can be easily used as an entry into the system. This step requires some previous experience, but there are always tools that can be handy for this process Penetration According to the definition of penetration it is the act of exploiting weaknesses that have been identified in the system under test. Based on the result of the previous step, the phase focuses on the exploitation part. As stated in [3] an exploit means a tester or an attacker takes advantage of a security flaw within the system, resulting in the behavior that the developers did not intend Escalation The escalation process consists of further exploiting the vulnerable service to increment the impact of the tester on the compromised machine. For instance, when a vulnerability is successfully exploited, the access gained is always limited (e.g. ordinary user privileges), but to have a real impact on the system the superuser privilege is needed to exploit the system even further. 16

17 Getting interactive The fact that a host in the system under testing is compromised doesn t mean that the system can be easily controlled. An interactive component is needed for the tester to analyze and give commands on the system the same way a system administrator does. But in most cases exploits automatically provide the tester with an interactive interface such as shell to remotely control the system but in case this doesn t happen automatically, an additional phase to gain interactive access is needed so the tester can control and manipulate the system in whatever way they want Pillaging This phase is mostly skipped if the above processes went well and full access is gained, but in case of limited access of the system under test, the stage at hand is needed to get more information about comprised resources. The goal of this phase is to gather more information without the need to exploit them. For example, tester analyzes firewalls or extracts credentials from the database and tries to decrypt the hash values Clean up The purpose of this stage is to clean up all the software, commands or script used in exploiting the system, this is done to avoid additional vulnerabilities and the goal of the phase is completely different from a hacker s perspective. A hacker is only concerned about not leaving any trace in the system so that the administrator will not notice any changes that would lead to any suspicions, but the hacker might leave a backdoor in the system (a mechanism to be later used to get into the system without having to exploit the system again) Reporting The final phase of a penetration test is to report the consequences of the test. These reports include all the vulnerabilities that were experienced during the test, how it s possible to exploit them and recommendations on how they could be fixed. The clients often don t appreciate reports, so its recommended to explain by financially stating how much they could lose if those kinds of attacks were performed by a professional hacker. This way the client gets to understand how important the vulnerability issue is and what the consequences will be if it s not fixed. 17

18 2.3 Tools for penetration testing This section explains some of the most common tools for penetration testing used by security professionals. These tools have their specific tasks and although they can perform the test on their own once automated, they are still not considered to be automated tools because they still need influence from a tester Metasploit Framework Metasploit [3] [4] is an exploitation framework which provides several tools, scripts and utilities to develop and execute exploits against the targeted machine, referencing the penetration testing process in section 2.2, Metasploit is often used for Penetration, Escalation and Getting interactive. There are also some other tools included in the framework to perform a more specific attack. The Metasploit Project is an open-source computer security project that gives information about the security vulnerability. This tool is developed by the Massachusetts-based security company called Rapid7 and it is best known for executing exploits against a remote target machine using anti-forensic and evasion tools. Before using Metasploit to exploit a remote target, basic information of the target should be available in advance. Most penetration testers use tools like Nmap since it doesn t only help collect the information, but also identify a potential vulnerability in the target machine. Metasploit has a large number of exploits for different applications and operating systems that can be accessed once a vulnerability is spotted. It is up to the tester to manually choose what kind of attack to launch Nmap Nmap [5] [6] is also a free and open-source network scanner created by Gordon Lyon to discover hosts and services on a computer network by sending packets and analyzing the response. This tool can also be used for network monitoring and inventory. Nmap injects uniquely created parcels as system traffic and by breaking down the reactions to these packets, it derives several pieces of data about the system. For example, what hosts are available, what administration is running on the machine, the operating system installed, what firewalls are in use, etc. Nmap is an incredible utility that gives the 18

19 client extraordinary adaptability with more than 100 command-line options. Below is the following process that takes place during a normal scanning process: 1. Pre-scanning 2. Target enumeration 3. Host discovery 4. Reverse-DNS resolution 5. Port scanning 6. Version detection 7. Operating system detection 8. Traceroute 9. Script scanning 10. Output 11. Post-scanning Some of this process will be used later in this thesis to gain knowledge about the target Wireshark Wireshark [7] [8] is a free and open-source packet analyzer tool; its main usage is network troubleshooting and analyzing. The project was originally named Ethereal but was renamed in May 2006 due to trademark issues. Wireshark is a cross-platform tool and using QT widget toolkit in its current releases to implement its user interface and using pcap (packet capture) to capture packets Burp Suite Burp Suite [19] is a Java application designed for a major reason: to perform security testing on web applications. Burp Suite consists of different components that together constitute a platform for web application assessment. Below is the list of Burp Suite components: 19

20 1. Burp Proxy 2. Burp Spider 3. Burp Scanner 4. Burp Intruder 5. Burp Repeater 2.4 Related Work This section presents a few related works to this thesis (web-based open-source penetration testing tools). These existing tools will give a basic understanding of this thesis work and also the limitations Penetration Testing of Web Applications in a Bug Bounty Program This thesis work focused on using the readily available penetration testing too called the Bugcrowd, since web application security cannot be guaranteed it is always recommended to used penetration testing method to evaluate new applications. The author used the software to test different web applications and compare the results with the statistics provided by other penetration testing companies and using that to determine the average web application security level [10] Penetration Testing on Domain Name Service This thesis work is explaining and simulating the risk associated with threats experienced by domain name service (DNS) inside a private system or web. The author used a virtual environment (VMware workstation) and a kali Linux operating system to achieve this. The goal of the project is to analyze and process the vulnerabilities associated with DNS through penetration testing and try to mitigate the damage or eliminate any possible risks [11] Summary of related work Studying the behavior of the research s described in this section, a typical way to deal with penetration testing emerged. The method followed by these tools comprises of three primary stages: 20

21 1. Scan the hosts in the system under evaluation to gather information about the target. 2. Identify vulnerabilities by comparing scan result with vulnerabilities database. 3. Exploit the vulnerability to gain access into the system. Depending on the tool the tester decides to use, other steps might be needed, however the basic steps for any successful penetration testing are always the three steps mentioned above. 21

22 3 Methodology In this chapter author describe the methodology of the web application, technologies, framework and services used in achieving this thesis work. 3.1 Single Page Application (SPA) A single page application is a web application that dynamically rewrites the current page with new data from the web server based on the client interaction, instead of the default method of the browser loading the entire new pages [12]. Figure 1 Traditional page and SPA lifecycles [28]. 22

23 This approach is possible due to JavaScript ability to manipulate DOM elements. It works in such a way that the client send request to the server and the server respond with just an HTML page for the first time and all subsequent request with the server are being made via AJAX request to fetch content and update the page upon client's interaction. This approach is not possible when it come to a multi-page application, the server will respond with a whole new page whenever there s an update (Figure 1). In addition, the SPA history API allow a smooth navigation process without the need for reloading the page, this means that the URL might change a bit due to the route but there will be no page reload to, but instead just replace the content of the page based on the application architecture. 3.2 Model-View-Controller (MVC) Model-View-Controller is a software design pattern ordinarily utilized for creating UIs which partitions the related program rationale into three interconnected components. This is done to separate internal representations of information from the way s information is presented to and accepted from the users [13]. Figure 2 The MVC Pattern [29]. 23

24 The MVC Pattern is used for applications with GUI. The Model represents the application object while the View represents that object information and the Controller specify the method in which the user interface reacts with the user input. 3.3 Model View View-Model (MVVM) MVVM is another type of software architectural pattern that facilitates the separation of the development of the view from the development of the backend logic (model) just to make sure the view is not depending on any specific model platform. The VM (view model) of the MVVM is a value converter i.e. its responsible for changing over the data objects from the model so that items are effectively overseen and introduced [14]. This model is more common nowadays when it comes to using JavaScript library or framework for frontend because developers don t want to do too much input control anymore like it would be when using the MVC pattern. Below is a diagrammatic representation of MVVM (Figure 3). Figure 3 The MVVM pattern [26] 3.4 Frontend with React.js React is a JavaScript library for building user interfaces. Its maintained by Facebook and a community of individual / companies [15]. React is mostly used as a base for developing a single page application but its only concerned with rendering the DOM i.e. react is focused on the MV layer in the MVVM pattern because it only connects Model and View through the two-way data bindings. 24

25 Figure 4 The MVVM pattern with React.js [27] React manages the data in the HTML element because of its reactiveness and this helps to automatically re-render elements whenever there s any changes [16] Additional used libraries React-bootstrap is a front-end CSS library for React.js to build responsive web design Axios is a popular JavaScript library for performing HTTP request that works in both browser and Node. Mdbreact is a material design CSS library to enhance web design Formik is a JavaScript used to handle form input, author prefer using this than just regular input because it helps to keep track of values, errors and visited fields. 3.5 Backend with Node.js Node.js is an open-source, cross-platform, JavaScript runtime built on Chrome s V8 JavaScript engine that executes JavaScript code outside of a web browser [17]. Node.js allows developer to use JavaScript to write server-side script to produce a dynamic web page. This represent a JavaScript everywhere paradigm which is basically about use a single programming language to build dynamic web application. Node.js also have an event-driven architecture that allows it to perform asynchronous operations [17]. Author choice of this solution was based on the possibilities to use node modules instead on running the whole command on Kali Linux, this module provides the possibilities to 25

26 do network scan, dns lookup, etc. And also, the desire to use the same programming language is also considered Additional used modules Express.js is a framework in Node.js which is use for building web applications and APIs. It s an essential part of the server because it helps to handle all kinds of HTTP requests and also with the implementation of APIs [18]. CORS is a cross-origin resource sharing module that allows AJAX request to ignore the same-origin policy and allow connections from other remote hosts. Without enabling this module, author will not be able to put frontend and backend on different host [19]. Mongoose is an ODM module for MongoDB, it helps to facilitate the relationship between data and also provides schema validation. Author use this module to design the database model for the Application [20]. Nod er is a node module that helps to manage sending. In this Application it is used to send test result to client after the completion of the testing face Penetration testing modules Node-nmap a node module for working with NMAP in Node.js, more explanation about nmap can be found at section [23]. DNS a node module uses to get information about a particular domain, for example it gets domain IP address, address and also family depending on the code [24]. 3.6 Database with MongoDB MongoDB is a cross-platform data-oriented database classified as NoSQL database, it uses JSON-like documents with schema and it stores documents in collections, it supports the major SQL queries expression [21]. 26

27 Data coming from the frontend of the App is in JSON object that s why a NoSQL database like MongoDB suites this project development. 3.7 Heroku Cloud Application Platform Heroku is a container-based cloud Platform which developers use to deploy, oversee and scale present day application. Heroku is a very big and popular platform that is well documented, easy and to some extent free to use [25]. Heroku is completely overseen, giving developers the opportunity to concentrate on their core project without the interruption of looking after servers [25]. Both client and server side are deployed on Heroku to share application between coursemates and also for demonstration purpose. For simplicity and easy to manage application author have chosen to put the frontend and the backend on different server, the frontend (client) is available at while the backend (server) is available at 27

28 4 Implementation Application is constantly developed with the visual studio code editor and source code deployed to GitHub repository available at How to run both server and client locally is carefully explained in the readme.md file upload alongside all other files. 4.1 Service architecture Figure 5 Client-Server Architecture of the Service It has a presentation layer of 3 client machine, that are requesting web application via browser using the user interface. The application layer is the server that processes and respond to the client data. Server is able to grab the data being passed from the client through the API and store the data in the database represented as the database layer. All communication between client and server is done via HTTP connection. Client-side web application and Server are both hosted on Heroku and for easier accessibility, explanation about Heroku and link to web application can be found at section

29 4.2 Server-side Backend is written using Node.js. Node.js uses package.json file is know as the core of Node.js ecosystem because it s the most basic and fundamental part of the working with Node.js, the package.json file can be called the manifest of the application as it handles modules, packages and etc. Figure 6 The package.json file As shown in the figure 6. The package.json file helps to facilitates the whole of the Node.js server, from specifying the name of the application, version of the software, the description of the application, entry scripts, dependencies and etc API The communication between the server and the client is built on HTTP, API was implemented on the server so as to get the endpoints to be passed to the client side of the application, table 1 shows the endpoints defined. Express.js a Node module was used to help configure the server and also manage the route. GET method are used where the data 29

30 is only retrieved, POST method are used for creating new data, PUT method is used for updating existing data and DELETE is used for removing existing data from the database. URL route Request method Description /tests GET Responds with the list of all existing test run /tests/:testid GET Responds with the details of the particular test with parameter (testid) /tests POST Create new test /tests/:testid PUT Update an existing test by specifying with parameter (testid) /tests/:testid DELETE Delete an existing test by specifying with parameter (testid) Table 1 API endpoints Figure 7 API routes from server 30

31 4.2.2 Model for database Describing the model when using MongoDB is a very important part of building the API for the server. Figure 8 Database model From figure 7, we can already what kind of datatypes is required from the client when using the application. The domain and are required by the client while the test being an object is computed in the server based on the parameter passed from the client Creating new test The two main parameter requested form user in order to run the test from the client side are the parameter needed on the server in order for the test to be conducted. Domain the domain name or IP address the client wishes to test and see it vulnerabilities. needed for sending the test result to the client upon the completion of the test. 31

32 Figure 9 Create test controller As seen in the figure 9 above both parameters are requested for the test to be conducted Running test and sending result Running the test and send the rest result was integrated into the export.create function. In order to test the domain, the value of that particular domain need to be passed from the frontend. 32

33 Figure 10 Running test and sending result Domain = req.body.domain is where the domain value is being passed into a variable. Testing = data is where the response from the test is being sent back and passed to data. Test: testing represent the test result and its one of the objects being passed to the instance of the test function which was imported from the model. Template: index is how the result will show in of the client which is one of the objects being passed to the instance of the mail options for sending using the node mailer module. 33

34 Res.send(data) is the point at which when all the previous stages have been passed successfully it then sends the JSON object to the database for storage File structure Figure 11 Server project structure Server file structure (Figure 11) is divided into the following part. App folder where the controllers, models and routes file are being stored. The controller handles all the incoming HTTP request and send back appropriate response based on the request being made. Models are schemes for the for different collections of json objects that are stored in the MongoDB database. Routes are the API paths where users send request. The view file contains visible files but in this case the template for the sent to users plus result. 34

35 Config are for modules exporting constants and in this case is exporting database URL. Node modules, package-lock.json and package.json files are generated automatically, they are needed for the server to run. The main file is server.js where all the server configurations are being made for example where the sever starts, what ports to listen to and etc. 4.3 Client-side The client-side is implemented using React.js which also uses package.json file with similar explanation like in section Structure React.js uses App.js as an entry point from which any component can be render but will still be inside the main entry component. In this application components are using Axios to perform request. Axios is a promised based HTTP client. Figure 12 gives more understanding of this process. Figure 12 Client-side structure Components App component is the main component that user will see, the app component is displaying the application logo, search component and a footer tag. 35

36 Figure 13 App.js component Search component is the component user will interact with, it s the component that ask users for inputs, validates the inputs and send the values to the server for the test to be made. Formik module is used to handle this form process because of its easy integration of error messages and validation. 36

37 Figure 14 Search.js component Service components is the component in charge of sending the test received in the search component but for simplicity sake author incorporate service component in the search component for easier implementation. 37

38 Figure 15 Service.js component User Interface Achieving the present appearance of the application different component and modules were used for example the react-bootstrap which make gives the pleasant look of the web application. The figures below show the web application in action. 38

39 Figure 16 Web application homepage Figure 17 Error Messages when fields are left empty Figure 18 Successful message on test completion File structure Client-side file structure (Figure 19) is divided into the following parts. Static files like web page logo are being save in the assets folder. Components folder are for the components files which are described in section Styles folder consist of the stylesheets files used to make the web application colorful. App.js is the main page for the application. 39

40 Figure 19 Client file structure 4.4 Future development For future development first thing which is really important is to make the result visible to the user from the web page and also provide the possibility to download the result in pdf format. 40

41 Implementing all other steps of penetration testing that this thesis work did not cover. Integrate a reusable header that contains menu and sub- menu item and give users more flexibility to choose from what kind of test they will like to run by using checkboxes to specify which tests to be conducted and which tests should be ignored. 41

42 5 Summary The goal of this thesis work is to build a web application that s open source and suitable for a non-technical person to check the security flaws of a domain. The result is a web application that accepts inputs from the user from the client-side of the application and send this to the server-side of the application as a JSON object, while the server-side run the specified vulnerability test on the specific domain submitted by the user and send the respective result from the testing to the user specified address. This solution will help small businesses to evaluate their domain on the basic penetration testing level and have an idea of what vulnerability they have or could possibly have. The final product of this thesis work is a full-stack web application with the server (Backend) written in Node.js and client (Frontend) written in React.js. Date is saved in MongoDB and the application deployed to a different server on Heroku. 42

43 6 References [1] Jason Andress and Ryan Linn. Coding for Penetration Testers: building better tools. Syngress, ISBN , 2012 [2] Christopher Hadnagy. Social Engineering: The Art of Human Hacking. Wiley, ISBN , December 2010 [3] David Kennedy, Jim O Gorman, Devon Kearns, and Mati Aharoni. Metasploit: The Penetration Tester s Guide. No Starch Press, ISBN , [4] Rapid7, Inc. Metasploit Framework [Online]. Available: [Accessed ]. [5] Insecure.Com LLC. Nmap [Online]. Available: [Accessed ]. [6] Gordon "Fyodor" Lyon. Nmap Network Scanning: The Official Nmap Project Guide to Network Discovery and Security Scanning. Nmap Project, ISBN , [7] Wireshark, [Online]. Available: [Accessed ]. [8] Ulf Lamping, Richard Sharpe, and Ed Warnicke. Wireshark User s Guide: for Wireshark 1.9, [Online]. Available: [Accessed ]. [9] BurpSuite, [Online]. Available [Accessed ]. [10] Penetration Testing of Web Application in a Bug Bounty Program, [Online]. Available: [Accessed ]. 43

44 [11] Penetration Testing on Domain Name Service, [Online]. Available: [Accessed ]. [12] What Is a Single-Page Application?, [Online]. Available: [Accessed ]. [13] ASP.NET - Single-Page Applications: Build Modern, Responsive Web Apps with ASP.NET, [Online]. Available: [Accessed ]. [14] J. Gossman, Introduction to Model/View/ViewModel pattern for building WPF apps, [Online]. Available: [Accessed ]. [15] Introduction, [Online]. Available: [Accessed ]. [16] Getting Started, [Online]. Available: [Accessed ]. [17] Node, [Online]. Available: [Accessed ] [18] Express, [Online]. Available: [Accessed ]. [19] Cors, [Online]. Available: [Accessed ] [20] Mongoose, [Online]. Available: [Accessed ]. [21] MongoDB, [Online]. Available: [Accessed ]. 44

45 [22] Nod er, [Online]. Available: [Accessed ]. [23] Node-nmap, [Online]. Available: [Accessed ]. [24] DNS, [Online]. Available: - dns_class_dns_resolver. [Accessed ]. [25] Heroku, [Online]. Available: [Accessed ]. [26] MVVM, [Online]. Available: [Accessed ]. [27] MVVM React, [Online]. Available: [Accessed ]. [28] Single page Architecture, [Online]. Available: [Accessed ]. [29] MVC pattern, [Online]. Available: US/docs/Glossary/MVC/. [Accessed ]. 45

46 Non-exclusive licence for reproduction and publication of a graduation thesis 1 I Toyib Ahmed 1. grant Tallinn University of Technology free licence (non-exclusive licence) for my thesis Open-source Penetration Testing Tool for Beginners, supervised by Kaido Kikkas, 1.1 to be reproduced for the purposes of preservation and electronic publication of the graduation thesis, incl. to be entered in the digital collection of the library of Tallinn University of Technology until expiry of the term of copyright; 1.2 to be published via the web of Tallinn University of Technology, incl. to be entered in the digital collection of the library of Tallinn University of Technology until expiry of the term of copyright. 2. I am aware that the author also retains the rights specified in clause 1 of the nonexclusive licence. 3. I confirm that granting the non-exclusive licence does not infringe other persons' intellectual property rights, the rights arising from the Personal Data Protection Act or rights arising from other legislation. 07/01/ The non-exclusive licence is not valid during the validity of access restriction indicated in the student's application for restriction on access to the graduation thesis that has been signed by the school's dean, except in case of the university's right to reproduce the thesis for preservation purposes only. If a graduation thesis is based on the joint creative activity of two or more persons and the co-author(s) has/have not granted, by the set deadline, the student defending his/her graduation thesis consent to reproduce and publish the graduation thesis in compliance with clauses 1.1 and 1.2 of the non-exclusive licence, the non-exclusive license shall not be valid for the period. 46

Microsoft Word - EVS_ISO_IEC_27001;2014_et_esilehed.doc

Microsoft Word - EVS_ISO_IEC_27001;2014_et_esilehed.doc EESTI STANDARD EVS-ISO/IEC 27001:2014 INFOTEHNOLOOGIA Turbemeetodid Infoturbe halduse süsteemid Nõuded Information technology Security techniques Information security management systems Requirements (ISO/IEC

Rohkem

REQUEST FOR AN ASSIGNMENT OF LEI (fond) LEI KOODI MÄÄRAMISE TAOTLUS (fond) 1. FUND DATA / FONDI ANDMED: Legal Name / Ametlik nimi: Other Fund Names /

REQUEST FOR AN ASSIGNMENT OF LEI (fond) LEI KOODI MÄÄRAMISE TAOTLUS (fond) 1. FUND DATA / FONDI ANDMED: Legal Name / Ametlik nimi: Other Fund Names / REQUEST FOR AN ASSIGNMENT OF LEI (fond) LEI KOODI MÄÄRAMISE TAOTLUS (fond) 1. FUND DATA / FONDI ANDMED: Legal Name / Ametlik nimi: Other Fund Names / Fondi teised nimed: Business Register Number / Äriregistri

Rohkem

EESTI STANDARD EVS-ISO/IEC 25021:2014 This document is a preview generated by EVS SÜSTEEMI- JA TARKVARATEHNIKA Süsteemide ja tarkvara kvaliteedinõuded

EESTI STANDARD EVS-ISO/IEC 25021:2014 This document is a preview generated by EVS SÜSTEEMI- JA TARKVARATEHNIKA Süsteemide ja tarkvara kvaliteedinõuded EESTI STANDARD SÜSTEEMI- JA TARKVARATEHNIKA Süsteemide ja tarkvara kvaliteedinõuded ja kvaliteedi hindamine (SQuaRE) Kvaliteedinäitajate elemendid Systems and software engineering Systems and software

Rohkem

SAF 7 demo paigaldus. 1.Eeldused SAF 7 demo vajab 32- või 64-bitist Windows 7, Window 8, Windows 10, Windows Server 2008 R2, Windows Server 2012, Wind

SAF 7 demo paigaldus. 1.Eeldused SAF 7 demo vajab 32- või 64-bitist Windows 7, Window 8, Windows 10, Windows Server 2008 R2, Windows Server 2012, Wind SAF 7 demo paigaldus. 1.Eeldused SAF 7 demo vajab 32- või 64-bitist Windows 7, Window 8, Windows 10, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 või Windows

Rohkem

Microsoft PowerPoint - TÜ TVT - Kavandamine ja arhitektuur 2.ppt

Microsoft PowerPoint - TÜ TVT - Kavandamine ja arhitektuur 2.ppt Kavandamine ja arhitektuur Erik Jõgi erik.jogi@hansa.ee Muutused Muutused on elu igapäevane osa Meie peame tagama, et meie kirjutatud tarkvara need muutused üle elab Oleme valmis muutusteks, mitte ei võitle

Rohkem

EESTI STANDARD EVS-EN 1790:1999 This document is a preview generated by EVS Teemärgistusmaterjalid. Kasutusvalmid teekattemärgised Road marking materi

EESTI STANDARD EVS-EN 1790:1999 This document is a preview generated by EVS Teemärgistusmaterjalid. Kasutusvalmid teekattemärgised Road marking materi EESTI STANDARD EVS-EN 1790:1999 Teemärgistusmaterjalid. Kasutusvalmid teekattemärgised Road marking materials - Preformed road markings EESTI STANDARDIKESKUS EESTI STANDARDI EESSÕNA NATIONAL FOREWORD Käesolev

Rohkem

(Tõrked ja töökindlus \(2\))

(Tõrked ja töökindlus \(2\)) Elektriseadmete tõrked ja töökindlus Click to edit Master title style 2016 sügis 2 Prof. Tõnu Lehtla VII-403, tel.6203 700 http://www.ttu.ee/energeetikateaduskond/elektrotehnika-instituut/ Kursuse sisu

Rohkem

Microsoft Word - EVS_ISO_31000;2010_et_esilehed

Microsoft Word - EVS_ISO_31000;2010_et_esilehed EESTI STANDARD EVS-ISO RISKIJUHTIMINE Põhimõtted ja juhised Risk management Principles and guidelines EVS-ISO EESTI STANDARDI EESSÕNA NATIONAL FOREWORD Käesolev Eesti standard EVS-ISO Riskijuhtimine. Põhimõtted

Rohkem

EESTI STANDARD EVS-EN :2000 This document is a preview generated by EVS Terastraat ja traattooted piirete valmistamiseks. Osa 4: Terastraadist

EESTI STANDARD EVS-EN :2000 This document is a preview generated by EVS Terastraat ja traattooted piirete valmistamiseks. Osa 4: Terastraadist EESTI STANDARD EVS-EN 10223-4:2000 Terastraat ja traattooted piirete valmistamiseks. Osa 4: Terastraadist keevitatud võrkpiire Steel wire and wire products for fences - Part 4: Steel wire welded mesh fencing

Rohkem

EESTI STANDARD EVS-ISO/IEC 27000:2015 This document is a preview generated by EVS INFOTEHNOLOOGIA Turbemeetodid Infoturbe halduse süsteemid Ülevaade j

EESTI STANDARD EVS-ISO/IEC 27000:2015 This document is a preview generated by EVS INFOTEHNOLOOGIA Turbemeetodid Infoturbe halduse süsteemid Ülevaade j EESTI STANDARD INFOTEHNOLOOGIA Turbemeetodid Infoturbe halduse süsteemid Ülevaade ja sõnavara Information technology Security techniques Information security management systems Overview and vocabulary

Rohkem

PowerPoint Presentation

PowerPoint Presentation Miks liituda projektiga LIFE Fit for REACH? Karin Viipsi Henkel Balti OÜ (Henkel Makroflex AS) Infopäev ettevõtetele, 09.11.2016 Sisukord Ettevõtte tutvustus Ettevõtte eesmärk projektis Mida on varasemalt

Rohkem

Süsteemide modelleerimine: praktikum Klassiskeemid Oleg Mürk

Süsteemide modelleerimine: praktikum Klassiskeemid Oleg Mürk Süsteemide modelleerimine: praktikum Klassiskeemid Oleg Mürk Klassiskeem (class diagram) Klass (class) atribuut (attribute) meetod (method) Liides (interface) meetod (method) Viidatavus (visibility) avalik

Rohkem

EESTI STANDARD EVS-ISO/IEC :2005 This document is a preview generated by EVS INFOTEHNOLOOGIA Avatud süsteemide vastastikune ühendamine Tehingut

EESTI STANDARD EVS-ISO/IEC :2005 This document is a preview generated by EVS INFOTEHNOLOOGIA Avatud süsteemide vastastikune ühendamine Tehingut EESTI STANDARD EVS-ISO/IEC 10026-1:2005 INFOTEHNOLOOGIA Avatud süsteemide vastastikune ühendamine Tehingute hajustöötlus Osa 1: OSI TP mudel Information technology Open Systems Interconnection Distributed

Rohkem

Slide 1

Slide 1 TÖÖTUBA: ÕPIRÄNDE TUNNISTUSE TÄITMINE Margit Paakspuu 5163 Töötoa ülesehitus 1. Kellele ja milleks me õpirände tunnistusi väljastame? 2. Õpirände tunnistuse väljastamise protseduur 3. Õpirände tunnistuse

Rohkem

EESTI STANDARD EVS-ISO/IEC/IEEE 15289:2013 This document is a preview generated by EVS SÜSTEEMI- JA TARKVARATEHNIKA Elutsükli infosaaduste (dokumentat

EESTI STANDARD EVS-ISO/IEC/IEEE 15289:2013 This document is a preview generated by EVS SÜSTEEMI- JA TARKVARATEHNIKA Elutsükli infosaaduste (dokumentat EESTI STANDARD SÜSTEEMI- JA TARKVARATEHNIKA Elutsükli infosaaduste (dokumentatsiooni) sisu Systems and software engineering Content of life-cycle information products (documentation) (ISO/IEC/IEEE 15289:2011)

Rohkem

Operatsioonisüsteemi ülesanded

Operatsioonisüsteemi ülesanded Praktikum 3 GROUP POLICY JA ACTIVE DIRECTORY Group Policy Group Policy - vahend Active Directory arvutite ja kasutajate tsentraalseks haldamiseks. Group Policy abil on võimalik kontrollida süsteemi registri

Rohkem

Microsoft PowerPoint _04_20_Teadusest_ATI_tudengitele.pptx

Microsoft PowerPoint _04_20_Teadusest_ATI_tudengitele.pptx Tartu Ülikool Jaak Vilo 20. aprill 2009 Jaak Vilo 1 CV Karjääriredel Kuidas tehakse teadust Kuidas mõõta teadust Teadus on lahe saab teha mida tahad saab reisida lõpmatult saab suhelda lõpmatult PhD

Rohkem

Microsoft Word - Referaat.docx

Microsoft Word - Referaat.docx Tartu Ülikool Andmeturve Referaat teemal: CVE-2016-1499 Koostaja: Sander Sats Kursus: Informaatika Tartu 2016 Sissejuhatus Käesolev referaat on kirjutatud seoses Tartu Ülikooli kursuse MTAT.03.134 Andmeturve

Rohkem

PowerPoint Presentation

PowerPoint Presentation Ülevaade Mehhaanika ja elektroonika tooted, elektromehaanilised koosted 30 aastat kogemust Müügikäive 2018 MEUR 15,4 2 tootmisüksust Euroopas HYRLES OY Soome tehas Asutatud 1989 Tootmine 8500 m2 Personal

Rohkem

SQL

SQL SQL Teine loeng Mõtelda CREATE TABLE ( { INTEGER VARCHAR(10)} [ NOT NULL] ); Standard SQL-86 (ANSI X3.135-1986), ISO võttis üle 1987 SQL-89 (ANSIX3.135-1989) SQL-92 (ISO/IEC 9075:1992)

Rohkem

Pealkiri

Pealkiri Graafilised mudelid ja nende koostamise vahendid MS Visio MYSQL Workbench (DB Designer) ER/Studio Data Architect Sybase PowerDesigner GRAAFILINE MODELLEERIMINE Mudel ja modelleerimine 3 11/3/2015 Matemaatiline

Rohkem

Kommunikatsiooniteenuste arendus (IRT0080) loeng 8/2014 Võrkude haldus Avo 1

Kommunikatsiooniteenuste arendus (IRT0080) loeng 8/2014 Võrkude haldus Avo 1 Kommunikatsiooniteenuste arendus (IRT0080) loeng 8/2014 Võrkude haldus Avo avo.ots@ttu.ee 1 Infovood (voice data) 2 Standardimine ja tähistamine 3 Cross Layer Design Wireless Networking Architecture: Connection

Rohkem

Väljaandja: Vabariigi Valitsus Akti liik: välisleping Teksti liik: algtekst Jõustumise kp: Avaldamismärge: RT II 2008, 17, 49 Eesti Vabarii

Väljaandja: Vabariigi Valitsus Akti liik: välisleping Teksti liik: algtekst Jõustumise kp: Avaldamismärge: RT II 2008, 17, 49 Eesti Vabarii Väljaandja: Vabariigi Valitsus Akti liik: välisleping Teksti liik: algtekst Jõustumise kp: 22.04.2008 Avaldamismärge: RT II 2008, 17, 49 Eesti Vabariigi ja Soome Vabariigi viisaküsimustes Soome Vabariigi

Rohkem

EESTI STANDARD EVS-ISO/IEC 18019:2008 TARKVARA- JA SÜSTEEMITEHNIKA Juhised rakendustarkvara kasutajadokumentatsiooni kavandamiseks ja koostamiseks (IS

EESTI STANDARD EVS-ISO/IEC 18019:2008 TARKVARA- JA SÜSTEEMITEHNIKA Juhised rakendustarkvara kasutajadokumentatsiooni kavandamiseks ja koostamiseks (IS EESTI STANDARD EVS-ISO/IEC TARKVARA- JA SÜSTEEMITEHNIKA Juhised rakendustarkvara kasutajadokumentatsiooni kavandamiseks ja koostamiseks (ISO/IEC 18019:2004) Software and system engineering Guidelines for

Rohkem

Pealkiri

Pealkiri Andmebaasid (6EAP) I praktikum Mida praktikumides tehakse? Õpitakse SQL i Tehakse andmebaas ope (igas praktikumis natuke, kuni lõpuks saab valmis) Tehakse andmebaas edu (kui ope on valmis, tehakse edu,

Rohkem

Kehtiv alates Vormi TSD lisa 3 Applicable from Annex 3 of Form 3 Unofficial translation Maksu- ja Tolliamet Estonian Tax and Cus

Kehtiv alates Vormi TSD lisa 3 Applicable from Annex 3 of Form 3 Unofficial translation Maksu- ja Tolliamet Estonian Tax and Cus Kehtiv alates 01.01.2018 Vormi TSD lisa 3 Applicable from 01.01.2018 Annex 3 of Form 3 Unofficial translation Maksu- ja Tolliamet Estonian Tax and Customs Board MITTERESIDENDIST JURIIDILISE ISIKU PÜSIVAST

Rohkem

MINIMED 640G JA NIGHTSCOUT 640G pumbaga Nightscouti kasutamiseks on vaja: 1. Telefoni, mis töötaks info kogujana. Telefonil peab olema USB OTG ühendus

MINIMED 640G JA NIGHTSCOUT 640G pumbaga Nightscouti kasutamiseks on vaja: 1. Telefoni, mis töötaks info kogujana. Telefonil peab olema USB OTG ühendus MINIMED 640G JA NIGHTSCOUT 640G pumbaga Nightscouti kasutamiseks on vaja: 1. Telefoni, mis töötaks info kogujana. Telefonil peab olema USB OTG ühendus ja vähemalt Android 4.0.3 2. Contour Next Link 2.4

Rohkem

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Kaugprotseduurid IDL kompileerimine ONCIDLnäide CORBAIDLnäide MIDLnäide DCERPCmuidomadusi XML-RPC JSON-RPC REST document

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Kaugprotseduurid IDL kompileerimine ONCIDLnäide CORBAIDLnäide MIDLnäide DCERPCmuidomadusi XML-RPC JSON-RPC REST document Kaugprotseduurid IDL kompileerimine ONCIDLnäide CORBAIDLnäide MIDLnäide DCERPCmuidomadusi XML-RPC JSON-RPC REST document.idl IDL kompilaator document_cstub.o document.h document_sstub.o #include document_client.c

Rohkem

Erasmus+: Euroopa Noored eraldatud toetused 2015 KA1 NOORTE JA NOORSOOTÖÖTAJATE ÕPIRÄNNE NOORTEVAHETUSED R1 1. taotlusvoor Taotleja Taotluse pealkiri

Erasmus+: Euroopa Noored eraldatud toetused 2015 KA1 NOORTE JA NOORSOOTÖÖTAJATE ÕPIRÄNNE NOORTEVAHETUSED R1 1. taotlusvoor Taotleja Taotluse pealkiri Erasmus+: Euroopa Noored eraldatud toetused 2015 KA1 NOORTE JA NOORSOOTÖÖTAJATE ÕPIRÄNNE NOORTEVAHETUSED Loomade Nimel Baltic Animal Rights Gathering 2015 13270 Xploreworld Health in Action 20682 Ahtme

Rohkem

EESTI STANDARD EVS-ISO 24510:2008 This document is a preview generated by EVS JOOGIVEE- JA KANALISATSIOONITEENUSTEGA SEOTUD TEGEVUSED Juhised joogivee

EESTI STANDARD EVS-ISO 24510:2008 This document is a preview generated by EVS JOOGIVEE- JA KANALISATSIOONITEENUSTEGA SEOTUD TEGEVUSED Juhised joogivee EESTI STANDARD JOOGIVEE- JA KANALISATSIOONITEENUSTEGA SEOTUD TEGEVUSED Juhised joogivee- ja kanalisatsiooniteenuste hindamiseks ning parandamiseks kasutajale Activities relating to drinking water and wastewater

Rohkem

Microsoft Word - C035736e.doc

Microsoft Word - C035736e.doc EESTI STANDARD Süsteemi- ja tarkvaratehnika Süsteemide ja tarkvara kvaliteedinõuded ja kvaliteedi hindamine (SQuaRE) Andmekvaliteedi mudel Software engineering Software product Quality Requirements and

Rohkem

Väljaandja: Vabariigi Valitsus Akti liik: välisleping Teksti liik: algtekst Jõustumise kp: Avaldamismärge: RT II 2008, 29, 84 Eesti Vabarii

Väljaandja: Vabariigi Valitsus Akti liik: välisleping Teksti liik: algtekst Jõustumise kp: Avaldamismärge: RT II 2008, 29, 84 Eesti Vabarii Väljaandja: Vabariigi Valitsus Akti liik: välisleping Teksti liik: algtekst Jõustumise kp: 01.08.2008 Avaldamismärge: RT II 2008, 29, 84 Eesti Vabariigi ja Soome Vabariigi viisaküsimustes Iraani Islamivabariigis

Rohkem

Tiia Salm 2011 Online kirjastus CALAMÉO Calameo kujutab endast on-line kirjastust, mis võimaldab oma dokumente avaldada e-raamatuna tasuta. Failid (Pd

Tiia Salm 2011 Online kirjastus CALAMÉO Calameo kujutab endast on-line kirjastust, mis võimaldab oma dokumente avaldada e-raamatuna tasuta. Failid (Pd Online kirjastus CALAMÉO Calameo kujutab endast on-line kirjastust, mis võimaldab oma dokumente avaldada e-raamatuna tasuta. Failid (Pdf, Word, Excel, PowerPoint, Open Office) tuleb esmalt keskkonda üles

Rohkem

Sissejuhatus GRADE metoodikasse

Sissejuhatus GRADE metoodikasse Sissejuhatus GRADE metoodikasse Eriline tänu: Holger Schünemann ja GRADE working group www.gradeworkinggroup.org Kaja-Triin Laisaar TÜ peremeditsiini ja rahvatervishoiu instituut kaja-triin.laisaar@ut.ee

Rohkem

Language technology resources for Estonian text summarization Kaili Müürisep University of Tartu Institute of Computer Science

Language technology resources for Estonian text summarization Kaili Müürisep University of Tartu Institute of Computer Science Language technology resources for Estonian text summarization Kaili Müürisep University of Tartu Institute of Computer Science Outline Estonian language resources First experiment for summarization EstSum

Rohkem

Avatud ja läbipaistev e-riik: Ees6 kui rajaleidja Andrus Kaarelson RIA peadirektori asetäitja riigi infosüsteemi alal 10. oktoober 2017

Avatud ja läbipaistev e-riik: Ees6 kui rajaleidja Andrus Kaarelson RIA peadirektori asetäitja riigi infosüsteemi alal 10. oktoober 2017 Avatud ja läbipaistev e-riik: Ees6 kui rajaleidja Andrus Kaarelson RIA peadirektori asetäitja riigi infosüsteemi alal 10. oktoober 2017 Eesti kui rajaleidja e-riigi rajamisel E-teenused meie elu loomulik

Rohkem

Microsoft Word - 23jaan07.doc

Microsoft Word - 23jaan07.doc Õppijate haldamine hindamine, tulemuste vaatamine, tegevuste jälgimine jne. Aadress: http://webct6.e-uni.ee Disainerijuhend: http://portaal.e-uni.ee/webct6/webct6_disainerijuhend.pdf Kursuse ülekandmine

Rohkem

Väljaandja: Vabariigi Valitsus Akti liik: välisleping Teksti liik: algtekst Jõustumise kp: Avaldamismärge: RT II 2009, 11, 28 Eesti Vabarii

Väljaandja: Vabariigi Valitsus Akti liik: välisleping Teksti liik: algtekst Jõustumise kp: Avaldamismärge: RT II 2009, 11, 28 Eesti Vabarii Väljaandja: Vabariigi Valitsus Akti liik: välisleping Teksti liik: algtekst Jõustumise kp: 01.04.2009 Avaldamismärge: RT II 2009, 11, 28 Eesti Vabariigi ja Madalmaade Kuningriigi viisaküsimustes Venemaa

Rohkem

Microsoft Word - Loppukilpailu2015_16_tehtavat_viro_1

Microsoft Word - Loppukilpailu2015_16_tehtavat_viro_1 Põhikooli matemaatika võistlus Lõppvõistlus reedel 22.1.2016 OSA 1 Lahendamiseks aega 30 min Punkte 20 Selles osas kalkulaatorit ei kasutata. Lühikesed lahendused ja vajalikud joonised teha samale paberile.

Rohkem

Ppt [Read-Only]

Ppt [Read-Only] EL 2020 strateegia eesmärkidest, mis puudutab varajast koolist väljalangemist ja selle vähendamist EL 2020 strateegia eesmärkidest, mis puudutab madala haridustasemega noorte osakaalu vähendamist Madal

Rohkem

rp_ IS_3

rp_ IS_3 Page 1 of 5 Üldine informatsioon Kummelitee Exemption Flags Toote nimi Exempt from Artwork Exempt from NEP Reporting Country Lipton Brand Name CAMOMILE Product Name Legal Description Country Kummelitee

Rohkem

Microsoft PowerPoint - BPP_MLHvaade_juuni2012 (2)

Microsoft PowerPoint - BPP_MLHvaade_juuni2012 (2) Balti pakendi protseduur MLH kogemus Iivi Ammon, Ravimitootjate Liit Ravimiameti infopäev 13.06.2012 Eeltöö ja protseduuri algus Päev -30 MLH esindajad kolmes riigis jõuavad arusaamani Balti pakendi protseduuri

Rohkem

EST_QIG_TEW-424UB(V3.1.1).cdr

EST_QIG_TEW-424UB(V3.1.1).cdr Lühike paigaldusjuhend TEW-424UB Sisukord Eesti... 1 1. Enne alustamist... 1 2. Kuidas paigaldada... 2 3. WiFi seadistamine... 4 Tõrkeotsing... 6 Version 12.05.2007 1. Enne alustamist Pakendi sisu TEW-424UB

Rohkem

Võrguinverterite valik ja kasutusala päikeseelektrijaamades Robert Mägi insener

Võrguinverterite valik ja kasutusala päikeseelektrijaamades Robert Mägi insener Võrguinverterite valik ja kasutusala päikeseelektrijaamades Robert Mägi insener Robert Mägi o Õpingud: Riga Technical University o Haridus: MSc (Electrical Engineering) MSc (Automatic Telecommunications)

Rohkem

Microsoft PowerPoint IntroRiskAnal.ppt

Microsoft PowerPoint IntroRiskAnal.ppt SISSEJUHATUS RISKIANALÜÜSI VETERINAARSES RAHVATERVISHOIUS Arvo Viltrop EMÜ VLI 1 Kasutatud allikad Woolridge ja Kelly Risk Analysis Course (2000) Vose Consulting Quantitative Risk Assessment for Animal

Rohkem

Inglise keele ainekava 9.klassile Kuu Õpitulemused Õppesisu Kohustuslik hindamine September 1. Kasutab Present Simple, Present Mina ja teised. Inimese

Inglise keele ainekava 9.klassile Kuu Õpitulemused Õppesisu Kohustuslik hindamine September 1. Kasutab Present Simple, Present Mina ja teised. Inimese Inglise keele ainekava 9.klassile Kuu Õpitulemused Õppesisu Kohustuslik hindamine September 1. Kasutab Present Simple, Present Mina ja teised. Inimesed Continuous küsimustes, jaatavas ja Adventure eitavas

Rohkem

Operatsioonisüsteemide administreerimine ja sidumine Õppeaine nimetus Operating System Administration Õppeaine nimetus inglise keeles I233 Ainekood Ai

Operatsioonisüsteemide administreerimine ja sidumine Õppeaine nimetus Operating System Administration Õppeaine nimetus inglise keeles I233 Ainekood Ai Operatsioonisüsteemide administreerimine ja sidumine Õppeaine nimetus Operating System Administration Õppeaine nimetus inglise keeles I233 Ainekood Aineprogrammi versioon 1 Kinnitamise kuupäev Õppekava(d):

Rohkem

Väljaandja: EÜEVAN Akti liik: otsus Teksti liik: algtekst Avaldamismärge: RT II 2002, 4, 7 Otsus nr 7/2001 (UE-EE 813/01), millega võetakse vastu ting

Väljaandja: EÜEVAN Akti liik: otsus Teksti liik: algtekst Avaldamismärge: RT II 2002, 4, 7 Otsus nr 7/2001 (UE-EE 813/01), millega võetakse vastu ting Väljaandja: EÜEVAN Akti liik: otsus Teksti liik: algtekst Avaldamismärge: RT II 2002, 4, 7 Otsus nr 7/2001 (UE-EE 813/01), millega võetakse vastu tingimused Eesti Vabariigi osalemiseks programmis Kultuur

Rohkem

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Veebiteenused ja SOAP Web Services Web Services SOAP WSDL Ühilduvus UDDI Kihiline arhitektuur masinsuhtluse jaoks erinev

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Veebiteenused ja SOAP Web Services Web Services SOAP WSDL Ühilduvus UDDI Kihiline arhitektuur masinsuhtluse jaoks erinev Veebiteenused ja SOAP Web Services Web Services SOAP WSDL Ühilduvus UDDI Kihiline arhitektuur masinsuhtluse jaoks erinevate süsteemide vahel Kolm põhistiili: RPC REST SOA (Service Oriented Architecture)

Rohkem

Scanned Image

Scanned Image EESTI MAAILMAS 21. SAJANDI KÜNNISEL EESTI MAAILMAS 21. SAJANDI KÜNNISEL TARTU ÜLIKOOL EESTI MAAILMAS 21. SAJANDI KÜNNISEL Eesti Vabariigi presidendi Lennart Meri 70. sünnipäevale pühendatud konverentsi

Rohkem

Pealkiri

Pealkiri Andmebaasid II praktikum Andmebaaside administreerimine Andmete sisestamine KESKKOND, KASUTAJAD, ÕIGUSED Mõisted Tabelid, vaated, trigerid, jpm on objektid Objektid on grupeeritud skeemi Skeemid moodustavad

Rohkem

Baltic Retail Forum 2019 Baltic Retail Forum on konverents jaekaubanduse juhtidele. Arutleme uueneva tehnoloogia arengusuundade üle, analüüsime

Baltic Retail Forum 2019 Baltic Retail Forum on konverents jaekaubanduse juhtidele. Arutleme uueneva tehnoloogia arengusuundade üle, analüüsime Baltic Retail Forum 2019 Baltic Retail Forum 2019 - on konverents jaekaubanduse juhtidele. Arutleme uueneva tehnoloogia arengusuundade üle, analüüsime kaubandussektori väljavaateid, otsime õigeid vastuseid

Rohkem

Müük (Microsoft Dynamics AX (Axapta) tarkvara) Paigaldusjuhend bifree.ee qlik.com

Müük (Microsoft Dynamics AX (Axapta) tarkvara) Paigaldusjuhend bifree.ee qlik.com Müük (Microsoft Dynamics AX (Axapta) tarkvara) Paigaldusjuhend bifree.ee qlik.com Microsoft Dynamics AX (Axapta) tarkvara 2 Seadistamise etapid 1. Laadige alla ja installeerige Qlik Sense Desktop. 2. Laadige

Rohkem

E-õppe ajalugu

E-õppe ajalugu Koolituskeskkonnad MTAT.03.142 avaloeng Anne Villems September 2014.a. Põhiterminid Koolituskeskkonnad (Learning environments) IKT hariduses (ICT in education) E-õpe (e-learning) Kaugõpe (distance learning)

Rohkem

Estonian_TBW-106UB(V1).cdr

Estonian_TBW-106UB(V1).cdr Lühike paigaldusjuhend TBW-106UB H/W: V1 Sisukord... 1 1. Enne alustamist... 1 2. Kuidas paigaldada... 3. Bluetooth adapteriseadistamine... 2 5 Tõrkeotsing... 7 Version 02.17.2009 1. Enne alustamist Pakendi

Rohkem

KUULA & KORDA INGLISE KEEL 1

KUULA & KORDA INGLISE KEEL 1 KUULA & KORDA INGLISE KEEL 1 KUULA JA KORDA Inglise keel 1 Koostanud Kaidi Peets Teksti lugenud Sheila Süda (eesti keel) Michael Haagensen (inglise keel) Kujundanud Kertu Peet OÜ Adelante Koolitus, 2018

Rohkem

Inglise keele ainekava 5.klassile Kuu Õpitulemused Õppesisu Kohustuslik hindamine September 1. Räägib loomadest. Vaba aeg. Animals (Wild life 2. Kuula

Inglise keele ainekava 5.klassile Kuu Õpitulemused Õppesisu Kohustuslik hindamine September 1. Räägib loomadest. Vaba aeg. Animals (Wild life 2. Kuula Inglise keele ainekava 5.klassile Kuu Õpitulemused Õppesisu Kohustuslik hindamine September 1. Räägib loomadest. Vaba aeg. Animals (Wild life 2. Kuulab, loeb ja jutustab dialooge and pets) Sõnavara teemadel

Rohkem

(Microsoft Word - Lisa_4_2_Solibri_l\374hijuhend)

(Microsoft Word - Lisa_4_2_Solibri_l\374hijuhend) Solibri Model Checker Programmi Solibri Model Checker juhend on leitav aadressilt: http://www.solibri.com/wpcontent/uploads/2014/03/getting-started-v9.pdf ja õppevideod aadressilt http://www.solibri.com/products/solibri-model-checker/tutorials/#model.

Rohkem

Document number:

Document number: WNR Kiirpaigaldusjuhend Lisateavet, juhised ja uuendused saab leida internetist aadressil http://www.a-link.com Kiirpaigaldusjuhend Komplekt sisaldab: - WNR repiiter - Paigaldusjuhend Ühendused / Ports:

Rohkem

EESTI KUNSTIAKADEEMIA

EESTI KUNSTIAKADEEMIA HIGHER EDUCATION INSTITUTIONS in Estonia (1990-2011) Estonian ENIC/NARIC 2012 1 The current document comprises a list of public universities, state professional higher education institutions, private higher

Rohkem

Funktsionaalne Programmeerimine

Funktsionaalne Programmeerimine Kõrvalefektid ja Haskell Kõik senised programmid on olnud ilma kõrvalefektideta; so. puhtalt funktsionaalsed. Programmi täitmise ainsaks efektiks on tema väartus. Osade ülesannete jaoks on kõrvalefektid

Rohkem

SQL

SQL SQL Kuues loeng 3GL inside 4GL Protseduurid Funktsioonid Tavalised Funktsioonid (üks väljund) Ilma väljundita Protseduurid Viitargumentide kasutamise võimalus Tabel-väljundiga Protseduurid Create function

Rohkem

Väljaandja: Riigikogu Akti liik: välisleping Teksti liik: algtekst Avaldamismärge: RT II 1999, 15, 92 Kohtulikult karistatud isikute üleandmise Euroop

Väljaandja: Riigikogu Akti liik: välisleping Teksti liik: algtekst Avaldamismärge: RT II 1999, 15, 92 Kohtulikult karistatud isikute üleandmise Euroop Väljaandja: Riigikogu Akti liik: välisleping Teksti liik: algtekst Avaldamismärge: RT II 1999, 15, 92 Kohtulikult karistatud isikute üleandmise Euroopa konventsiooni lisaprotokoll (õ) 27.02.2009 Lisaprotokolli

Rohkem

Microsoft Word - EVS_ISO_IEC_IEEE_26511;2011_esilehed

Microsoft Word - EVS_ISO_IEC_IEEE_26511;2011_esilehed EESTI STANDARD EVS-ISO/IEC/IEEE 25611:2014 SÜSTEEMI- JA TARKVARATEHNIKA Nõuded kasutajadokumentatsiooni haldajaile Systems and software engineering Requirements for managers of user documentation (ISO/IEC/IEEE

Rohkem

Loeng05

Loeng05 SIDE (IRT 3930) Loeng 5/2009 Võrgu- ja kanaliprotokollid Teema - kanalid Avo Ots telekommunikatsiooni õppetool, TTÜ raadio- ja sidetehnika inst. avots@lr.ttu.ee Kanalid 145 Ühendamise mudel 7 7 6 5 4 3

Rohkem

Rahvusvaheline motokross Baltimere Karikas 2015 Soome Eesti Läti Leedu Kooskõlastanud: EMF-i alajuht; Kinnitanud: EMF peasekretär 1. Aeg ja koht: 18.0

Rahvusvaheline motokross Baltimere Karikas 2015 Soome Eesti Läti Leedu Kooskõlastanud: EMF-i alajuht; Kinnitanud: EMF peasekretär 1. Aeg ja koht: 18.0 Rahvusvaheline motokross Baltimere Karikas 2015 Soome Eesti Läti Leedu Kooskõlastanud: EMF-i alajuht; Kinnitanud: EMF peasekretär 1. Aeg ja koht: 18.04.2015, Eesti, Holstre-Nõmme motokeskus. (58 o 18 56.36

Rohkem

Vorm_V1_2014_18.02

Vorm_V1_2014_18.02 Kehtiv alates jaanuar 2014 Applicable from 2014 Maksu- ja Tolliamet Tax and Customs Board Vorm V1 Form V1 MITTERESIDENDI JA LEPINGULISE INVESTEERIMISFONDI EESTIS ASUVA VARA VÕÕRANDAMISEST SAADUD KASU DEKLARATSIOON

Rohkem

Lp. firmajuht!

Lp. firmajuht! Lp. firmajuht! Veebruar, 1998 Meil on meeldiv võimalus kutsuda Teie firmat osalema meditsiinitehnika ja farmaatsiatoodete näitusele Eesti Arstide Päevad 98, mis toimub 24.-25. aprillil 1998. a. Tartus.

Rohkem

Slide 1

Slide 1 Äriprotsesside modelleerimine ja automatiseerimine Loeng 11 e-kviitungi näide Enn Õunapuu enn.ounapuu@ttu.ee Põhilised tegevused äriprotsesside arendamiseks 1. Valdkonna mudel 2. Arendatava protsessi valik

Rohkem

Väljaandja: Vabariigi Valitsus Akti liik: välisleping Teksti liik: algtekst Jõustumise kp: Avaldamismärge: RT II 2005, 31, 103 Eesti Vabari

Väljaandja: Vabariigi Valitsus Akti liik: välisleping Teksti liik: algtekst Jõustumise kp: Avaldamismärge: RT II 2005, 31, 103 Eesti Vabari Väljaandja: Vabariigi Valitsus Akti liik: välisleping Teksti liik: algtekst Jõustumise kp: 19.11.2005 Avaldamismärge: RT II 2005, 31, 103 Eesti Vabariigi valitsuse ja Soome Vabariigi valitsuse vaheline

Rohkem

Tartu Ülikool

Tartu Ülikool Tartu Ülikool Code coverage Referaat Koostaja: Rando Mihkelsaar Tartu 2005 Sissejuhatus Inglise keelne väljend Code coverage tähendab eesti keeles otse tõlgituna koodi kaetust. Lahti seletatuna näitab

Rohkem

Kommunikatsiooniteenuste arendus IRT0080 Loeng 5/2013 Satelliitside teenused Avo Ots telekommunikatsiooni õppetool TTÜ raadio- ja sidetehnika instituu

Kommunikatsiooniteenuste arendus IRT0080 Loeng 5/2013 Satelliitside teenused Avo Ots telekommunikatsiooni õppetool TTÜ raadio- ja sidetehnika instituu Kommunikatsiooniteenuste arendus IRT0080 Loeng 5/2013 Satelliitside teenused Avo Ots telekommunikatsiooni õppetool TTÜ raadio- ja sidetehnika instituut avo.ots@ttu.ee 1 Võrdlus teiste sideviisidega 2 Satelliitside

Rohkem

EBSCO täistekstiandmebaaside kasutamine Otsingu sooritamiseks: 1. Logi sisse 2. Vali EBSCOhost Web 3. Seejärel vali andmebaas, milles soovid otsingut

EBSCO täistekstiandmebaaside kasutamine Otsingu sooritamiseks: 1. Logi sisse 2. Vali EBSCOhost Web 3. Seejärel vali andmebaas, milles soovid otsingut EBSCO täistekstiandmebaaside kasutamine Otsingu sooritamiseks: 1. Logi sisse 2. Vali EBSCOhost Web 3. Seejärel vali andmebaas, milles soovid otsingut sooritada. Andmebaasid on temaatilised. Koolitööde

Rohkem

IFI7052 Õpikeskkonnad ja õpivõrgustikud

IFI7052 Õpikeskkonnad ja õpivõrgustikud Kursuseprogramm Ainekood IFI7052 Õpikeskkonnad ja õpivõrgustikud Maht 3.0 EAP Kontakttundide maht: 16 h Õppesemester: S Arvestus Eesmärk: Aine lühikirjeldus: (sh iseseisva töö sisu kirjeldus vastavuses

Rohkem

Kuidas, kus ja milleks me kujundame poliitikaid Kuidas mõjutavad meid poliitikad ja instrumendid Euroopa Liidu ja riigi tasandil Heli Laarmann Sotsiaa

Kuidas, kus ja milleks me kujundame poliitikaid Kuidas mõjutavad meid poliitikad ja instrumendid Euroopa Liidu ja riigi tasandil Heli Laarmann Sotsiaa Kuidas, kus ja milleks me kujundame poliitikaid Kuidas mõjutavad meid poliitikad ja instrumendid Euroopa Liidu ja riigi tasandil Heli Laarmann Sotsiaalministeerium Rahvatervise osakond 15.06.2018 Mis on

Rohkem

Microsoft Word - EVS_ISO_6743_13;2012_et_en

Microsoft Word - EVS_ISO_6743_13;2012_et_en EESTI STANDARD Avaldatud eesti keeles: juuli 2012 Jõustunud Eesti standardina: juuli 2012 MÄÄRDEAINED, TÖÖSTUSÕLID JA NENDEGA SEOTUD TOOTED (KLASS L) Klassifikatsioon Osa 13: tüüp G (juhikud) Lubricants,

Rohkem

Microsoft PowerPoint - MKarelson_TA_ ppt

Microsoft PowerPoint - MKarelson_TA_ ppt Teaduspoliitikast Eestis kus me asume maailmas Mati Karelson 5/18/2006 1 TEADMISTEPÕHINE EESTI TEADUS TEHNOLOOGIA INNOVATSIOON 5/18/2006 2 TEADUS INIMRESSURSS INFRASTRUKTUUR KVALITEET 5/18/2006 3 TEADUSARTIKLITE

Rohkem

E-õppe ajalugu

E-õppe ajalugu Koolituskeskkonnad, avaloeng Anne Villems September 2013.a. Miks selline kursus? Info- ja kommunikatsioonitehnoloogia on meie igapäevane abiline õppetöös. Milliseid vahendeid on teie senises õppetöös kasutatud?

Rohkem