SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Pickingapartthe
MorrisWorm
By
Jayakrishna Menon V
Whatisaworm?
➔Different from a virus.
➔Travels between systems on its own.
➔Ability to replicate itself.
What’ssospecialaboutthisone?
➔Showed a fraction of its capabilities.
➔Estimated cost around $100,000-10,000,000.
➔Left around 6000 systems dead in the water.
➔Creator being the first in US to be convicted under
Computer Fraud and Abuse Act of 1986.
➔Intended to measure total users on the internet.
Thestory
➔6 pm EST,2 November 1988.
➔Sun Microsystems Sun 3 systems and VAX computers running
variants of 4 BSD1 UNIX.
➔Systems became more and more loaded with running
processes.
➔Eventually some of these machines could not continue any
processing.
Thestorycontd
➔The load average for a system is usually 1.
➔Load average greater than 5 causes delay in processing.
➔Load average reached 37 within two hours
whatdiditdo?
➔Transferred a copy of itself to other connected hosts.
➔Already infected systems were infected again.
➔The number of running instances of the program increased
dramatically.
➔Rendered systems unable to continue any processing.
➔Similar effect as that of a fork bomb.
cracksomeroutine
➔Four step process that finds new hosts and brute-forced
passwords.
➔Reads through the /etc/hosts.equiv and .rhosts files to
find new hosts.
➔Names of these hosts are marked for later use.
➔Uses the /etc/passwd file to find personal .forward
files.
➔Gets the locations of additional machines to attack.
Bruteforcingpasswords
➔Weak passwords
◆ No password.
◆ Username as password.
◆ Username appended to itself.
◆ Second value of GECOS string in /etc/passwd.
◆ Last name of user from GECOS string.
◆ Last name reversed.
◆ User name reversed.
dictionaryattack
➔Contained a built in dictionary of words which were
assumed to be possible passwords.
➔Encrypted using md5 algorithm and were compared with the
strings in /etc/passwd file.
➔If the resulting hashes were same, the attack_user method
was called.
➔Else, it would move on to a more difficult password
cracking method.
Thelastresort
➔Open the /usr/dict/words file.
➔Contains many words used by the user.
➔Check each of these words as password.
➔Never got completed due to huge number of words in the
dictionary.
➔If successful, the attack_user routine was called.
➔Else, the machine was marked as immune and moved on to
infecting the other new found machines.
Howdiditspread?
➔The worm used a three pronged attack to compromise
systems and to propagate.
◆ Spreading over rexec and rsh.
◆ Exploiting the vulnerability in the fingerd program.
◆ Exploiting the bug in sendmail program.
➔These bugs have been fixed and are not exploitable today.
➔However, similar vulnerabilities still exist today.
Infectroutine
➔Called after the cracksome routine returns a host.
➔Check whether host returned is current host.
➔Check whether host returned is immune.
➔Start with try_rsh.
➔Move on to try_fingerd.
➔Move on to try_sendmail.
➔Mark target as immune.
rshandrexec
➔Services that allow other systems to execute commands
remotely.
➔Systems should be connected in a network.
➔Systems having pre-established trust relationships with
other systems.
➔Exploiting trust relationships between systems.
Fingerdaemonvulnerability
➔Program allows one to determine status of a given user on
a system.
➔Exploits technical flaw in the finger daemon program
which leads to RCE.
➔The instance running on the server takes in a message
from the client and stores it in a 512 byte buffer.
➔The message is read into the buffer using a gets
function.
Sendmailprogram
➔It listens for SMTP connections.
➔Exploited a bug in a functionality provided by the
sendmail program.
➔The recipient was a set of commands instead of a user
address.
➔Thus messages can be sent to a process rather than a
user.
➔This vulnerability was used by the program’s creators to
test it but was never removed.
try_rshmethod
➔The name of trusted hosts was saved in text files such as
/etc/hosts.equiv and .rhosts files.
➔Creates duplicate process which attempts to remotely
execute on target machine.
➔If successful, a copy of the worm is sent to the new
machine.
➔Else it moves on to the try_fingerd method
Try_fingerdmethod
➔The gets function is used to read a message from client
and to save it in a 512 byte buffer.
➔Exploited using buffer overflow attack.
➔A message of length 536 was sent.
➔The last 24 bytes overwrote the addresses on stack frame
and resulted in RCE.
➔Transferres a copy of itself onto the new machine.
➔If this failed, it moves on to the try_sendmail method.
Try_sendmailmethod
➔Send a mail to the sendmail program of the target machine
with an artificial recipient.
➔This string passes the body of mail to command
interpreter.
➔Interpreter compiles and executes a program code sent in
the body of the message.
➔Creates a reverse shell which connected back to the
infected machine.
➔Transferres a copy of itself onto the new machine .
Evasion
➔The worm spawns itself as a child process.
➔The child, which has a different process ID as compared
to the parent process, kills it.
➔The maximum size of core dump is set to zero.
➔It changes its own name to ‘sh’ to avoid detection.
Reasonsforsystemcrash
➔Figuring out whether an instance was already running on a
host.
➔Asking the host for an answer makes it extremely easy to
kill.
➔Used the current time as seed and generated a random
number.
➔Probability of infecting a particular host was 1/7.
review
1.Uses different methods to avoid detection.
2.Possible hosts found using the first step of cracksome
routine.
3.Password brute forcing.
4.Uses randomization to determine whether or not to infect
host, once correct password was found.
5.If the result is a go-ahead, the worm starts the infect
routine.
6.Else, it searches for other hosts.
Summary
➔Not intended at disabling machines.
➔Deployed with a purpose of finding out the total number
of users on the internet.
➔Worm never completed certain parts of its execution.
➔It was intended to be difficult to track and kill.
conclusion
➔Historical importance.
➔Three attack vectors for infecting hosts.
➔Recognition of cyber security as a formal discipline.
➔Need for strong passwords.
Picking apart the  morris worm

