Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
User Enumeration in | Hacking
03-03-2012, 04:43 PM, (This post was last modified: 03-03-2012, 05:19 PM by Codeshift3r.)
Post: #1
User Enumeration in | Hacking
User Enumeration in | Hacking

Asalamualaikum dan salam sejahtera,
oleh kerana bila aku tengok balik post2 aku yg lepas
banyak yang merapu dan tak berfaedah Lulz maka aku rasa
bertanggungjawab untuk sumbang benda yang lebih
bermanfaat dan berguna kpd semua

here we go

Konsep User Enumeration

User Enumeration adalah proses penting dalam
information gathering bagi mendapatkan maklumat
contohnya,kalau kita guna username yang salah masa
login kat sesebuah website,kita mungkin akan dapat
error macam "The username provided is invalid"
dari sini kita dapat tahu yang username tadi x ada dalam database.
contoh lain,kalu kita pakai username yang betul tapi password
pulak salah,mungkin akan dapat error macam nih :
"Wrong password!" jadi kita tahu yang username tadi betul,
tapi password yang digunakan adalah salah.

tapi mungkin tak semua website gunakan jenis error yang sama,
contohnya,kalau username --> betul | password ---> salah
error yang kita dapat adalah "Authentication failed"
tapi kalau username ---> salah | password ---> salah/betul
error msg yg kt dapat adalah : "No configuration found."

jadi kena pandai sesuaikan/kenalpasti maksud disebalik
jenis error yang dikeluarkan

Cara menentukan user enumeration

1.Login page/register page/lost password page (macam kat atas)
2.URL probing
3.Analisis URL

Url Probing

Contoh 1 :
www.myarticles.com/author/alipudin

dalam website nih,diorang peruntukkan 1 directory untuk setiap author,
jadi kita tahu alipudin[b] adalah salah seorang author dalam website tuh.dan
ada kemungkinan besar username [b]"alipudin"
boleh digunapakai
dalam sistem login dalam website tersebut.Ada juga kemungkinan
username tuh boleh dipakai untuk sistem lain contohnya, ftp dan
guestbook (dalam website yg sama)

contoh sebenar :

http://del.icio.us/alipudin
http://facebook.com/ali.pudin

Contoh 2 :
www.lesquerade.com/users/johnburung

bila kita request page nih,mungkin kita akan dapat 403 : Forbidden ,
302 : Redirection atau 200 : Pages found error
jadi kita tahu yang directory /johnburung tu wujud dan mungkin
boleh digunakan sebagai username.

Analisis URL

sesetengah website guna get method dalam url untuk handle sesuatu
function macam error

h**p://hushgoogle.com/login.php&user=joyahsec&auth=0&error=1

kalau username+pass = betul auth=1&error=0 (1=true 0=false)

jadi maknanya kita tak dapat sebarang error dan kita dapat authentication

------------------------------------------------------------------------------------

value error pon boleh menentukan jenis error yang kita dapat

&user=joyahsec&auth=0&error=1

perhatikan jenis error yang kita dapat bila &error=1

contoh :

&error=1 -----> "Sorry the username you entered is invalid"
&error=2 -----> "Authentication Failed.Invalid password"
&error=3 -----> "Already logged in"

------------------------------------------------------------------------------------

Bagaimana nak exploit/guna User enumeration

Tujuan utama user enumeration adalah untuk mengumpulkan maklumat
tentang username/password yang terkandung dalam db sesuatu
laman web.Ada kemungkinan besar username nih boleh digunakan dalam
sistem login yang lain dalam website tuh (ftp,guestbook,cpanel).
jadi kita boleh buat serangan bruteforce dan sebagainya.

script python ni akan memudahkan pencarian username bagi
website yang bleh buat user enumeration

[Image: nXt04.png]

Code:
#!/usr/bin/python
# -*- coding: utf-8 -*-
#Author : Codeshift3r
#Hostbrinkster[at]gmail.com
#Description :
#This script try to search for possible
#user enumeration to exploit
#using a bruteforce method
#============================
#This script is just a tweak
#from my older script
#http://w3.tbd.my/thread-11212.html
#Using wordlist is much more cooler!

