Keamanan Web
Keamanan Web
Keama
Keamanan Snan Sistem istem WWW -WWW - BR -BR - 22
Sejarah WWW
Sejarah WWW
•• Dikembangan oleh Tim
Dikembangan oleh Tim Berners-Le
Berners-Lee
e
ketika sedang berada di CERN
ketika sedang berada di CERN
•• Kemudahan untuk mengakses informasi
Kemudahan untuk mengakses informasi
melalui sistem hypertext
melalui sistem hypertext
•• Mula-mula dikembangkan dengan NeXT,
Mula-mula dikembangkan dengan NeXT,
kemudian muncul Mosaic (Windows, Mac,
kemudian muncul Mosaic (Windows, Mac,
Unix), dan …
Unix), dan … akhirnya Netscape.
akhirnya Netscape.
Kemudian meledak
Keama
Keamanan Snan Sistem istem WWW -WWW - BR -BR - 22
Sejarah WWW
Sejarah WWW
•• Dikembangan oleh Tim
Dikembangan oleh Tim Berners-Le
Berners-Lee
e
ketika sedang berada di CERN
ketika sedang berada di CERN
•• Kemudahan untuk mengakses informasi
Kemudahan untuk mengakses informasi
melalui sistem hypertext
melalui sistem hypertext
•• Mula-mula dikembangkan dengan NeXT,
Mula-mula dikembangkan dengan NeXT,
kemudian muncul Mosaic (Windows, Mac,
kemudian muncul Mosaic (Windows, Mac,
Unix), dan …
Unix), dan … akhirnya Netscape.
akhirnya Netscape.
Kemudian meledak
Keama
Keamanan Snan Sistem istem WWW -WWW - BR -BR - 33
Sejarah WWW
Sejarah WWW
•• Bahan bacaan
Bahan bacaan
–
– http://ensiklomedia.insan.co.id
http://ensiklomedia.insan.co.id
–
– Buku Tim Berners-
Buku Tim Berners-Lee, “Weaving the Web”
Lee, “Weaving the Web”
–
Keamanan Sistem WWW - BR - 4
Sistem WWW
• Arsitektur sistem WWW
– Server (apache, IIS)
– Client (IE, Netscape, Mozilla, opera, kfm,
arena, amaya, lynx)
– Terhubung melalui jaringan
• Program dapat dijalankan di server (CGI,
[java] servlet) atau di sisi client (javascript,
java applet)
Keamanan Sistem WWW - BR - 5
Asumsi [Sisi Pengguna]
• Server dimiliki dan dikendalikan oleh
organisasi yang mengaku memiliki server
tersebut
• Dokumen yang ditampilkan bebas dari
virus atau itikad jahat lainnya
• Server tidak mencatat atau
mendistribusikan informasi tentang user
(misalnya kebiasaan browsing)
Keamanan Sistem WWW - BR - 6
Asumsi [Sisi Webmaster]
• Pengguna tidak mencoba merusak web
server atau mengubah isinya
• Pengguna hanya mengakses dokumen
yang diperkenankan
Keamanan Sistem WWW - BR - 7
Asumsi Kedua Pihak
• Network bebas dari penyadapan pihak
ketiga
• Informasi yang disampaikan dari server ke
pengguna terjamin keutuhannya dan tidak
dimodifikasi oleh pihak ketiga
Keamanan Sistem WWW - BR - 8
Keamanan Server WWW
• Server WWW (httpd) menyediakan informasi
(statis dan dinamis)
• Halaman statis diperoleh dengan perintah GET
• Halaman dinamis diperoleh dengan
– CGI (Common Gateway Interface) – Server Side Include (SSI)
– Active Server Page (ASP), PHP – Servlet (seperti Java Servlet, ASP)
Keamanan Sistem WWW - BR - 9
Eksploitasi server WWW
• Tampilan web diubah (deface)
• dengan eksploitasi skrip / previledge / OS di server • Situs yang dideface dikoleksi di
http://www.alldas.org
• Informasi bocor
• (misal laporan keuangan semestinya hanya dapat diakses oleh orang/ bagian tertentu)
Keamanan Sistem WWW - BR - 10
Eksploitasi server WWW [2]
• Penyadapan informasi
– URLwatch: melihat siapa mengakses apa saja. Masalah privacy
– SSL memproteksi, namun tidak semua menggunakan SSL karena komputasi yang tinggi
• DoS attack
– Request dalam jumlah yang banyak (bertubi-tubi) – Request yang memblokir (lambat mengirimkan
Keamanan Sistem WWW - BR - 11
Eksploitasi server WWW [3]
• Digunakan untuk menipu firewall
(tunelling
ke luar jaringan)
• Port 80 digunakan untuk identifikasi server
(karena biasanya dibuka di router/firewall) – telnet ke port 80 (dibahas di bagian lain)
Keama
Keamanan Snan Sistem istem WWW -WWW - BR -BR - 1212
Membatasi Akses
Membatasi Akses
•• Access Control
Access Control
–
– Hanya IP tertentu yang
Hanya IP tertentu yang dapat mengakses
dapat mengakses
server
server
(konfigurasi web server atau firewall)
(konfigurasi web server atau firewall)
–
– Via userid & password (htaccess)
Via userid & password (htaccess)
–
– Menggunakan enkripsi untuk menyandikan
Menggunakan enkripsi untuk menyandikan
data-data
Keama
Keamanan Snan Sistem istem WWW -WWW - BR -BR - 1313
htaccess di Apache
htaccess di Apache
–– Isi berkasIsi berkas “.htaccess”“.htaccess”
AuthUse
AuthUserFile /rFile /home/buhome/budi/.pasdi/.passmesme AuthGroupFile /dev/null
AuthGroupFile /dev/null AuthName
AuthName ““Khusus untuk Tamu BudiKhusus untuk Tamu Budi”” AuthType Basic
AuthType Basic <Limit
<Limit GET> GET>
require user tamu require user tamu </Limit>
</Limit>
–
– Membatasi aMembatasi akses ke usekses ke user “r “tamutamu” dan password” dan password –
– Menggunakan periMenggunakan perintah “ntah “htpasswdhtpasswd“ untuk membuat“ untuk membuat
password yang disimpan di “.passme” password yang disimpan di “.passme”
Keama
Keamanan Snan Sistem istem WWW -WWW - BR -BR - 1414
Secure Socket Layer (SSL)
Secure Socket Layer (SSL)
•• Menggunakan enkripsi untuk
Menggunakan enkripsi untuk
mengamankan transmisi data
mengamankan transmisi data
•• Mulanya dikembangkan oleh Netscape
Mulanya dikembangkan oleh Netscape
•• Implementasi gratis pun tersedia
Implementasi gratis pun tersedia
–
Keamanan Sistem WWW - BR - 15
Cari info server
• Informasi tentang server digunakan
sebagai bagian dari casing the joint
• Dapat dilakukan dengan
– Memberikan perintah HTTP langsung via
telnet
Keamanan Sistem WWW - BR - 16
Keamanan CGI
• CGI digunakan sebagai interface dengan
sistem informasi lainnya (gopher, WAIS)
• Diimplementasikan dengan berbagai
bahasa (perl, C, C++, python, dll.)
• Skrip CGI dijalankan di server sehingga
membuka potensi lubang keamanan
Keamanan Sistem WWW - BR - 17
Lubang Keamanan CGI
• Beberapa contoh
– CGI dipasang oleh orang yang tidak berhak
– CGI dijalankan berulang-ulang untuk menghabiskan resources (CPU, disk): DoS
– Masalah setuid CGI di sistem UNIX, dimana CGI dijalankan oleh userid web server
– ASP di sistem Windows
– Guestbook abuse dengan informasi sampah – Akses ke database via SQL
Keamanan Sistem WWW - BR - 18
Keamanan Client WWW
• Berhubungan dengan masalah privacy
– Cookies untuk tracking kemana saja browsing – Pengiriman informasi pribadi
• Attack (via active script, javascript, java)
– Pengiriman data-data komputer (program apa yang terpasang, dsb.)
– DoS attack (buka windows banyak) – Penyusupan virus dan trojan horse
Why worry? (cont.)
Security Vulnerabilities vs. Incidents CERT 0 10,000 20,000 30,000 40,000 50,000 60,000 70,000 80,000 90,000 Vulnerabilities Incidents
Pengantar Security
• Keamanan komputer -> fisik
– Dari bencana alam
– Dari pencuri
– Dari serangan / bom
• Keamanan sistem informasi -> non fisik
Komponen Security (CIA-AN)
• Confidentiality: akses terhadap sistem komputer tidakboleh dilakukan oleh unauthorized parties
• Integrity: aset sistem komputer tidak boleh dimodifikasi oleh unauthorized users
• Availability: Sistem harus dapat selalu online/ada sehingga dapat diakses oleh authorized users
Tambahan
• Authenticity: sistem mengetahui asal muasal suatu objek atau asal muasal modifikasi yang terjadi
• Non-repudiation: seseorang/sesuatu tidak dapat menyanggah bahwa dia melakukan sesuatu
Ancaman
• Ancaman (threat) adalah:– Seseorang, sesuatu, kejadian atau ide yang menimbulkan bahaya bagi suatu aset
– Threat muncul dari vulnerability (kelemahan sistem & desain)
• Serangan (attack) adalah realisasi dari threat. • Klasifikasi threats:
– Disengaja (mis. hacker penetration);
– Tidak disengaja (mis. Mengirimkan file yang sensitif ke alamat yang salah)
• Threats yang disengaja dapat dibagi lagi :
– Pasif – tidak kontak langsung (mis. monitoring, wire-tapping,); – Aktif – kontak langsung (mis. mengubah nilai transaksi finansial)
Tujuan Security
• Prevention - Penjagaan
– Prevent attackers from violating security
policy
• Detection - Deteksi
– Detect attackers’ violation of security policy
• Recovery - Mereparasi
– Stop attack, assess and repair damage
– Continue to function correctly even if attack
happen
Segitiga Sistem
Functionality
Security Easy to use
Tahapan penyerangan
• Reconnaissance– Mengumpulkan data mengenai target
• Aktif dan pasif
• Scanning
– Tanda dimulainya serangan, berusaha mencari jalan masuk
• Gaining access
– Mendapatkan target
• Maintaining access
– Mempertahankan akses dgn berbagai cara termasuk menanamkan program dan memperbaiki kelemahan
• Covering tracks
Level Serangan
• Level Sistem Operasi
– Patch & upgrade
• Level aplikasi
– Patch, Antivirus & Upgrade
• Level Shrink Wrap code
– Menggunakan program2 bantu untuk
serangan
Commonly attacked services
• SMTP servers (port 25)– sendmail: “The address parser performs insufficient bounds checking in certain conditions due to a char to int conversion, making it possible for an attacker to take control of the application”
• RPC servers (port 111 & others)
• NetBIOS shares (ports 135, 139, 445)
– Blaster worm – Sasser worm
• FTP servers (ports 20, 21)
– wuftpd vulnerabilities
• SSH servers (port 22)
– OpenSSH, PAM vulnerabilities
• Web servers (ports 80, 443)
Web server attack
Web server attack
•• Scan to find open portsScan to find open ports
•• FiFind ond out ut whwhatat’s ’s rurunnnnining og on on opepen pn pororts ts (b(banannenerr grabbing)
grabbing)
•• Profile the server Profile the server
–
– Windows (look for Kerberos, NetBIOS, AD)Windows (look for Kerberos, NetBIOS, AD) –
– UnixUnix –
– Use TCP fingerprintingUse TCP fingerprinting
•• Probe for weaknesses on interesting portsProbe for weaknesses on interesting ports
–
– Default configuration files and settings Default configuration files and settings (e.g. popular(e.g. popular IIS ones)
IIS ones) –
– Buffer overflowsBuffer overflows –
– Insecure applicationsInsecure applications
•• Launch attackLaunch attack
–
– Use exploit code from Internet…Use exploit code from Internet… –
Scanning…
Scanning…
What O/S is this system?
What O/S is this system?
Scanning…
Scanning…
What O/S is this system?
What O/S is this system?
Peminjaman lewat URL
<IMG SRC=“tempat.yang.dipinjam/gambarku.gif”>
• Gambar / image / berkas tidak dikopi tapi
“dipinjam” melalui hyperlink
• Pemilk berkas dapat dirugikan: bandwidth
terpakai
• Auditing sulit dilakukan pemakai biasa, tanpa
akses ke berkas log (referer)
Kelemahan security pada
aplikasi web
Berikut adalah 10 kelemahan security teratas
pada aplikasi web
Masukan (input) yang tidak tervalidasi
Broken Access Control
Pengelolaan Autentikasi dan Session yang tidak baik
Cross site scripting
Buffer overflows
Injections flaws
Penyimpanan yang tidak aman
Denial of Service
Pengelolaan konfigurasi yang tidak aman
Kelemahan security pada
aplikasi web
Input yang tidak divalidasi
Aplikasi web menerima data dari HTTP request yang
dimasukkan oleh user
Hacker dapat memanipulasi request untuk menyerang
keamanan situs
Hal – hal yang harus diperhatikan ketika mengelola validasi:
Tidak cukup hanya bergantung pada script client side
yang biasa digunakan untuk mencegah masukan form ketika ada input yang invalid
Penggunaan kode validasi untuk memeriksa masukan
Kelemahan security pada
aplikasi web
Broken Access Control
Pada aplikasi yang membedakan akses dengan
menggunakan perbedaan ID, hanya menggunakan satu halaman untuk memeriksa user.
Jika user berhasil melewati halaman login, maka dia
bebas melakukan apa saja
Permasalahan lain adalah:
• ID yang tidak aman
ID bisa ditebak
• Ijin file
Kelemahan security pada
aplikasi web
Pengelolaan Autentikasi dan Session yang tidak baik
Beberapa hal yang harus diperhatikan:
• Password strength
• Penggunaan password
• Penyimpanan password
Kelemahan security pada
aplikasi web
Buffer Overflows
Pengiriman request yang dapat membuat
server menjalankan kode kode yang tidak
biasa
Kelemahan security pada
aplikasi web
Injection Flaws
Penyerang mengirimkan “inject” calls ke OS atau
resource lain, seperti database
Kelemahan security pada
aplikasi web
•
Keamanan server juga menjadi hal penting
dalam hal keamanan aplikasi web
Berikut adalah beberapa kesalahan konfigurasi
pada server :
Lubang keamanan yang tidak ditambal
(patched)
Ijin file dan direktori yang tidak baik
Command Injection
• Allows attacker to relay malicious code in formvariables or URL
– System commands – SQL
– Interpreted code (Perl, Python, etc.)
• Many apps use calls to external programs
– sendmail
• Examples
– Path traversal: “../”
– Add more commands: “; rm –r *” – SQL injection: “’ OR 1=1”
• Countermeasures
– Taint all input
– Avoid system calls (use libraries instead) – Run with limited privileges
Error Handling
• Examples: stack traces, DB dumps
• Helps attacker know how to target the app • Inconsistencies can be revealing too
– “File not found” vs. “Access denied”
• Fail-open errors
• Need to give enough info to user w/o giving too much info to attacker
• Countermeasures
– Code review
Poor Cryptography
• Insecure storage of credit cards, passwords, etc.
• Poor choice of algorithm (or invent your own)
• Poor randomness
– Session IDs – Tokens
– Cookies
• Improper storage in memory
• Countermeasures
– Store only what you must
– Store a hash instead of the full value (SHA-1) – Use only vetted, public cryptography
Web/App Server Misconfiguration
• Tension between “work out of the box” and “use only what you need” • Developers ≠ web masters
• Examples
– Unpatched security flaws (BID example)
– Misconfigurations that allow directory traversal
– Administrative services accessible – Default accounts/passwords
• Countermeasures
– Create and use hardening guides – Turn off all unused services
– Set up and audit roles, permissions, and accounts
Web vulnerabilities
• Intercept informasi dari klien
– Data, password, dll• Pencurian data di server
– Data, password, dll• Menjalankan aplikasi di server
– Memungkinkan melakukan eksekusi program “ngak benar” di server
• Denial Of Services
• Server Side Scripting, Cgi-Bin
Three opportunities for theft:
• on server by other registered users
• into server using HTTP
Kemanan Web
• Authentikasi
– FORM HTML – Basic, Digest
– Klien Side + Server Side Scripting
• Manajemen Sesi
• Menggunakan Layer lain
– S-HTTP ( discontinoued) – HTTPS ( HTTP ovel SSL) – IPSec
• Konfigurasi Web Server
– Hak Akses – Indexes
HTTP Authentication
• Protect web content from those who don’t have a “need to know” • Require users to authenticate using a userid/password before they
are allowed access to certain URLs
• HTTP/1.1 requires that when a user makes a request for a protected resource the server responds with a authentication request header
– WWW-Authenticate
• contains enough pertinent information to carry out a “challenge -response” session between the user and the server
Web Server
Client
Client requests a protected resource
Server responds with a 401 (not authorized and a challenge request for the client to authenticate
Authentikasi
• FORM HTML
– <form action="modules.php?name=Your_Account" method="post">... – <br><input type="hidden" name="op" value="login"> ...
– </form> – Tidak di enkripsi • BASIC – Algortima Base64 – Mudah di Dekrip • DIGEST
– Alghoritma Digest Ex: MD5 – Belum 100% di support
• CS + SS Script
– Belum 100% di support
– http://toast.newcastle.edu.au/js/md5/browsertest.p
WWW-Authenticate
• Digest Authentication
– attempts to overcome the shortcomings of Basic Authentication – WWW- Authenticate = Digest realm=“defaultRealm” nonce=“Server
SpecificString”
– see RFC 2069 for description of nonce, each nonce is different
– the nonce is used in the browser in a 1-way function (MD5, SHA-1….) to encode the userid and password for the server, this function essentially makes the password good for only one time
• Common browsers don’t use Digest Authentication but an applet could as an applet has access to all of the Java Encryption classes needed to create the creation of a Digest.
Manajemen Sesi
• Hiden Form Field
– <input type="hidden" name="uniqueticket"
– View page Source
• Cookies
– User harus mennghidupkan fasilitas – Poisoned cookies
• Session Id
– -rw--- 1 nobody nobody 180 Jun 30 18:46
sess_5cbdcb16f ...
– Dapat meng g unakan His tory jik a umur s esi belum habis
• URL Rewriting
– http://login.yahoo.com/config/login?.tries=&.src=y
SSL
• Untuk Semua Protokol TCP
– Telnet -> SSH – HTTP -> HTTPS
• Public Key Server • Hashing
– MD5 + SHA
• CA
Certificate
Untuk mengkonfigurasi server,
diperlukan sertifikat keamanan (security
certificate)
Security Certificate dikeluarkan oleh
Certification Authorities (CAs)
Jika tidak ada sertifikat dari CAs, bisa dibuat
Langkah-langkah untuk menaikkan
tingkat keamanan browser
• Selalu mengupdate web browser menggunakan
patch terbaru
• Mencegah virus
• Menggunakan situs yang aman untuk transaksi
finansial dan sensitif
• Menggunakan secure proxy
• Mengamankan lingkungan jaringan
• Tidak menggunakan informasi pribadi
General Recommendations
• Hati-hati ketika merubah konfigurasi browser
• Jangan membuat konfigurasi yang mendukung scripts dan macros
• Jangan langsung menjalankan program yang anda download dari i nternet • Browsing ke situs-situs yang aman
– Mengurangi kemungkinan adanya malcode dan spyware
• Konfigurasi home pae harus hati-hati
– Lebih baik gunakan blank.
• Jangan mempercayai setiap links (periksa dulu arah tujuan link itu) • Jangan selalu mengikuti link yang diberitahukan lewat e-mail
• Jangan browsing dari sistem yang mengandung data sensitif
• Lindungi informasi anda kalau bisa jangan gunakan informasi pribadi pada web • Gunakan stronger encryption
– Pilih 128-bit encryption
• Gunakan browser yang jarang digunakan
– Serangan banyak dilakukan pada web browser yang populer
• Minimalkan penggunaan plugins • Minimalkan penggunaan cookies
Tools used in this preso
• WebGoat –vulnerable web applications for
demonstration
• VMWare – runs Linux & Windows 2000 virtual
machines on demo laptop.
• nmap –host/port scanning to find vulnerable
hosts
• Ethereal – network traffic sniffing
• Metasploit Framework – exploit tool
• Brutus – password cracking
Attack
• Serangan (Attack) adalah upaya untuk mengeksploitasi kelemahan sistem. Mengakibatkan gangguan yang
berkaitan dengan Confidentiality, Integrity dan Availability.
• Serangan terhadap confidentiality misalnya upaya untuk mengetahui data rahasia seseorang dengan menyadap (sniffing) percakapan pada jaringan.
• Serangan terhadap Integrity misalnya upaya untuk memalsukan pesan dari atasan ke bawahan.
• Serangan terhadap Availability misalnya upaya untuk membuat sistem mati.
Attack
• Dua tipe serangan, Aktif dan Pasif.• Serangan Aktif merupakan serangan yang
menyebabkan akibat aktif dan memiliki efek yang terlihat nyata. Contoh: membuat sistem mati (down)
• Serangan Pasif merupakan serangan yang diam-diam, tidak terdapat aktivitas atau akibat yang kasat mata. Contoh serangan pasif adalah penyadapan (sniffing). • Serangan Pasif lebih sulit untuk dideteksi.
• Serangan Aktif lebih mudah dideteksi. Tetapi saat terdeteksi biasanya akibatnya sudah fatal.
Fase-fase serangan terhadap
keamanan
• Phase 1: Reconaissance
• Phase 2: Scanning
• Phase 3: Gaining Access Using
Application & OS Attack
Fase-fase serangan serangan
2)
1. Reconnaissance
• Finding as much information about the
target as possible before launching the
first attack packet
• Reconnaissance techniques
– Low tech methods
– General web searches
– Whois databases
– DNS
Low-Technology Reconnaissance
• Social Engineering
• Physical Break-In
• Dumpster Diving
Reconnaissance via Searching the Web
• Searching an organization’s own web site
• Using search engines
• Listen in at the virtual watering hole: USENET
Searching an Organization’s Own Web Site
• Employees’ contact information and phone
numbers
• Clues about the corporate culture and language
• Business partners
• Recent mergers and acquisitions
• Server and application platforms in use
Whois Databases
• Contain information regarding assignment of Internet addresses, domain names, and individual contacts
• Internet Corporation for Assigned Names and Numbers (ICANN)
• InterNIC’s whois database available at www.internic.net/whois.html
• Whois database for organizations outside the United States available at ALLwhois web site
• Whois database for U.S. military organizations available at whois.nic.mil
• Whois database for U.S. government agencies available at whois.nic.gov
• Network Solutions whois database
2. Scanning
After the reconnaissance phase, the attacker is
armed with some vital information about the target
infrastructure: a handful of telephone numbers,
domain names, IP addresses, and technical
contact information—a very good starting point.
Most attackers then use this knowledge to scan
target systems looking for openings. This scanning
phase is akin to a burglar turning doorknobs and
trying to open windows to find a way into a victim's
house.
Vulnerability Scanning Tools
Network Mapping
• Finding live hosts
– ICMP pings
– TCP/UDP packets
Traceroute
• Traceroute utility on most Unix platforms
sends out UDP packets with incremental
TTL values to trigger ICMP Time
Exceeded messages
• Tracert utility on Microsoft platform sends
out ICMP packets with incremental TTL
values to trigger ICMP Time Exceeded
replies
Traceroute
Traceroute
Cheops
• A nifty network mapper tool
• Available at http://www.marko.net/cheops
• Runs on Linux
• Generates network topology by using ping
sweeps and traceroute
• Supports remote operating system
identification using TCP Stack
Defenses against Network Mapping
• Block incoming ICMP messages at
Internet gateway to make ping ineffective
• Filter ICMP Time Exceeded messages
leaving your network to make traceroute
ineffective
Port Scanning
• Used to find open ports
• Free port scanning tools
– Nmap available at www.insecure.org/Nmap
– Strobe at
http://packetstorm.securify.com/UNIX/scanner
s
– Ultrascan for NT available at
http://packetstorm.securify.com/Unix/scanners
Nmap
• Full-featured port scanning tool
• Unix version available at
http://www.insecure.org/Nmap
• Windows NT version available at
http://www.eeye.com/html/Databases/Soft
ware/Nmapnt.html
Scan Types supported by
Nmap
• TCP Connect (-sT)
– Attempts to completes 3-way handshake with each scanned port
– Sends SYN and waits for ACK before sending ACK – Tears down connection using FIN packets
– If target port is closed, sender will received either no
response, a RESET packet , or an ICMP Port Unreachable packet.
Defenses against Port Scanning
• Unix systems
– remove all unneeded services in /etc/inetd.conf – Remove unneeded services in /etc/rc*.d
• Windows systems
– uninstall unneeded services or shut them off in the services control panel
• Scan your own systems before the attackers do
• Use stateful packet filter or proxy-based firewall
– blocks ACK scans
– Blocks FTP data source port scans
3. Gaining Access
3.1 Gaining Access using OS and Application Attacks At this stage of the siege, the attacker has finished
scanning the target network, developing an inventory of target systems and potential vulnerabilities on those
machines. Next, the attacker wants to gain access on the target systems. The particular approach to gaining access depends heavily on the skill level of the attacker, with
simple script kiddies trolling for exploits and more
sophisticated attackers using highly pragmatic approaches.
Password Guessing Attacks
• Users often choose passwords that are
easy to remember, but are also easily
guessed
• default passwords used by vendors left
unchanged
• Database of vendor default passwords
http://security.nerdnet.com
Password Guessing through
Login Scripting
• THC-Login Hacker tool http://thc.inferno.tusculum.edu • Authforce http://kapheine.hypa.net/authforce/index.php • brute_ssl and brute_web
http://packetstrom.security.com/Exploit_Code_archive/brute_ssl.c http://packetstrom.security.com/Exploit_Code_archive/brute_web.c • Windows NT password guessing
http://packetstorm.securify.com/NT/audit/nt.remotely.crack.nt.passwords.zip • Xavier http://www.btinernet.com/~lithiumsoft/
• Guessing email passwords using POP3 protocol: Hypnopaedia http://packetstorm.securify.com/Crackers/hypno.zip
Password Cracking
• More sophisticated and faster than
password guessing through login script
• Requires access to a file containing user
names and encrypted passwords
• Dictionary attacks
• Brute force attacks
• Hybrid dictionary and brute force attacks
Password Cracking Tools
• L0phtCrack, a Windows NT/2000 password cracker
http://www.l0pht.com/l0phtcrack
• John the Ripper, a Unix password cracker
http://www.openwall.com/john
• Crack, a Unix password cracker
http://www.users.diron.co.uk/~crypto/
• Pandora, a password cracker for Novell
http://www.nmrc.org/pandora
• PalmCrack, a Windows NT and Unix password
cracker that runs on the Palm OS PDA platform
http://www.noncon.org/noncon/download.html
Web Application Attacks
• Can be conducted even if the Web server uses Secure Sockets Layer (SSL)
– SSL used to authenticate the Web server to the browser – SSL used to prevent an attacker from intercepting traffic – SSL can be used to authenticate the client with client-side
certificates
• Web attacks can occur over SSL-encrypted connection
– Account harvesting
– Undermining session tracking – SQL Piggybacking