Weitere ähnliche Inhalte

Was ist angesagt?

Virus and Malicious Code Chapter 5
Virus and Malicious Code Chapter 5Virus and Malicious Code Chapter 5
Virus and Malicious Code Chapter 5
AfiqEfendy Zaen
 

Was ist angesagt? (20)

Virus
VirusVirus
Virus
 
Stuxnet flame
Stuxnet flameStuxnet flame
Stuxnet flame
 
Stuxnet
StuxnetStuxnet
Stuxnet
 
DDoS - Distributed Denial of Service
DDoS - Distributed Denial of ServiceDDoS - Distributed Denial of Service
DDoS - Distributed Denial of Service
 
Metasploit
MetasploitMetasploit
Metasploit
 
Reconnaissance - For pentesting and user awareness
Reconnaissance - For pentesting and user awarenessReconnaissance - For pentesting and user awareness
Reconnaissance - For pentesting and user awareness
 
Stuxnet - Case Study
Stuxnet  - Case StudyStuxnet  - Case Study
Stuxnet - Case Study
 
Engineering Software Products: 7. security and privacy
Engineering Software Products: 7. security and privacyEngineering Software Products: 7. security and privacy
Engineering Software Products: 7. security and privacy
 
OWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITISOWASP TOP 10 VULNERABILITIS
OWASP TOP 10 VULNERABILITIS
 
Lessons from 100+ ransomware recoveries
Lessons from 100+ ransomware recoveriesLessons from 100+ ransomware recoveries
Lessons from 100+ ransomware recoveries
 
What is Penetration Testing?
What is Penetration Testing?What is Penetration Testing?
What is Penetration Testing?
 
Reflective and Stored XSS- Cross Site Scripting
Reflective and Stored XSS- Cross Site ScriptingReflective and Stored XSS- Cross Site Scripting
Reflective and Stored XSS- Cross Site Scripting
 
Computer Malware and its types
Computer Malware and its typesComputer Malware and its types
Computer Malware and its types
 
Security Checkpoints in Agile SDLC
Security Checkpoints in Agile SDLCSecurity Checkpoints in Agile SDLC
Security Checkpoints in Agile SDLC
 
Cross site scripting
Cross site scriptingCross site scripting
Cross site scripting
 
Virus and Malicious Code Chapter 5
Virus and Malicious Code Chapter 5Virus and Malicious Code Chapter 5
Virus and Malicious Code Chapter 5
 
Introduction to Cross Site Scripting ( XSS )
Introduction to Cross Site Scripting ( XSS )Introduction to Cross Site Scripting ( XSS )
Introduction to Cross Site Scripting ( XSS )
 
IBM QRadar WinCollector - Managed Vs Stand Alone
IBM QRadar  WinCollector - Managed Vs Stand AloneIBM QRadar  WinCollector - Managed Vs Stand Alone
IBM QRadar WinCollector - Managed Vs Stand Alone
 
SQL INJECTION
SQL INJECTIONSQL INJECTION
SQL INJECTION
 
Vulnerabilities in modern web applications
Vulnerabilities in modern web applicationsVulnerabilities in modern web applications
Vulnerabilities in modern web applications
 

Ähnlich wie Picking apart the morris worm

Client side exploits
Client side exploitsClient side exploits
Client side exploits
nickyt8
 
Program and System Threats
Program and System ThreatsProgram and System Threats
Program and System Threats
Reddhi Basu
 
