下载地址
http://hackingdojo.com/downloads/iso/De-ICE_S1.130.iso
实战演练
原文再续,书接上文s1.100的系统
任务信息
寻找用户信息
信息收集
netdiscover发现IP是192.168.1.20
FTP没有信息
web的话找到一个用户名,试试用来爆破一下ssh
我尝试爆破这个账号的ssh密码,发现爆破不了
telnet smtp服务器看看,其实找到用户名可以根据社会工程学去分析密码
邮箱:[email protected] 手机号:1-337-133-7133 那么我们可以将这个拆分为 customer service admin c s administrator 然后将这些组合在一起,就找到了一个用户csadmin
爆破cadmin这个账号成功
使用这个账号进行登录
很多账号,csadmin只是普通的账号,我们看看还有没有东西
找到一个加密文件,但是加密失败
邮件
从邮件我们可以注意到几个点,儿子的名字叫”Donovin“,邮件发送的时间,儿子的出生时间2010-12=1998,可以推测大概的密码字典
Donovin donovin 2010 1998 12 Donovindonovin Donovin2010 Donovin1998 Donovin12 donovindonovin donovin2010 donovin1998 donovin12 2010donovin 1998donovin 12donovin donovin201012 donovin20101998 donovin122010 donovin199812
爆破一下
登录
继续找信息
猜测dbadmin的密码是databaser,但是不行
但是按照上面那个思路,他的密码都是字母+数字,我们试一下加上数字
爆破
还是权限不够,继续找信息
邮件
在这封邮件里面我们看到内容加密了,使用string命令
还记得我们用过三个账号不断发现邮件吗?他们有三个部分,现在将他们三个部分组合在一起看看会有什么东西
dbadmin
csadmin
sdadmin
将这些代码组合在一起
public class Decoder { // PART 1 int[] processLoop(String input){ int strL=input.length(); int lChar=(int)input.charAt(strL-1); int fChar=(int)input.charAt(0); int[] encArr = new int[strL+2]; for(int i=1;i < strL+1;i++){ encArr[i]=(int)input.charAt(i-1);} encArr[0]=(int)lChar; encArr[encArr.length-1]=(int)fChar; encArr=backLoop(encArr); encArr=loopBack(encArr); encArr=loopProcess(encArr); int j=encArr.length-1; for(int i=0;i < encArr.length;i++){ if(i==j) break; int t=encArr[i]; encArr[i]=encArr[j]; encArr[j]=t;j--;} return encArr;} /* * Note the pseudocode will be implemented with the * root account and my account, we still need to implement it with the csadmin, sdadmin, * and dbadmin accounts though */ // PART 2 int[] backLoop(int[] input){ int ref=input.length; int a=input[1]; int b=input[ref-1]; int check=(a+b)/2; for(int i=0;i < ref;i++){ if(i%2==0) input[i]=(input[i]%check)+(ref+i); else input[i]=(input[i]+ref+i);} return input;} int[] loopProcess(int[] input){ for(int i=0;i < input.length;i++){ if(input[i]==40||input[i]==41) input[i]+=input.length; else if(input[i]==45) input[i]+=20+i;} return input;} // PART 3 int[] loopBack(int[] input){ int ref=input.length/2; int[] encNew =new int[input.length+ref]; int ch=0; for(int i=(ref/2);i < input.length;i++){ encNew[i]=input[ch]; ch++;} for(int i=0;i < encNew.length;i++){ if(encNew[i]<=33) encNew[i]=33+(++ref*2); else if(encNew[i] >= 126) encNew[i]=126-(--ref*2); else{ if(i%2==0) encNew[i]-=(i%3); else encNew[i]+=(i%2);}} return encNew;} public static void main(String[] args) { Decoder d = new Decoder(); int[] c = d.processLoop(args[0]); for (int i = 0; i < c.length; i++) System.out.print((char)c[i]); } }
解密到root密码
登录到root账号,获取信息
来源:freebuf.com 2019-03-01 12:56:42 by: 陌度
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
请登录后发表评论
注册