MIS 5211.001 Wade T Mackey Wade.mackey@temple.com 717-682-2925 1 (8/27) 2 (9/3) 3 (9/10) 4 (9/17) 5 (9/24) 6 (10/1) 7 (10/8) 8 (10/15) 9 (10/22) 10 (10/29) 11 (11/5) 12 (11/12) 13 (11/19) 14 (12/3) Philosophy of Ethical Hacking and Penetration Testing, and the hacking process. TCP/IP and Network Architecture and its impact on the process of hacking. Google Hacking Reconnaissance Vulnerability scanning and analysis of results Assignment presentation System and User enumeration Assignment presentation Sniffers Midterm NetCat Social Engineering, Encoding, and Encryption Malware including Trojans, Backdoors, Zero-days, Virus, Worms, and Polymorphic malware Web application hacking, Intercepting Proxies, and URL Editing SQL injection Assignment presentation Web Services Evasion Techniques Final Our focus will be to provide you with an understanding of the process involved in penetration test and the primary tools sets used Organized around the workflow of a professional tester Tips for avoiding common pitfalls The tools and techniques discussed and used in this course should only be used on systems you personally own, or have written permission to use. Some of the tools used have the potential to disrupt or break computer systems. Successful penetration testers look at the world through a different lens They think outside the box They do things differently They don’t look at the glass as half full or half empty, instead they look at the glass and think “If I hit the glass just right, I can crack it and drain out just what I want. Successful penetration tester also need to have the following work habits Methodical Thorough Careful Ethical habitual note taker and documentation fiend If you can’t duplicate a finding, you didn’t find it! Threat: Any circumstance or event with the potential to adversely impact organizational operations. Vulnerability: Weakness in an information system, system security procedures, internal controls, or implementation that could be exploited by a threat source. Risk: A measure of the extent to which an entity is threatened by a potential circumstance or event A risk exist when a threat actor (or agent) targets a vulnerability Source: NIST SP 800-30 r1 A penetration tester: identifies vulnerabilities Evaluates likely threats Recommends corrective actions In other words, you don’t just say you found something bad. You also have to suggest how to fix it. Attacks violate CIA (Confidentiality, Integrity, or Availability. Active Attack Manipulates or changes systems or information Examples – Malware, Spear Phishing, Man-in-theMiddle Passive Attack No manipulation or Change Monitoring only Example – Sniffing wireless traffic Internal Launched from within an organization Typically considered insider threat Could also be a trespasser External From the internet From partners on leased lines From exposed WiFi Hacking traditionally means manipulating technology to do something it was not originally intended to do Ethical Hacking: Hack into a computer network in order to test or evaluate its security, rather than with malicious or criminal intent. Source: Oxford Dictionaries Focused on finding vulnerabilities Uses many of the same tools and techniques as criminals Penetration Testing is a subset of Ethical Hacking Penetration Testing and Ethical Hacking are often used interchangeably Penetration Testing usually means going a bit further then Ethical Hacking in order to prove a system can be breached and data obtained Generally focused on identifying vulnerabilities without actually compromising systems Vulnerability Scanning Architectural Reviews Configuration Reviews Code Reviews Audits Unlikely to crash systems Staff performing these evaluations often bring different and unique skill sets to the table Different perspectives on the organization Find vulnerabilities before the “Bad” guys do Ensure management understands the risks in their systems Informs Security Operations as to what to look for in their monitoring systems Security Operations is often not informed of work to test if appropriate monitoring is in place Document the findings From the client perspective: Document issues Develop action plans Mitigate OR Risk Acceptance Infrastructure (Network) Web Dial-Up (War Driving) Wireless Social Engineering Physical Application Reconnaissance Scanning What technology is in use in the target environment What vulnerabilities exist within the target environment Exploitation Can the vulnerabilities be used Malicious attackers go further Maintaining access Covert Channels Infiltrating Data Covering Tracks Phases are not usually this clean Some jumping around is to be expected Skilled testers often get a feel for where vulnerabilities may exist based on their experience in similar systems Penetration Testing can’t find everything Limited time Limited scope Some vulnerabilities are only exposed in specific conditions that may not exist at the time of testing Testers have different strengths and weaknesses Some techniques will be off-limits due to potential negative impacts on a target environment Tool sets only find known vulnerabilities Few tester have the skill set to find unknown vulnerabilities and develop custom attacks Even fewer organizations want to fund this level of investigation May violate terms and conditions of software or hardware licensing A number of groups publish methodologies for testing systems for vulnerabilities Can be useful as guidelines for establishing how you pursue testing Examples: Open Source Security Testing Methodology Manual (OSSTMM) http://www.pen-tests.com/goto/link/125/1 OWASP Testing Framework https://www.owasp.org/index.php/The_OWASP_Testing_Framewor k NIST SP800-115 http://csrc.nist.gov/publications/nistpubs/800-115/SP800-115.pdf Penetration Testing Framework http://www.pen-tests.com/penetration-testing-framework.html Penetration Testing Framework 0.59 http://www.vulnerabilityassessment.co.uk/Penetration%20Test.html Software Tools Hardware Network Infrastructure We will cover some basics Adjust as needed to suite need Dependent on type of targets and tests Penetration Testers need to shift between multiple operating systems Some tools are only available on one platform Some tools may be available on multiple platforms, but work better (or worse) on specific platforms At a minimum, some Linux and Windows proficiency is needed Kali BackTrack Reborn according to Offensive Security, the providers of Kali Available at: http://www.kali.org/downloads/ Kali is large (2.9G), so give yourself some time VMWare Player Free for personal use, scroll down Available at: http://www.vmware.com/products/player/ If you already have VMWare Workstation that will work as well Many other tools are available You will not need them in this class If you go on to do penetration testing, you will likely collect a number of tools Be careful Research tool before downloading Run them in a test environment first Exploit Database Packet Storm http://packetstormsecurity.com/ Pentest-Tools http://www.exploit-db.com/ https://pentest-tools.com/home Security Audit Systems http://www.security-audit.com/blog/penetrationtesting-tools/ I am not endorsing these sites, just making you aware of them. US-CERT National Vulnerability Database http://cve.mitre.org/ Exploit Database http://nvd.nist.gov/home.cfm Mitre CVE https://www.us-cert.gov/ http://www.exploit-db.com/ CVE Details http://www.cvedetails.com/ Many commercial tools are available, for a price Tenable - Commercial version of Nessus Qualys – Vulnerability Scanner (alternative to Nessus) Rapid7 – Commercial Metasploit Core Security – Core Impact HP – Fortify Code Scanner Talk to your developers May have already built scripts and tools May already own some commercial tools that can be leveraged Not needed for this course Consider building out a hardware lab Free tools should be tested in a lab before using them in testing Mimic what you expect to test Mix up OSs Does not need to be new equipment, recycle Good environment to continue learning Dedicated machines for conducting tests Not used for normal activity Do not keep any sensitive information May be tied up for long periods of time doing scanning If you expect to do a great deal of scanning, consider a separate server dedicated to scanning Host Machines Guest machines may be ideal for testing VMWare Player VMWare Workstation ESX ZEN Microsoft Virtual PC Can be built for test Can be reset if corrupted Can be deleted after testing Can be duplicated if additional guests are need We will go over setting up VMWare for testing in week three Many ISPs monitor traffic for malicious activity Inform your ISP prior to starting Pen Testing May need to move to a business account May need to “negotiate” with the ISP Cloud can be very effective for replicating Distributed Denial of Service attacks Will require permission form cloud provider or your account may be closed Cloud providers are reluctant to host Penetration Testing activities May be possible after some negotiations Firewalls may block or minimize the capabilities of penetration testing. Pen testing activity, especially scanning, can cause performance issues in firewalls HTTP Proxies may alter encoding Next Generation firewalls (Like PaloAlto) may perform analysis and drop packets that are not well formed. Avoid using firewalls on your test network and attack machines May block activity before it ever leaves your systems Since this exposes test machines to attack, use a separate, off-network machine to take notes. Utilize USB drives to transfer information Machines in you testing network should be baselined and locked down as much as possible Keep patching up to date Turn off all unnecessary ports and services Increase security settings where possible Center for Internet Security provides some guidelines http://www.cisecurity.org/ Microsoft Baseline Security Analyzer also helps http://www.microsoft.com/enus/download/details.aspx?id=7558 Consider encrypting test findings as they accumulate Example PGP http://buy.symantec.com/estore/clp/smb_d4v2_9p9s_pgpe ncryption1_default BitLocker http://windows.microsoft.com/en- US/windows7/products/features/bitlocker Encryption technologies are changing, stay up to date on what works, and what has been broken When an engagement ends Move test results off of systems Scrub systems thoroughly Secure Deletion Reimage Revert to baseline Note: Consider using Solid State Drive w/ Trim turned on, faster and deleted data auto zero’s Preparation Testing NDAs if applicable Client concerns Rules of Engagement Scope Written Permission and Acknowledgement of Testing Risks Perform Test Conclusion Analyze results and retest as needed Develop report and presentation if needed Vital that written permission be obtained Without this you could be held criminally responsible Good intentions are no defense Ensure individual granting permission has the authority to do so Corporate Officer Director P&L Responsibility Permission alone is not sufficient If you are not working “In-House” Contract language needs Limitation of Liability language Time to call in the lawyers You, or the company you work for will also need liability insurance At a minimum Contact Information Periodic Debriefing (Daily?) Dates and Times for Testing When to start When to stop Hours when testing is acceptable Announced or Unannounced What if Sys Admins detect testing and attempt to block. Is this good, or bad? Stop test, or remove blocks and keep testing? Verify if client IDS, IPS, orCreep WAF may block attacks and Scope This may be OK if test was focused on effectiveness of these systems However: Could cause Denial of Service Resource consumption May need to get you traffic excluded from protections to test systems behind these controls Black Box: No data provided to tester other then target IP Address or URL Mimics malicious attackers vantage point Time and resource consuming Crystal Box: Tester provided detailed data on systems and architecture Allows tester to quickly move to value added work May not uncover data leaked into public space that would have been found during reconnaissance phase How far should test team go? Configuration Data User Info PII Should likely stop at configuration data Testers do have a responsibility to not go past agreed to boundaries Also applies to sniffer data Is a client representative going to observe all testing Ensure client data is protected Inform testers that some area may be off limits Is client staff going to work with testing team Client may want their staff to become familiar with tolls and methodology Establish agreement on issues prior to starting Document the agreement and get sign-off from all parties Congratulations – You now have your Rules of Engagement, remember that from slide 46 Identify Client Security Concerns Disclosure? Availability? Reputation? Financial Loss? Other? Only the client can tell you what they are really worried about Identify known issues Do you need to verify them? Identify likely threats State Actors Disgruntled Employees Determine what to focus on Determine clear and explicit scope What to test Which systems? Which address space? Individual hosts? What to stay away from Known “brittle” systems Critical systems If third parties are to be tested, they need to provide written permission If out of scope, need to know who and what they are to avoid them This is a particular concern in web application testing as sites routinely link or have content hosted form third parties Test environments offer lower risk of impact May not match production May respond slower, impacting test efficiency May not be possible, as only a production system exists How hard are you going to try Ping Sweeps Port Scanning Vulnerability Scanning Penetration into Target Application Level Attacks Client Side Attacks Business Logic Physical Social Engineering Denial of Service What about insider threats Possibilities Official site visit and granted access Onsite and breaks in WiFi Dial-In VPN Citrix Public Kiosk Old process focused on servers and infrastructure More and more focus on client side testing Can I pivot through a compromised client browser (Think Target) Can I target vulnerable staff? Or does the client organizing want to provide a willing target to accept the attack (and avoid embarrassing employees) Very powerful Manipulating employees may impact morale, but also may serve an awareness function Client needs to think through and consider pros and cons Explicit written permissions Defined goal, what are you after? Develop several scripts and get them vetted by client Select the right tester People person Someone others want to help Sympathetic Dangerous to test Often not done because it is already known that systems can be knocked down If in scope, ensure specifically documented as “in scope” Consider carving out a subsystem to test so as not to take down entire client Some tests are known to be dangerous Nessus has separate category of vulnerabilities it can scan for that are known to knock targets of line Some Metasploit attacks will either succeed or crash the target system Access testing can lock out users inadvertently Always create a report It may be the only evidence you where there Will likely be around a long time Therefore, make sure it is clean, correct, and reflects well on the effort you put in Report may make the difference between repeat engagement or no more engagements Even if “In-House” create the report Brands your team and their effort Scanning reports may be included in an appendix, but they should not constitute the body of the report Description of findings, with impact and recommended mitigation go in the body of a report Don’t accept scanning result ratings at face value. May need to adjust based on other information developed during test Executive Summary Introduction Methodology Findings Ranked by severity Recommendations Conclusion How did you do the testing Clients often want to know how they stack up against their vertical Appendices (if needed) Most important part of test Keep it short Management representatives may never read beyond the summary 1 page, 1.5 at most Briefly acknowledge test team and client employees who participated Summarize overall risk posture Include bulleted list of most significant findings Three to six at most Framed in terms of business impact Why does the line of business care about the risks identified Describe mitigation paths People Processes Technology Screenshots or illustrations help capture audience attention and make findings more “real” Only include “useful” screenshots Focus on important area, zoom in Mask are exclude sensitive information Passwords User Names Employee or Customer Data