Presentation Prepared By: Mohamad Almajali
Presentation Prepared By: Mohamad AlmajaliPresentation Prepared By: Mohamad Almajali
Presentation Prepared By: Mohamad Almajali
webhostingguy
 
A trust system based on multi level virus detection
A trust system based on multi level virus detectionA trust system based on multi level virus detection
A trust system based on multi level virus detection
UltraUploader
 

Ähnlich wie Picking apart the morris worm (20)

bakalov.ppt
bakalov.pptbakalov.ppt
bakalov.ppt
 
Living off the land and fileless attack techniques
Living off the land and fileless attack techniquesLiving off the land and fileless attack techniques
Living off the land and fileless attack techniques
 
Syed Ubaid Ali Jafri - Black Box Penetration testing for Associates
Syed Ubaid Ali Jafri - Black Box Penetration testing for AssociatesSyed Ubaid Ali Jafri - Black Box Penetration testing for Associates
Syed Ubaid Ali Jafri - Black Box Penetration testing for Associates
 
Client side exploits
Client side exploitsClient side exploits
Client side exploits
 
Program and System Threats
Program and System ThreatsProgram and System Threats
Program and System Threats
 
Survey on Computer Worms
Survey on Computer WormsSurvey on Computer Worms
Survey on Computer Worms
 
Node.js security tour
Node.js security tourNode.js security tour
Node.js security tour
 
Presentation Prepared By: Mohamad Almajali
Presentation Prepared By: Mohamad AlmajaliPresentation Prepared By: Mohamad Almajali
Presentation Prepared By: Mohamad Almajali
 
The Supporting Role of Antivirus Evasion while Persisting
The Supporting Role of Antivirus Evasion while PersistingThe Supporting Role of Antivirus Evasion while Persisting
The Supporting Role of Antivirus Evasion while Persisting
 
Network and Internet Security.docx
Network and Internet Security.docxNetwork and Internet Security.docx
Network and Internet Security.docx
 
Penetrating Windows 8 with syringe utility
Penetrating Windows 8 with syringe utilityPenetrating Windows 8 with syringe utility
Penetrating Windows 8 with syringe utility
 
B.tech Final year Cryptography Project
B.tech Final year Cryptography ProjectB.tech Final year Cryptography Project
B.tech Final year Cryptography Project
 
Macdoored
MacdooredMacdoored
Macdoored
 
Threats, Vulnerabilities & Security measures in Linux
Threats, Vulnerabilities & Security measures in LinuxThreats, Vulnerabilities & Security measures in Linux
Threats, Vulnerabilities & Security measures in Linux
 
Virus and Worms
Virus and WormsVirus and Worms
Virus and Worms
 
A trust system based on multi level virus detection
A trust system based on multi level virus detectionA trust system based on multi level virus detection
A trust system based on multi level virus detection
 
computerviruses-171008143158.ppt
computerviruses-171008143158.pptcomputerviruses-171008143158.ppt
computerviruses-171008143158.ppt
 
How Your DRAM Becomes a Security Problem
How Your DRAM Becomes a Security ProblemHow Your DRAM Becomes a Security Problem
How Your DRAM Becomes a Security Problem
 
3. APTs Presentation
3. APTs Presentation3. APTs Presentation
3. APTs Presentation
 
So you want to be a security expert
So you want to be a security expertSo you want to be a security expert
So you want to be a security expert
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptxCOMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
COMMUNICATING NEGATIVE NEWS - APPROACHES .pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 