import sys, os, time, httplib

def clearfunc():
    if os.name == "linux2" or os.name == "posix":
        clsvar = "clear"
    else:
        clsvar = "cls"
    os.system(clsvar)
    os.system("color a")
clearfunc()

def printintro():
    print "+----------------------------------------+"
    print "|       User Enumeration Scanner         |"
    print "+------------------------------.   V1.0  |"
    print " Powered by Codeshift3r | 2012 `---------+"

if len(sys.argv) != 3:
    clearfunc()
    printintro()
    sys.exit(" Usage : scan.py www.site.com wordlist.txt")
site = sys.argv[1]
wordlst = sys.argv[2]
website = sys.argv[1].replace("http://","").rsplit("/",1)[0]
website = website.lower()
printintro()

print "\n"
print "[!] Target :", website
print "[!] Wordlist :", wordlst

words = open(wordlst)
for line in words:
    trying = line
    line = line.replace("\n","")
    line = "/~" + line
    connection = httplib.HTTPConnection(website)
    connection.request("GET",line)
    response = connection.getresponse()
    if response.status == 200 or response.status == 403:
        print "\n"
        print line, "==> ", response.status, response.reason

Cara paling mudah nak tentukan samada kita boleh kumpulkan maklumat melalui
user enumeration adalah dengan tambah "~root" pada akhir URL website target

http://www.website.com/~root

kalau dapat "403 : Forbidden" maknanya kita boleh guna user enumeration utk cari info

Kadang2 ada website yang create user account tak mengikut username (REALM alias)
contohnya : user001, user002, user01, user02, user1, user2 dan sebagainya

Cara lain mengumpul maklumat

korang boleh kumpulkan maklumat yg lebih dengan cara whois,ping,banner grabbing,header grabbing
dll.korang boleh jugak buat jumping (kalo korang ader shell kat website yang same server dengan website mangsa)
untuk melihat root dir dan subdomain dalam server tuh.mungkin dari situ korang akan dapat banyak maklumat.

Google

guna google dork untuk cari subdomain yang berkaitan dengan website mangsa

site:www.website.com
site:www.website.com inurl:.website.com

boleh jugak google email admin untuk mengumpulkan maklumat tentang admin

intext:webmaster@lelong.in | webmaster@lelong.in

boleh jugak kalu nak google database yang dah kene dump.
mungkin dalam db tu ader email dan password admin website tersebut


intext:webmaster@gmail.com filetype:txt
intext:webmaster@gmail.com filetype:sql
intext:webmaster@gmail.com filetype:htaccess

berberapa teori :

Step 1 Step 2 Step 3
User Enumeration (dapat username) ------> ftp bruteforce ------> upload shell

Step 1 (google,jumping,whois,telnet,traceroute)
Step 2 (guna ftp bruteforce script/tool + wordlist/custom wordlist)
Step 3 (profit!)

Penutup

ada banyak lagi cara nak kumpulkan maklumat tentang website mangsa.cuma perlu
lebih banyak buat kajian dan bergantung kepada attacker tu sendiri.Sebab user enumeration
cuma sebahagian dari method untuk kumpulkan info dan bukan sejenis kelemahan/vuln
yang kritikal dalam sesuatu sistem.

babai Smile

-----#EOF-----
  ▲  ʙᴇ ɴɪᴄᴇ ᴛᴏ ᴏᴛʜᴇʀs
▲ ▲ ( ⌣́,   ⌣̀ )\(^◡^ )[Image: ?r=OrangeCoral]

Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  [TUT] Pentest/Hacking Windows ??? fatah 1 1,119 23-06-2013, 03:53 PM
Last Post: ell
  [M1lw0rm] - hacking & security 127001 29 9,856 20-08-2012, 03:55 PM
Last Post: sykess
  [SRC]Friendster Hacking Using XSS (XSS Bug Fixed) fatah 5 1,511 17-03-2010, 05:17 PM
Last Post: mrlock
Bug PhP-Nuke user.php SQL Injection Tron 0 715 06-03-2010, 12:16 PM
Last Post: Tron

Forum Jump: