SlideShare a Scribd company logo
1 of 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

More Related Content

What's hot

Finalppt metasploit
Finalppt metasploitFinalppt metasploit
Finalppt metasploit
devilback
 

What's hot (20)

CNIT 123 Ch 10: Hacking Web Servers
CNIT 123 Ch 10: Hacking Web ServersCNIT 123 Ch 10: Hacking Web Servers
CNIT 123 Ch 10: Hacking Web Servers
 
Module 9 Dos
Module 9   DosModule 9   Dos
Module 9 Dos
 
Unit 1
Unit 1Unit 1
Unit 1
 
Basics of Denial of Service Attacks
Basics of Denial of Service AttacksBasics of Denial of Service Attacks
Basics of Denial of Service Attacks
 
Cyber Crime and a Case Study
Cyber Crime and a Case StudyCyber Crime and a Case Study
Cyber Crime and a Case Study
 
Network security and viruses
Network security and virusesNetwork security and viruses
Network security and viruses
 
Routing algorithms
Routing algorithmsRouting algorithms
Routing algorithms
 
A Forgotten HTTP Invisibility Cloak
A Forgotten HTTP Invisibility CloakA Forgotten HTTP Invisibility Cloak
A Forgotten HTTP Invisibility Cloak
 
Android forensics an Custom Recovery Image
Android forensics an Custom Recovery ImageAndroid forensics an Custom Recovery Image
Android forensics an Custom Recovery Image
 
Eap intro
Eap introEap intro
Eap intro
 
Salami attack
Salami attackSalami attack
Salami attack
 
Classless inter domain routing
Classless inter domain routingClassless inter domain routing
Classless inter domain routing
 
RSA ALGORITHM
RSA ALGORITHMRSA ALGORITHM
RSA ALGORITHM
 
DCHP,NAT,forwarding of ip packets
DCHP,NAT,forwarding of ip packetsDCHP,NAT,forwarding of ip packets
DCHP,NAT,forwarding of ip packets
 
87161911 selected-case-studies-on-cyber-crime
87161911 selected-case-studies-on-cyber-crime87161911 selected-case-studies-on-cyber-crime
87161911 selected-case-studies-on-cyber-crime
 
10 1 otp all
10 1 otp all10 1 otp all
10 1 otp all
 
Encryption ppt
Encryption pptEncryption ppt
Encryption ppt
 
Spoofing attack: Learn about Email spoofing, IP address spoofing and many other
Spoofing attack: Learn about Email spoofing, IP address spoofing and many otherSpoofing attack: Learn about Email spoofing, IP address spoofing and many other
Spoofing attack: Learn about Email spoofing, IP address spoofing and many other
 
Email security
Email securityEmail security
Email security
 
Finalppt metasploit
Finalppt metasploitFinalppt metasploit
Finalppt metasploit
 

Similar to 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
 

Similar to 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
 

Recently uploaded

Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 

Recently uploaded (20)

Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.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
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
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
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
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.
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
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
 

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.