Picking apart the morris worm

  • 2. Whatisaworm? ➔Different from a virus. ➔Travels between systems on its own. ➔Ability to replicate itself.
  • 3. What’ssospecialaboutthisone? ➔Showed a fraction of its capabilities. ➔Estimated cost around $100,000-10,000,000. ➔Left around 6000 systems dead in the water. ➔Creator being the first in US to be convicted under Computer Fraud and Abuse Act of 1986. ➔Intended to measure total users on the internet.
  • 4. Thestory ➔6 pm EST,2 November 1988. ➔Sun Microsystems Sun 3 systems and VAX computers running variants of 4 BSD1 UNIX. ➔Systems became more and more loaded with running processes. ➔Eventually some of these machines could not continue any processing.
  • 5. Thestorycontd ➔The load average for a system is usually 1. ➔Load average greater than 5 causes delay in processing. ➔Load average reached 37 within two hours
  • 6. whatdiditdo? ➔Transferred a copy of itself to other connected hosts. ➔Already infected systems were infected again. ➔The number of running instances of the program increased dramatically. ➔Rendered systems unable to continue any processing. ➔Similar effect as that of a fork bomb.
  • 7. cracksomeroutine ➔Four step process that finds new hosts and brute-forced passwords. ➔Reads through the /etc/hosts.equiv and .rhosts files to find new hosts. ➔Names of these hosts are marked for later use. ➔Uses the /etc/passwd file to find personal .forward files. ➔Gets the locations of additional machines to attack.
  • 8. Bruteforcingpasswords ➔Weak passwords ◆ No password. ◆ Username as password. ◆ Username appended to itself. ◆ Second value of GECOS string in /etc/passwd. ◆ Last name of user from GECOS string. ◆ Last name reversed. ◆ User name reversed.
  • 9. dictionaryattack ➔Contained a built in dictionary of words which were assumed to be possible passwords. ➔Encrypted using md5 algorithm and were compared with the strings in /etc/passwd file. ➔If the resulting hashes were same, the attack_user method was called. ➔Else, it would move on to a more difficult password cracking method.
  • 10.
  • 11. Thelastresort ➔Open the /usr/dict/words file. ➔Contains many words used by the user. ➔Check each of these words as password. ➔Never got completed due to huge number of words in the dictionary. ➔If successful, the attack_user routine was called. ➔Else, the machine was marked as immune and moved on to infecting the other new found machines.
  • 12. Howdiditspread? ➔The worm used a three pronged attack to compromise systems and to propagate. ◆ Spreading over rexec and rsh. ◆ Exploiting the vulnerability in the fingerd program. ◆ Exploiting the bug in sendmail program. ➔These bugs have been fixed and are not exploitable today. ➔However, similar vulnerabilities still exist today.
  • 13. Infectroutine ➔Called after the cracksome routine returns a host. ➔Check whether host returned is current host. ➔Check whether host returned is immune. ➔Start with try_rsh. ➔Move on to try_fingerd. ➔Move on to try_sendmail. ➔Mark target as immune.
  • 14. rshandrexec ➔Services that allow other systems to execute commands remotely. ➔Systems should be connected in a network. ➔Systems having pre-established trust relationships with other systems. ➔Exploiting trust relationships between systems.
  • 15. Fingerdaemonvulnerability ➔Program allows one to determine status of a given user on a system. ➔Exploits technical flaw in the finger daemon program which leads to RCE. ➔The instance running on the server takes in a message from the client and stores it in a 512 byte buffer. ➔The message is read into the buffer using a gets function.
  • 16. Sendmailprogram ➔It listens for SMTP connections. ➔Exploited a bug in a functionality provided by the sendmail program. ➔The recipient was a set of commands instead of a user address. ➔Thus messages can be sent to a process rather than a user. ➔This vulnerability was used by the program’s creators to test it but was never removed.
  • 17. try_rshmethod ➔The name of trusted hosts was saved in text files such as /etc/hosts.equiv and .rhosts files. ➔Creates duplicate process which attempts to remotely execute on target machine. ➔If successful, a copy of the worm is sent to the new machine. ➔Else it moves on to the try_fingerd method
  • 18. Try_fingerdmethod ➔The gets function is used to read a message from client and to save it in a 512 byte buffer. ➔Exploited using buffer overflow attack. ➔A message of length 536 was sent. ➔The last 24 bytes overwrote the addresses on stack frame and resulted in RCE. ➔Transferres a copy of itself onto the new machine. ➔If this failed, it moves on to the try_sendmail method.
  • 19. Try_sendmailmethod ➔Send a mail to the sendmail program of the target machine with an artificial recipient. ➔This string passes the body of mail to command interpreter. ➔Interpreter compiles and executes a program code sent in the body of the message. ➔Creates a reverse shell which connected back to the infected machine. ➔Transferres a copy of itself onto the new machine .
  • 20. Evasion ➔The worm spawns itself as a child process. ➔The child, which has a different process ID as compared to the parent process, kills it. ➔The maximum size of core dump is set to zero. ➔It changes its own name to ‘sh’ to avoid detection.
  • 21. Reasonsforsystemcrash ➔Figuring out whether an instance was already running on a host. ➔Asking the host for an answer makes it extremely easy to kill. ➔Used the current time as seed and generated a random number. ➔Probability of infecting a particular host was 1/7.
  • 22. review 1.Uses different methods to avoid detection. 2.Possible hosts found using the first step of cracksome routine. 3.Password brute forcing. 4.Uses randomization to determine whether or not to infect host, once correct password was found. 5.If the result is a go-ahead, the worm starts the infect routine. 6.Else, it searches for other hosts.
  • 23. Summary ➔Not intended at disabling machines. ➔Deployed with a purpose of finding out the total number of users on the internet. ➔Worm never completed certain parts of its execution. ➔It was intended to be difficult to track and kill.
  • 24. conclusion ➔Historical importance. ➔Three attack vectors for infecting hosts. ➔Recognition of cyber security as a formal discipline. ➔Need for strong passwords.